Comment résoudre les problèmes liés aux échecs de la fonction Lambda dans un flux de contact Amazon Connect ?

Lecture de 4 minute(s)
0

Je souhaite savoir pourquoi ma fonction AWS Lambda ne parvient pas à être invoquée lorsque mon flux de contacts essaie d'appeler la fonction dans Amazon Connect.

Résolution

Vérifiez que la politique basée sur les ressources de votre fonction Lambda accorde à Amazon Connect l'autorisation d'appeler la fonction

1.    Si ce n'est pas déjà fait, activez la journalisation des flux de contacts pour votre instance Amazon Connect.

2.    Recherchez tous les messages d'erreur AccessDeniedException dans vos journaux de flux de contacts. Cette erreur s'affiche lorsque la politique basée sur les ressources AWS Identity and Access Management (IAM) de votre fonction n'accorde pas à Amazon Connect l'autorisation d'appeler la fonction.

Remarque : vous pouvez également consulter manuellement la politique basée sur les ressources de votre fonction pour voir si elle inclut les autorisations requises. Pour plus d'informations, veuillez consulter la rubrique Using resource-based policies for AWS Lambda (Utilisation de stratégies basées sur les ressources pour AWS Lambda).

Pour ajouter les autorisations requises

Exécutez la commande add-permission d'AWS CLI. Incluez le mandataire connect.amazonaws.com et l'Amazon Resource Name (ARN) de votre instance Amazon Connect.

Remarque : si vous recevez des erreurs lors de l'exécution des commandes de l'interface de la ligne de commande AWS (AWS CLI), assurez-vous que vous utilisez la version la plus récente d'AWS CLI.

Pour plus d'informations, consultez la section Créer une fonction Lambda dans le guide de l'administrateur Amazon Connect. Vous pouvez aussi lire la partie Accorder l'accès aux fonctions aux services AWS dans le guide du développeur Lambda.

Exemple de politique basée sur les ressources pour une fonction Lambda qui accorde à Amazon Connect l'autorisation d'appeler la fonction

Important : remplacez-le par l'ARN de votre fonction. Remplacez par l'ARN de votre instance Amazon Connect.

{
  "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>"
        }
      }
    }
  ]
}

Vérifiez la réponse de votre fonction Lambda

Suivez les instructions de la section Vérifier la réponse de la fonction du guide de l'administrateur Amazon Connect. Lorsque vous testez la sortie renvoyée par votre fonction Lambda, vérifiez les éléments suivants :

  • La sortie est un objet plat de paires clé-valeur.
  • Les paires clé-valeur comprennent uniquement des caractères alphanumériques, tirets et tirets de soulignement.
  • L'objet n'est ni imbriqué ni complexe.
  • La taille des données renvoyées est inférieure à 32 Ko de données UTF-8.

Vérifiez que le paramètre « Timeout » (Délai d'attente) de votre fonction Lambda accorde une durée suffisamment longue pour permettre à votre fonction d'invoquer

Si votre fonction n'invoque pas dans le délai défini dans le paramètre Timeout (Délai d'attente ), le contact achemine la branche Error (Erreur) des voies de contacts Invoquer la fonction AWS Lambda. Le paramètre de Timeout (Délai d'attente) par défaut est de 3 secondes. Le paramètre de Timeout (Délai d'attente) maximum est de 8 secondes.

Pour savoir combien de temps l'appel de votre fonction prend, consultez les métriques de Duration (Durée) de votre fonction dans Amazon CloudWatch.

Pour consulter et modifier le paramètre Timeout (Délai d'attente) de votre fonction Lambda, consultez Bloc de contact : Invoquer la fonction AWS Lambda.

Remarque : pour inclure des fonctions Lambda dans votre flux de contact qui prennent plus de 8 secondes à appeler, utilisez des fonctions Lambda asynchrones avec Amazon Connect.

Si vous appelez plusieurs fonctions Lambda, puis, assurez-vous que la durée de la séquence de fonctions est inférieure à 20 secondes

Amazon Connect limite la durée d'une séquence de fonctions Lambda à 20 secondes.

Pour plus d'informations, consultez la section Lambda de Bonnes pratiques avec Amazon Connect dans le guide de l'administrateur Amazon Connect.

Identifiez et résolvez toute autre erreur qui cause l'échec de votre fonction

Suivez les instructions de la section Comment puis-je résoudre les problèmes d'échec de fonction Lambda ?


Informations connexes

Appeler un alias de fonction AWS Lambda depuis Amazon Connect

AWS OFFICIEL
AWS OFFICIELA mis à jour il y a un an