Le rôle défini pour la fonction ne peut être assumée par Lambda
J'obtiens le message d'erreur "Le rôle défini pour la fonction ne peut être assumée par Lambda" quand je suis en train de créer une fonction lambda avec de création de la fonction de commande.
aws lambda créer fonction
--région nous-ouest-2
--fonction-nom HelloPython
--fichier zip fileb://hello_python.zip
--rôle arn:aws:iam::mon-acc-compte-id:rôle/default
--gestionnaire hello_python.my_handler
--runtime python2.7
--timeout 15
--la mémoire de taille 512
- Quelle est l'erreur? Quelle est la question?
- Je reçois ce même message d'erreur, aucune chance?
- voir la réponse ci-dessous. Attendre quelques secondes fixe pour moi.
Vous devez vous connecter pour publier un commentaire.
J'ai eu le message d'erreur "Le rôle défini pour la fonction ne peut être assumée par Lambda" parce que je n'avais pas mis à jour les rôles de "Relation de Confiance" fichier de config. Je n'ai pas rencontre les problèmes de délai d'attente comme dans la réponse dans les commentaires.
Les commentaires dans les réponses ci-dessus, a souligné que, vous avez besoin d'ajouter le suivant.
La mienne était comme ci-dessous.
Je suis aussi de rencontrer cette erreur. N'ont pas obtenu une réponse définitive (encore), mais pensé que je lui passe le long d'un couple d'indices qui peuvent vous aider, vous et/ou toute autre personne de frapper ce problème.
A) Si vous construisez un Rôle ARN par la constitution de votre ID de compte et un nom de rôle, je pense que le numéro de compte doit être sans les tirets
B) Si vous avez créé le rôle, et éventuellement ajouté politiques elle, il semble y avoir une (petite) fenêtre de temps dans laquelle le rôle de déclencheur de cette erreur. Dormir 5 ou 6 secondes entre la dernière opération sur le rôle et le créer-appel de fonction m'a permis de contourner le problème (mais bien sûr, le temps peut être variable, donc c'est au mieux un travail autour).
retrying
paquet python est un moyen rapide de sauvetage - tout décoré de la fonction de création avec les éléments suivants:@retrying.retry(wait_exponential_multiplier=1000, wait_exponential_max=10000)
Pour moi, le problème était que j'avais un nom incomplet pour le rôle. J'ai mis
quand il aurait dû être
(bien sûr, mon id aws n'est pas réellement 000000000000)
J'ai découvert cela en exécutant
et en regardant la
"Arn"
de la propriété dans le jeu de résultats.Pour moi, le problème était que j'avais mis le mal par défaut de l'environnement de la région de clés.
Eu le même problème bien que mon rôle IAM ont le droit politique et de la relation de confiance.
Lambda création travaillé amende lorsqu'elles sont faites par la CLI, le problème a été lors de l'utilisation de lambda module, juste après la création du rôle IAM.
J'ai aussi essayé de "pause" pendant quelques secondes, mais il n'a pas aidé.
Fini par l'ajout de réessayer et de retarder jusqu'à ce que registerdLambda.le code a été défini. Généralement cela fonctionne au bout de 1-2 tente.
exemple:
La plupart des gens se retrouvent dans cette erreur, en raison de donner le mauvais Rôle ARN dans CloudFormation lors de la création de la Fonction Lambda.
Assurez-vous que le rôle est terminé premier à l'aide de "DependsOn" et utiliser la fonction intrinsèque """{ "Fn::GetAtt" : [ "votre rôle de logique-nom", "Arn" ] }"""
J'ai été en cours d'exécution dans cette erreur avec terraform et nécessaire pour ajouter un assument le rôle de la politique et de l'appliquer au rôle que la lambda suppose.