Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
AWS Lambda invoquer une référence d'action
Vous permet d'exécuter une fonction Lambda en tant qu'action dans votre pipeline. En utilisant l'objet d'événement qui est une entrée de cette fonction, la fonction a accès à la configuration de l'action, aux emplacements des artefacts d'entrée, aux emplacements des artefacts de sortie et à d'autres informations requises pour accéder aux artefacts. Pour un exemple d'événement transmis à une fonction d'appel Lambda, consultez. Exemple d'JSONévénement Dans le cadre de l'implémentation de la fonction Lambda, il doit y avoir un appel à PutJobSuccessResult
API
ou PutJobFailureResult API
. Sinon, l'exécution de cette action se bloque jusqu'à ce que l'action expire. Si vous spécifiez des artefacts de sortie pour cette action, ils doivent être chargés dans le compartiment S3 dans le cadre de l'implémentation de la fonction.
Important
N'enregistrez pas l'JSONévénement CodePipeline envoyé à Lambda, car cela peut entraîner la journalisation des informations d'identification de l'utilisateur dans CloudWatch les journaux. Le CodePipeline rôle utilise un JSON événement pour transmettre des informations d'identification temporaires à Lambda sur le artifactCredentials
terrain. Pour voir un exemple d'événement, consultez la section Exemple d'JSONévénement.
Type d'action
-
Catégorie :
Invoke
-
Propriétaire :
AWS
-
Fournisseur :
Lambda
-
Version :
1
Paramètres de configuration
- FunctionName
-
Obligatoire : oui
FunctionName
est le nom de la fonction créée dans Lambda. - UserParameters
-
Obligatoire : non
Chaîne qui peut être traitée comme entrée par la fonction Lambda.
Artefacts d'entrée
-
Nombre d'artefacts :
0 to 5
-
Description : ensemble d'artefacts à mettre à la disposition de la fonction Lambda.
Artefacts de sortie
-
Nombre d'artefacts :
0 to 5
-
Description : ensemble d'artefacts produits en sortie par la fonction Lambda.
Variables de sortie
Cette action produira sous forme de variables toutes les paires clé-valeur incluses dans la outputVariables
section de la PutJobSuccessResult APIdemande.
Pour plus d'informations sur les variables dans CodePipeline, consultezRéférence aux variables.
Exemple de configuration d'action
Exemple d'JSONévénement
L'action Lambda envoie un JSON événement qui contient l'ID de la tâche, la configuration de l'action du pipeline, les emplacements des artefacts d'entrée et de sortie, ainsi que toute information de chiffrement relative aux artefacts. Le job worker accède à ces informations pour terminer l'action Lambda. Pour de plus amples informations, veuillez consulter les détails de la tâche. Voici un exemple d'événement.
{ "CodePipeline.job": { "id": "
11111111-abcd-1111-abcd-111111abcdef
", "accountId": "111111111111
", "data": { "actionConfiguration": { "configuration": { "FunctionName": "MyLambdaFunction
", "UserParameters": "input_parameter
" } }, "inputArtifacts": [ { "location": { "s3Location": { "bucketName": "bucket_name
", "objectKey": "filename
" }, "type": "S3" }, "revision": null, "name": "ArtifactName
" } ], "outputArtifacts": [], "artifactCredentials": { "secretAccessKey": "secret_key
", "sessionToken": "session_token
", "accessKeyId": "access_key_ID
" }, "continuationToken": "token_ID
", "encryptionKey": { "id": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "type": "KMS" } } } }
L'JSONévénement fournit les détails de tâche suivants pour l'action Lambda dans : CodePipeline
-
id
: ID unique généré par le système de la tâche. -
accountId
: ID de AWS compte associé à la tâche. -
data
: autres informations requises pour qu'un exécutant de tâches termine la tâche.-
actionConfiguration
: paramètres d'action pour l'action Lambda. Pour les définitions, veuillez consulter Paramètres de configuration . -
inputArtifacts
: artefact fourni à l'action.-
location
: emplacement du magasin d'artefacts.-
s3Location
: informations sur l'emplacement des artefacts d'entrée pour l'action.-
bucketName
: nom du magasin d'artefacts du pipeline pour l'action (par exemple, un compartiment Amazon S3 nommé codepipeline-us-east -2-1234567890). -
objectKey
: nom de l'application (par exemple,CodePipelineDemoApplication.zip
).
-
-
type
: type d'artefact dans l'emplacement. Actuellement,S3
est le seul type d'artefact valide.
-
-
revision
: ID de révision de l'artefact. Selon le type d'objet, il peut s'agir d'un ID de validation (GitHub) ou d'un ID de révision (Amazon Simple Storage Service). Pour plus d'informations, consultez ArtifactRevision. -
name
: nom de l'artefact à utiliser, tel queMyApp
.
-
-
outputArtifacts
: sortie de l'action.-
location
: emplacement du magasin d'artefacts.-
s3Location
: informations sur l'emplacement des artefacts de sortie pour l'action.-
bucketName
: nom du magasin d'artefacts du pipeline pour l'action (par exemple, un compartiment Amazon S3 nommé codepipeline-us-east -2-1234567890). -
objectKey
: nom de l'application (par exemple,CodePipelineDemoApplication.zip
).
-
-
type
: type d'artefact dans l'emplacement. Actuellement,S3
est le seul type d'artefact valide.
-
-
revision
: ID de révision de l'artefact. Selon le type d'objet, il peut s'agir d'un ID de validation (GitHub) ou d'un ID de révision (Amazon Simple Storage Service). Pour plus d'informations, consultez ArtifactRevision. -
name
: nom de la sortie d'un artefact, tel queMyApp
.
-
-
artifactCredentials
: les informations d'identification de AWS session utilisées pour accéder aux artefacts d'entrée et de sortie dans le compartiment Amazon S3. Ces informations d'identification sont des informations d'identification temporaires qui sont émises par AWS Security Token Service (AWS STS).-
secretAccessKey
: clé d'accès secrète pour la session. -
sessionToken
: jeton de la session. -
accessKeyId
: clé d'accès secrète pour la session.
-
-
continuationToken
: jeton généré par l'action. Les actions futures utilisent ce jeton pour identifier l'instance en cours d'exécution de l'action. Une fois l'action terminée, aucun jeton de continuation ne doit être fourni. -
encryptionKey
: clé de chiffrement utilisée pour chiffrer les données du magasin d'artefacts, par exemple une AWS KMS clé. Si elle n'est pas définie, la clé par défaut pour Amazon Simple Storage Service est utilisée.-
id
: ID utilisé pour identifier la clé. Pour une AWS KMS clé, vous pouvez utiliser l'identifiant de la clé, la clé ARN ou l'aliasARN. -
type
: type de clé de chiffrement, tel qu'une clé AWS KMS .
-
-
Consultez aussi
Les ressources connexes suivantes peuvent s'avérer utiles dans le cadre de l'utilisation de cette action.
-
AWS CloudFormation Guide de l'utilisateur — Pour plus d'informations sur les actions Lambda et les AWS CloudFormation artefacts pour les pipelines, consultez les sections Utilisation des fonctions de remplacement de paramètres avec les CodePipeline pipelines, Automatisation du déploiement d'applications basées sur Lambda et Artifacts.AWS CloudFormation
-
Invoquer une AWS Lambda fonction dans un pipeline dans CodePipeline— Cette procédure fournit un exemple de fonction Lambda et explique comment utiliser la console pour créer un pipeline avec une action d'appel Lambda.