Como solucionar falhas na função do Lambda em um fluxo de contatos do Amazon Connect?

4 minuto de leitura
0

Quero saber por que minha função do AWS Lambda não é invocada quando meu fluxo de contatos tenta invocar a função no Amazon Connect.

Resolução

Verifique se a política baseada em recursos da sua função do Lambda concede permissão ao Amazon Connect para invocar a função

1.    Se você ainda não tiver feito isso, ative o log de fluxo de contatos para sua instância do Amazon Connect.

2.    Pesquise seus logs de fluxo de contatos em mensagens de erro AccessDeniedException. O erro é exibido quando a política baseada em recursos do AWS Identity and Access Management (IAM) da sua função não concede permissão ao Amazon Connect para invocar a função.

Observação: você também pode revisar manualmente a política baseada em recursos da função para ver se ela inclui as permissões necessárias. Para obter mais informações, consulte Uso de políticas baseadas em recursos para o AWS Lambda.

Para adicionar as permissões necessárias

Execute o comando add-permission da AWS CLI. Inclua a entidade connect.amazonaws.com e o Amazon Resource Name (ARN) da sua instância do Amazon Connect Instance.

Observação: se você receber erros ao executar comandos da AWS Command Line Interface (AWS CLI), certifique-se de que está usando a versão mais recente da AWS CLI.

Para obter mais informações, consulte Criação de uma função do Lambda no guia do administrador do Amazon Connect. Além disso, conceda acesso à função aos serviços da AWS no guia do desenvolvedor do Lambda.

Exemplo de política baseada em recursos para uma função do Lambda que concede permissão ao Amazon Connect para invocar a função

**Importante:**substitua pelo ARN da sua função. Substitua pelo ARN da sua instância do Amazon Connect Instance.

{
  "Version": "2012-10-17",
  "Id": "default",
  "Statement": [
    {
      "Sid": "100",
      "Effect": "Allow",
      "Principal": {
        "Service": "connect.amazonaws.com"
      },
      "Action": "lambda:InvokeFunction",
      "Resource": "<Qualified AWS Lambda ARN>",
      "Condition": {
        "ArnLike": {
          "AWS:SourceArn": "<Amazon Connect ARN>"
        }
      }
    }
  ]
}

Verifique a resposta da função do Lambda

Siga as instruções em Verificar a resposta da função no guia do administrador do Amazon Connect. Ao testar a saída retornada da função do Lambda, verifique o seguinte:

  • A saída é um objeto simples de pares de valores-chave.
  • Os pares chave-valor incluem apenas caracteres alfanuméricos, traço e sublinhado.
  • O objeto não está aninhado e nem é complexo.
  • O tamanho dos dados retornados é inferior a 32 KB de dados UTF-8.

Verifique se a configuração “tempo limite” para sua função do Lambda está definida o suficiente para permitir que sua função invoque

Se sua função não invocar dentro da configuração de tempo limite definida, o contato roteará a ramificação Erro do Invocar função do AWS Lambda. A configuração padrão de tempo limite é de três segundos. A configuração máxima de tempo limite é de oito segundos.

Para ver quanto tempo sua função leva para invocar, revise as métricas de duração da sua função no Amazon CloudWatch.

Para revisar e editar a configuração de tempo limite na sua função do Lambda, consulte o Bloco de contato: Invocar a função do AWS Lambda.

Observação: Para incluir no seu fluxo de contatos as funções do Lambda que demoram mais de oito segundos para serem invocadas, use as funções assíncronas do Lambda com o Amazon Connect.

Se você estiver invocando várias funções do Lambda, certifique-se de que a duração da sequência de funções é inferior a 20 segundos

O Amazon Connect limita a duração de uma sequência de funções do Lambda a 20 segundos.

Para obter mais informações, consulte a seção Lambda das Práticas recomendadas para o Amazon Connect no Guia do administrador do Amazon Connect.

Identifique e resolva quaisquer outros erros que estejam causando a falha de sua função

Siga as instruções em Como solucionar falhas na função do Lambda?


Informações relacionadas

Invocação de um alias de função do AWS Lambda a partir do Amazon Connect

AWS OFICIAL
AWS OFICIALAtualizada há um ano