Invocar funções do Lambda - Amazon Connect

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Invocar funções do Lambda

Etapa 1: criar uma função do Lambda

Durante a execução da campanha, as campanhas externas invocarão sua função Lambda com um lote de perfis e esperam uma resposta contendo resultados para cada um.

Solicitar carga

Quando sua função Lambda for invocada, ela receberá uma carga JSON com a seguinte estrutura:

Estrutura da carga útil

{ "InvocationMetadata": { "CampaignContext": { "CampaignId": "string", "RunId": "string", "ActionId": "string", "CampaignName": "string" } }, "Items": { "CustomerProfiles": [ { "ProfileId": "string", "CustomerData": "string", "IdempotencyToken": "string" } ] } }

Descrições de campo

InvocationMetadata
  • CampaignContext: contém metadados sobre a execução da campanha

  • CampaignId: Identificador exclusivo para a campanha

  • RunId: identificador exclusivo para essa campanha específica veiculada

  • ActionId: O identificador da ação de fluxo que está sendo executada por campanhas externas

  • CampaignName: Nome legível por humanos da campanha

Itens
  • CustomerProfiles: Conjunto de perfis de clientes para processar (agrupados para maior eficiência)

  • ProfileId: Identificador exclusivo para o perfil do cliente

  • CustomerData: string JSON do perfil do cliente

  • IdempotencyToken: token exclusivo para essa invocação específica para garantir um processamento idempotente

Exemplo de carga útil de solicitação

{ "InvocationMetadata": { "CampaignContext": { "CampaignId": "campaign-12345", "RunId": "run-67890", "ActionId": "activity-abc123", "CampaignName": "Welcome Campaign" } }, "Items": { "CustomerProfiles": [ { "ProfileId": "customer-001", "CustomerData": "{\"firstName\":\"John\",\"lastName\":\"Doe\",\"email\":\"john.doe@example.com\"}", "IdempotencyToken": "token-xyz789" }, { "ProfileId": "customer-002", "CustomerData": "{\"firstName\":\"Jane\",\"lastName\":\"Smith\",\"email\":\"jane.smith@example.com\"}", "IdempotencyToken": "token-abc456" } ] } }

Carga útil de resposta esperada

Sua função Lambda deve retornar uma resposta JSON com a seguinte estrutura:

Estrutura de resposta

{ "Items": { "CustomerProfiles": [ { "Id": "string", "ResultData": {} } ] } }

Descrições de campo

Itens
  • CustomerProfiles: matriz de resultados correspondente a cada perfil de cliente na solicitação

  • ID: deve corresponder ao ProfileId da solicitação

  • ResultData: objeto JSON personalizado contendo seus resultados de processamento (opcional)

Exemplo de carga útil de resposta

{ "Items": { "CustomerProfiles": [ { "Id": "customer-001", "ResultData": { "recommendedProduct": "Premium Plan", "score": 85, "nextAction": "send_email" } }, { "Id": "customer-002", "ResultData": { "error": "Invalid customer data", "errorCode": "VALIDATION_ERROR" } } ] } }

Restrições importantes

Limites de tamanho de carga

  • Tamanho máximo da carga útil de resposta: 32 KB por perfil de cliente

  • Se você ResultData exceder esse limite, a invocação será marcada como inválida

Requisitos de resposta

  • Você deve fornecer uma resposta para cada item ProfileId incluído na solicitação

  • As respostas ausentes serão tratadas como erros

  • O Id campo na resposta deve corresponder exatamente ao ProfileId da solicitação

Tratamento de erros

  • Se sua função Lambda gerar uma exceção, todos os perfis no lote serão marcados como falhados

  • Inclua detalhes do erro ResultData para fins de depuração

Tipo de invocação

  • Tipo de invocação: REQUEST_RESPONSE (síncrono)

  • Sua função deve retornar os resultados em 30 segundos, em vez de ser processada de forma assíncrona. Respostas que demoram mais de 30 segundos resultarão em falha na ação

Etapa 2: conceder às campanhas externas acesso à sua função Lambda

  1. Abra o console do Amazon Connect em https://console.aws.amazon.com/connect/.

  2. Na página Instâncias, escolha o nome da instância na coluna Alias da instância. Esse nome da instância aparece no URL que você usa para acessar o Amazon Connect.

  3. No painel de navegação, em Canais e comunicações, escolha Campanhas externas.

  4. Na seção Configurar ações personalizadas, use a caixa suspensa Funções do Lambda para selecionar a função a ser adicionada à sua instância de campanhas externas.

  5. Escolha Adicionar função do Lambda. Confirme se o ARN da função é adicionado em Lambda Functions (Funções Lambda).

Etapa 3: invocar um Lambda a partir de uma campanha

  1. Abra ou crie um fluxo do Journey.

  2. Adicione um bloco de ação personalizado (no grupo Integrar) à grade. Conecte as ramificações ao bloco e vice-versa.

  3. Escolha o título do bloco de ação personalizada para abrir sua página de propriedades.

  4. Em ARN da função, escolha na lista de funções que você adicionou à sua instância de campanhas externas.

Etapa 4: Consumir a resposta da função Lambda

Acessar variáveis diretamente

Para acessar essas variáveis diretamente em um bloco de fluxo, adicione o bloco após o bloco de ação personalizada e, em seguida, faça referência aos atributos conforme mostrado no exemplo a seguir:

RecommendedProduct - $.LambdaInvocation.ResultData.recommendedProduct Score - $.LambdaInvocation.ResultData.score

Certifique-se de que o nome especificado para o atributo de origem corresponda ao nome da chave ResultData retornada do Lambda.