action « AWS Lambda  invoquer » YAML - 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.

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-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 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