définition YAML de l'action « AWS Lambda  invoke » - Amazon CodeCatalyst

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.

définition YAML de l'action « AWS Lambda  invoke »

Voici la définition YAML de l'action d'AWS Lambda appel. Pour savoir comment utiliser cette action, consultezInvocation d'une AWS Lambda fonction à 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 Définition du flux de travail YAML.

Note

La plupart des propriétés YAML suivantes 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 propriété YAML 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écifier la version majeure, mineure ou corrective d'une action.

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. Configuration des actions pour qu'elles dépendent d'autres actions

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 (éditeur YAML)

    Optimisé pour la flexibilité lors des courses d'action.

  • Lambda (éditeur visuel) ou Lambda (éditeur YAML)

    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 (éditeur YAML) 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 workflows. 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 fichier JSON 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 code JSON 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 Connexion d'un flux de travail à un référentiel source.

Interface utilisateur correspondante : onglet Entrées/Sources - facultatif

Artifacts - input

(LambdaInvoke/Inputs/Artifacts)

(Obligatoire s'RequestPayloadFileil est fourni)

Si vous souhaitez transmettre un fichier JSON 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 code JSON 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 de données entre les actions d'un flux de travail à l'aide d'artefacts.

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, consultezConfiguration et utilisation de variables dans un 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 au Compte AWS VPC Amazon facultatif spécifié dans l'environnement choisi. L'action utilise le rôle IAM par défaut spécifié dans l'environnement pour se connecter au Compte AWS, et utilise le rôle IAM spécifié dans la connexion Amazon VPC pour se connecter à Amazon VPC.

Note

Si le rôle IAM 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 Affectation d'un rôle IAM différent à une action.

Pour plus d'informations sur les environnements, reportez-vous Déploiement dans Comptes AWS et avec CodeCatalyst des environnements VPC 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 rôle IAM 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 rôle IAM par défaut dans l'environnement, consultezCréation d'un environnement.

  • Le rôle IAM 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 définition YAML 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 configuration/Environnement/Qu'y a-t-il dans mon environnement ? /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 configuration/Environnement/Qu'y a-t-il dans mon environnement ? /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 rôle IAM 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 rôle IAM, l'action utilise le rôle IAM par défaut répertorié dans l'environnement de la console. CodeCatalyst 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-spaceName 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 CodeCatalystWorkflowDevelopmentRole-spaceName 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.

Interface utilisateur correspondante : l'une des options suivantes, selon la version de l'action :

  • (Versions plus récentes) Onglet configuration/Environnement/Qu'y a-t-il dans mon environnement ? /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 l'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 format JSON.

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 des demandes, consultez la rubrique Invoke dans la référence de l'AWS Lambda API.

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 format JSON.

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 référence de l'AWS Lambda API.

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é 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'éditeur YAML).

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 référence de l'AWS Lambda API.

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, consultezConfiguration et utilisation de variables dans un 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 produites par l'action « AWS Lambda  invoke » .

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 faire référence à ces artefacts en tant qu'entrée dans d'autres actions.

Pour plus d'informations sur les artefacts, y compris des exemples, consultezPartage de données entre les actions d'un flux de travail à l'aide d'artefacts.

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