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.
action « AWS Lambda invoquer » YAML
Voici la YAML définition de l'action AWS Lambda d'appel. Pour savoir comment utiliser cette action, consultezInvocation d'une fonction Lambda à l'aide d'un flux de travail.
Cette définition d'action existe sous la forme d'une section au sein d'un fichier de définition de flux de travail plus large. Pour de plus amples informations sur ce fichier, veuillez consulter YAMLDéfinition du flux de travail.
Note
La plupart des YAML propriétés ci-dessous ont des éléments d'interface utilisateur correspondants dans l'éditeur visuel. Pour rechercher un élément de l'interface utilisateur, utilisez Ctrl+F. L'élément sera répertorié avec sa YAML propriété associée.
# The workflow definition starts here.
# See Propriétés de haut niveau for details.
Name: MyWorkflow
SchemaVersion: 1.0
Actions:
# The action definition starts here.
LambdaInvoke_nn
:
Identifier: aws/lambda-invoke@v1
DependsOn:
- dependent-action
Compute:
Type: EC2 | Lambda
Fleet: fleet-name
Timeout: timeout-minutes
Inputs:
# Specify a source or an artifact, but not both.
Sources:
- source-name-1
Artifacts:
- request-payload
Variables:
- Name: variable-name-1
Value: variable-value-1
- Name: variable-name-2
Value: variable-value-2
Environment:
Name: environment-name
Connections:
- Name: account-connection-name
Role: iam-role-name
Configuration:
Function: my-function|function-arn
AWSRegion: us-west-2
# Specify RequestPayload or RequestPayloadFile, but not both.
RequestPayload: '{"firstname": "Li", lastname: "Jean", "company": "ExampleCo", "team": "Development"}'
RequestPayloadFile: my/request-payload.json
ContinueOnError: true|false
LogType: Tail|None
ResponseFilters: '{"name": ".name", "company": ".department.company"}'
Outputs:
Artifacts:
- Name: lambda_artifacts
Files:
- "lambda-response.json"
LambdaInvoke
(Obligatoire)
Spécifiez le nom de l'action. Tous les noms d'action doivent être uniques dans le flux de travail. Les noms d'action sont limités aux caractères alphanumériques (a-z, A-Z, 0-9), aux tirets (-) et aux traits de soulignement (_). Les espaces ne sont pas autorisés. Vous ne pouvez pas utiliser de guillemets pour activer les caractères spéciaux et les espaces dans les noms d'action.
Par défaut: Lambda_Invoke_Action_Workflow_nn
.
Interface utilisateur correspondante : onglet Configuration/nom de l'action
Identifier
(LambdaInvoke
/Identifier)
(Obligatoire)
Identifie l'action. Ne modifiez pas cette propriété, sauf si vous souhaitez modifier la version. Pour plus d’informations, consultez Spécification de la version de l'action à utiliser.
Par défaut: aws/lambda-invoke@v1
.
Interface utilisateur correspondante : diagramme de flux de travail/ LambdaInvoke _nn/ aws/lambda-invoke @v1 label
DependsOn
(LambdaInvoke
/DependsOn)
(Facultatif)
Spécifiez une action, un groupe d'actions ou une porte qui doit s'exécuter correctement pour que cette action soit exécutée.
Pour plus d'informations sur la fonctionnalité « dépend », consultez. Actions de séquençage
Interface utilisateur correspondante : onglet Entrées/dépend de - facultatif
Compute
(LambdaInvoke
/Compute)
(Facultatif)
Le moteur informatique utilisé pour exécuter les actions de votre flux de travail. Vous pouvez spécifier le calcul au niveau du flux de travail ou au niveau de l'action, mais pas les deux. Lorsqu'elle est spécifiée au niveau du flux de travail, la configuration de calcul s'applique à toutes les actions définies dans le flux de travail. Au niveau du flux de travail, vous pouvez également exécuter plusieurs actions sur la même instance. Pour plus d’informations, consultez Partage du calcul entre les actions.
Interface utilisateur correspondante : aucune
Type
(LambdaInvoke
/Compute/Type)
(Obligatoire s'Computeil est inclus)
Type de moteur de calcul. Vous pouvez utiliser l'une des valeurs suivantes :
-
EC2(éditeur visuel) ou
EC2
(YAMLéditeur)Optimisé pour la flexibilité lors des courses d'action.
-
Lambda (éditeur visuel) ou
Lambda
(YAMLéditeur)Vitesses de démarrage des actions optimisées.
Pour plus d'informations sur les types de calcul, veuillez consulter Types de calcul.
Interface utilisateur correspondante : onglet Configuration/Type de calcul
Fleet
(LambdaInvoke
/Compute/Fleet)
(Facultatif)
Spécifiez la machine ou le parc qui exécutera votre flux de travail ou vos actions de flux de travail. Dans le cas des flottes à la demande, lorsqu'une action démarre, le flux de travail fournit les ressources dont il a besoin et les machines sont détruites à la fin de l'action. Exemples de flottes à la demande :Linux.x86-64.Large
,Linux.x86-64.XLarge
. Pour plus d'informations sur les flottes à la demande, consultezPropriétés de flotte à la demande.
Avec les flottes provisionnées, vous configurez un ensemble de machines dédiées pour exécuter les actions de votre flux de travail. Ces machines restent inactives, prêtes à exécuter des actions immédiatement. Pour plus d'informations sur les flottes provisionnées, consultez. Propriétés du parc provisionné
S'il Fleet
est omis, la valeur par défaut estLinux.x86-64.Large
.
Interface utilisateur correspondante : onglet Configuration/parc de calcul
Timeout
(LambdaInvoke
/Timeout)
(Obligatoire)
Spécifiez la durée en minutes (YAMLéditeur) ou en heures et minutes (éditeur visuel) pendant laquelle l'action peut être exécutée avant la CodeCatalyst fin de l'action. Le minimum est de 5 minutes et le maximum est décrit dansQuotas pour les flux de travail dans CodeCatalyst. Le délai d'expiration par défaut est le même que le délai d'expiration maximal.
Interface utilisateur correspondante : onglet Configuration/Délai d'expiration - facultatif
Inputs
(LambdaInvoke
/Inputs)
(Obligatoire)
La Inputs
section définit les données dont l'action d'AWS Lambda
appel a besoin lors de l'exécution d'un flux de travail.
Note
Une seule entrée (source ou artefact) est autorisée par action d'AWS Lambda appel. Les variables ne sont pas prises en compte dans ce total.
Interface utilisateur correspondante : onglet Entrées
Sources
(LambdaInvoke
/Inputs/Sources)
(Obligatoire s'RequestPayloadFileil est fourni)
Si vous souhaitez transmettre un JSON fichier de charge utile de demande à l'action AWS Lambda d'appel et que ce fichier de charge utile est stocké dans un référentiel source, spécifiez l'étiquette de ce référentiel source. Actuellement, la seule étiquette prise en charge estWorkflowSource
.
Si le fichier de charge utile de votre demande n'est pas contenu dans un référentiel source, il doit résider dans un artefact généré par une autre action.
Pour plus d'informations sur le fichier de charge utile, consultezRequestPayloadFile.
Note
Au lieu de spécifier un fichier de charge utile, vous pouvez ajouter le JSON code de la charge utile directement à l'action à l'aide de la RequestPayload
propriété. Pour plus d’informations, consultez RequestPayload.
Pour plus d'informations sur les sources, consultez Connecter les référentiels sources aux flux de travail.
Interface utilisateur correspondante : onglet Entrées/Sources - facultatif
Artifacts - input
(LambdaInvoke
/Inputs/Artifacts)
(Obligatoire s'RequestPayloadFileil est fourni)
Si vous souhaitez transmettre un JSON fichier de charge utile de demande à l'action d'AWS Lambda appel et que ce fichier de charge utile est contenu dans un artefact de sortie d'une action précédente, spécifiez cet artefact ici.
Pour plus d'informations sur le fichier de charge utile, consultezRequestPayloadFile.
Note
Au lieu de spécifier un fichier de charge utile, vous pouvez ajouter le JSON code de la charge utile directement à l'action à l'aide de la RequestPayload
propriété. Pour plus d’informations, consultez RequestPayload.
Pour plus d'informations sur les artefacts, y compris des exemples, consultezPartage d'artefacts et de fichiers entre les actions.
Interface utilisateur correspondante : onglet Configuration/Artefacts - facultatif
Variables - input
(LambdaInvoke
/Inputs/Variables)
(Facultatif)
Spécifiez une séquence de paires nom/valeur qui définissent les variables d'entrée que vous souhaitez mettre à la disposition de l'action. Les noms de variables sont limités aux caractères alphanumériques (a-z, A-Z, 0-9), aux tirets (-) et aux traits de soulignement (_). Les espaces ne sont pas autorisés. Vous ne pouvez pas utiliser de guillemets pour activer les caractères spéciaux et les espaces dans les noms de variables.
Pour plus d'informations sur les variables, y compris des exemples, consultezUtilisation de variables dans les flux de travail.
Interface utilisateur correspondante : onglet Entrées/Variables - facultatif
Environment
(LambdaInvoke
/Environment)
(Obligatoire)
Spécifiez l' CodeCatalyst environnement à utiliser avec l'action. L'action se connecte à Compte AWS l'Amazon facultatif VPC spécifié dans l'environnement choisi. L'action utilise le IAM rôle par défaut spécifié dans l'environnement pour se connecter au Compte AWS, et utilise le IAM rôle spécifié dans la VPCconnexion Amazon pour se connecter à AmazonVPC.
Note
Si le IAM rôle par défaut ne dispose pas des autorisations requises par l'action, vous pouvez configurer l'action pour utiliser un autre rôle. Pour plus d’informations, consultez Modifier le IAM rôle d'une action.
Pour plus d'informations sur les environnements, reportez-vous Déploiement dans Comptes AWS et VPCs aux sections etCréation d'un environnement.
Interface utilisateur correspondante : onglet Configuration/Environnement
Name
(LambdaInvoke
/Environment/Name)
(Obligatoire s'Environmentil est inclus)
Spécifiez le nom de l'environnement existant que vous souhaitez associer à l'action.
Interface utilisateur correspondante : onglet Configuration/Environnement
Connections
(LambdaInvoke
/Environment/Connections)
(Facultatif dans les nouvelles versions de l'action ; obligatoire dans les anciennes versions)
Spécifiez la connexion au compte à associer à l'action. Vous pouvez spécifier un maximum d'une connexion à un compte sousEnvironment
.
Si vous ne spécifiez pas de connexion au compte :
-
L'action utilise la Compte AWS connexion et le IAM rôle par défaut spécifiés dans l'environnement de la CodeCatalyst console. Pour plus d'informations sur l'ajout d'une connexion à un compte et d'un IAM rôle par défaut dans l'environnement, consultezCréation d'un environnement.
-
Le IAM rôle par défaut doit inclure les politiques et les autorisations requises par l'action. Pour déterminer quelles sont ces politiques et autorisations, consultez la description de la propriété Role dans la documentation de YAML définition de l'action.
Pour plus d'informations sur les connexions aux comptes, consultezPermettre l'accès aux AWS ressources avec Connected Comptes AWS. Pour plus d'informations sur l'ajout d'une connexion de compte à un environnement, consultezCréation d'un environnement.
Interface utilisateur correspondante : l'une des options suivantes, selon la version de l'action :
-
(Versions plus récentes) Onglet de configuration/Environnement/Contenu
my-environment
? /menu à trois points/ Changer de rôle -
(Anciennes versions) Onglet de configuration/'Environnement/Compte/Role'/ Connexion AWS au compte
Name
(LambdaInvoke
/Environment/Connections/Name)
(Obligatoire s'Connectionsil est inclus)
Spécifiez le nom de la connexion au compte.
Interface utilisateur correspondante : l'une des options suivantes, selon la version de l'action :
-
(Versions plus récentes) Onglet de configuration/Environnement/Contenu
my-environment
? /menu à trois points/ Changer de rôle -
(Anciennes versions) Onglet de configuration/'Environnement/Compte/Role'/ Connexion AWS au compte
Role
(LambdaInvoke
/Environment/Connections/Role)
(Obligatoire s'Connectionsil est inclus)
Spécifiez le nom du IAM rôle que l'action d'AWS Lambda appel utilise pour accéder à votre fonction Lambda AWS et l'appeler. Assurez-vous que vous avez ajouté le rôle à votre CodeCatalyst espace et qu'il inclut les politiques suivantes.
Si vous ne spécifiez aucun IAM rôle, l'action utilise le IAM rôle par défaut répertorié dans l'environnement de la CodeCatalyst console. Si vous utilisez le rôle par défaut dans l'environnement, assurez-vous qu'il est conforme aux politiques suivantes.
-
La politique d'autorisation suivante :
Avertissement
Limitez les autorisations à celles indiquées dans la politique suivante. L'utilisation d'un rôle doté d'autorisations plus étendues peut présenter un risque de sécurité.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": "lambda:InvokeFunction", "Resource": "arn:aws:lambda:
aws-region
:aws-account
:function:function-name
" } ] } -
La politique de confiance personnalisée suivante :
{ "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": [ "codecatalyst-runner.amazonaws.com", "codecatalyst.amazonaws.com" ] }, "Action": "sts:AssumeRole" } ] }
Note
Vous pouvez utiliser le CodeCatalystWorkflowDevelopmentRole-
rôle avec cette action, si vous le souhaitez. Pour plus d’informations sur ce rôle, consultez Création du CodeCatalystWorkflowDevelopmentRole-spaceNamerôle pour votre compte et votre espace. Sachez que le spaceName
CodeCatalystWorkflowDevelopmentRole-
rôle dispose d'autorisations d'accès complètes, ce qui peut présenter un risque de sécurité. Nous vous recommandons de n'utiliser ce rôle que dans les didacticiels et les scénarios où la sécurité est moins préoccupante. spaceName
Interface utilisateur correspondante : l'une des options suivantes, selon la version de l'action :
-
(Versions plus récentes) Onglet de configuration/Environnement/Contenu
my-environment
? /menu à trois points/ Changer de rôle -
(Anciennes versions) Onglet de configuration/'Environnement/Compte/Role'/ Rôle
Configuration
(LambdaInvoke
/Configuration)
(Obligatoire)
Section dans laquelle vous pouvez définir les propriétés de configuration de l'action.
Interface utilisateur correspondante : onglet Configuration
Function
(LambdaInvoke
/Configuration/Function)
(Obligatoire)
Spécifiez la AWS Lambda fonction que cette action invoquera. Vous pouvez spécifier le nom de la fonction ou son Amazon Resource Name (ARN). Vous pouvez trouver le nom ou ARN dans la console Lambda.
Note
Le AWS compte sur lequel réside la fonction Lambda peut être différent du compte spécifié ci-dessous. Connections:
Interface utilisateur correspondante : onglet de configuration/fonction
AWSRegion
(LambdaInvoke
/Configuration/AWSRegion)
(Obligatoire)
Spécifiez la AWS région dans laquelle réside votre AWS Lambda fonction. Pour obtenir la liste des codes de région, consultez la section Points de terminaison régionaux dans le Références générales AWS.
Interface utilisateur correspondante : onglet Configuration/compartiment de destination - facultatif
RequestPayload
(LambdaInvoke
/Configuration/RequestPayload)
(Facultatif)
Si vous souhaitez transmettre une charge utile de demande à l'action d'AWS Lambda appel, spécifiez la charge utile de la demande ici, au JSON format.
Exemple de charge utile de demande :
'{ "key": "value" }'
Si vous ne souhaitez pas transmettre de charge utile de requête à votre fonction Lambda, omettez cette propriété.
Note
Vous pouvez préciser RequestPayload
ou RequestPayloadFile
, mais pas les deux.
Pour plus d'informations sur la charge utile de la demande, consultez la rubrique Invoke dans la AWS Lambda APIréférence.
Interface utilisateur correspondante : onglet Configuration/Charge utile de demande - facultatif
RequestPayloadFile
(LambdaInvoke
/Configuration/RequestPayloadFile)
(Facultatif)
Si vous souhaitez transmettre une charge utile de demande à l'action d'AWS Lambda appel, spécifiez le chemin d'accès à ce fichier de charge utile de demande ici. Le fichier doit être au JSON format.
Le fichier de charge utile de la demande peut résider dans un référentiel source ou dans un artefact issu d'une action précédente. Le chemin du fichier est relatif au référentiel source ou à la racine de l'artefact.
Si vous ne souhaitez pas transmettre de charge utile de requête à votre fonction Lambda, omettez cette propriété.
Note
Vous pouvez préciser RequestPayload
ou RequestPayloadFile
, mais pas les deux.
Pour plus d'informations sur le fichier de charge utile de la demande, consultez la rubrique Invoke dans la AWS Lambda APIréférence.
Interface utilisateur correspondante : onglet Configuration/fichier de charge utile de demande - facultatif
ContinueOnError
(LambdaInvoke
/Configuration/RequestPayloadFile)
(Facultatif)
Spécifiez si vous souhaitez marquer l'action d'AWS Lambda appel comme réussie même si la AWS Lambda fonction invoquée échoue. Envisagez de définir cette propriété sur true
pour permettre aux actions suivantes de votre flux de travail de démarrer malgré l'échec de Lambda.
Par défaut, l'action échoue en cas d'échec de la fonction Lambda (« off » dans l'éditeur visuel ou false
dans l'YAMLéditeur).
Interface utilisateur correspondante : onglet Configuration/Continuer en cas d'erreur
LogType
(LambdaInvoke
/Configuration/LogType)
(Facultatif)
Spécifiez si vous souhaitez inclure les journaux d'erreurs dans la réponse de la fonction Lambda après son appel. Vous pouvez consulter ces journaux dans l'onglet Logs de l'action Lambda Invoke de la CodeCatalyst console. Les valeurs possibles sont :
-
Tail
— journaux des retours -
None
— ne pas renvoyer les journaux
La valeur par défaut est Tail.
Pour plus d'informations sur le type de journal, consultez la rubrique Invoke dans la AWS Lambda APIréférence.
Pour de plus amples informations sur l'affichage des journaux, veuillez consulter Afficher le statut et les détails de l'exécution du flux de travail.
Interface utilisateur correspondante : onglet Configuration/type de journal
ResponseFilters
(LambdaInvoke
/Configuration/ResponseFilters)
(Facultatif)
Spécifiez les clés de la charge utile de réponse Lambda que vous souhaitez convertir en variables de sortie. Vous pouvez ensuite référencer les variables de sortie dans les actions suivantes de votre flux de travail. Pour plus d'informations sur les variables dans CodeCatalyst, consultezUtilisation de variables dans les flux de travail.
Par exemple, si la charge utile de votre réponse ressemble à ceci :
responsePayload = { "name": "Saanvi", "location": "Seattle", "department": { "company": "Amazon", "team": "AWS" } }
... et vos filtres de réponse ressemblent à ceci :
Configuration: ... ResponseFilters: '{"name": ".name", "company": ".department.company"}'
... puis l'action génère les variables de sortie suivantes :
Clé | Valeur |
---|---|
name |
Saanvi |
company |
Amazon |
Vous pouvez ensuite référencer les company
variables name
et dans les actions suivantes.
Si vous ne spécifiez aucune cléResponseFilters
, l'action convertit chaque clé de niveau supérieur de la réponse Lambda en variable de sortie. Pour plus d’informations, consultez variables « AWS Lambda invoquer ».
Envisagez d'utiliser des filtres de réponse pour limiter les variables de sortie générées à celles que vous souhaitez réellement utiliser.
Interface utilisateur correspondante : onglet Configuration/filtres de réponse - facultatif
Outputs
(LambdaInvoke
/Outputs)
(Facultatif)
Définit les données produites par l'action lors de l'exécution d'un flux de travail.
Interface utilisateur correspondante : onglet Sorties
Artifacts
(LambdaInvoke
/Outputs/Artifacts)
(Facultatif)
Spécifiez les artefacts générés par l'action. Vous pouvez référencer ces artefacts comme entrées dans d'autres actions.
Pour plus d'informations sur les artefacts, y compris des exemples, consultezPartage d'artefacts et de fichiers entre les actions.
Interface utilisateur correspondante : onglet Sorties/Artifacts/ Nom de l'artefact de construction
Name
(LambdaInvoke
/Outputs/Artifacts/Name)
(Facultatif)
Spécifiez le nom de l'artefact qui contiendra la charge utile de réponse Lambda renvoyée par la fonction Lambda. La valeur par défaut est lambda_artifacts
. Si vous ne spécifiez aucun artefact, la charge utile de la réponse Lambda peut être consultée dans les journaux de l'action, qui sont disponibles dans l'onglet Logs de l'action dans la console. CodeCatalyst Pour de plus amples informations sur l'affichage des journaux, veuillez consulter Afficher le statut et les détails de l'exécution du flux de travail.
Interface utilisateur correspondante : onglet Sorties/Artifacts/ Nom de l'artefact de construction
Files
(LambdaInvoke
/Outputs/Artifacts/Files)
(Facultatif)
Spécifiez les fichiers à inclure dans l'artefact. Vous devez spécifier de lambda-response.json
telle sorte que le fichier de charge utile de la réponse Lambda soit inclus.
Interface utilisateur correspondante : onglet Sorties/Artifacts/Fichiers produits par build