

Amazon n' CodeCatalyst est plus ouvert aux nouveaux clients. Les clients existants peuvent continuer à utiliser le service normalement. Pour de plus amples informations, veuillez consulter [Comment effectuer une migration depuis CodeCatalyst](migration.md).

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.

# Invocation d'une fonction Lambda à l'aide d'un flux de travail
<a name="lam-invoke-action"></a>

Cette section décrit comment invoquer une AWS Lambda fonction à l'aide d'un CodeCatalyst flux de travail. Pour ce faire, vous devez ajouter l'action d'**AWS Lambda appel** à votre flux de travail. L'action **AWS Lambda d'appel** appelle la fonction Lambda que vous spécifiez.

[Outre l'appel de votre fonction, l'action d'**AWS Lambda appel** convertit également chaque clé de niveau supérieur de la charge utile de réponse reçue de la fonction Lambda en une variable de sortie du flux de travail.](workflows-working-with-variables.md) Ces variables peuvent ensuite être référencées dans les actions de flux de travail suivantes. Si vous ne souhaitez pas que toutes les clés de niveau supérieur soient converties en variables, vous pouvez utiliser des filtres pour spécifier les clés exactes. Pour plus d'informations, consultez la description de la [ResponseFilters](lam-invoke-action-ref.md#lam.invoke.response.filters) propriété dans le[action « AWS Lambda  invoquer » YAML](lam-invoke-action-ref.md). 

**Topics**
+ [Quand utiliser cette action](#lam-invoke-action-when-to-use)
+ [Image d'exécution utilisée par l'action « AWS Lambda  invoke »](#lam-invoke-action-runtime)
+ [Exemple : Invoquer une fonction Lambda](lam-invoke-action-example-workflow.md)
+ [Ajouter l'action « AWS Lambda  invoquer »](lam-invoke-action-add.md)
+ [variables « AWS Lambda  invoquer »](lam-invoke-action-variables.md)
+ [action « AWS Lambda  invoquer » YAML](lam-invoke-action-ref.md)

## Quand utiliser cette action
<a name="lam-invoke-action-when-to-use"></a>

Utilisez cette action si vous souhaitez ajouter à votre flux de travail des fonctionnalités encapsulées et exécutées par une fonction Lambda.

Par exemple, vous souhaiterez peut-être que votre flux de travail envoie une `Build started` notification à une chaîne Slack avant de commencer à créer votre application. **Dans ce cas, votre flux de travail inclurait une AWS Lambda action d'appel pour invoquer un Lambda pour envoyer la notification Slack, et une [action de génération pour créer](build-add-action.md) votre application.**

Autre exemple, vous souhaiterez peut-être que votre flux de travail effectue une analyse des vulnérabilités de votre application avant son déploiement. Dans ce cas, vous devez utiliser une action de génération pour créer votre application, une action d'**AWS Lambda appel** pour appeler un Lambda pour rechercher des vulnérabilités et une action de déploiement pour déployer l'application scannée.

## Image d'exécution utilisée par l'action « AWS Lambda  invoke »
<a name="lam-invoke-action-runtime"></a>

L'action **AWS Lambda d'invocation** s'exécute sur une [image de novembre 2022](build-images.md#build.previous-image). Pour de plus amples informations, veuillez consulter [Images actives](build-images.md#build-curated-images).

# Exemple : Invoquer une fonction Lambda
<a name="lam-invoke-action-example-workflow"></a>

L'exemple de flux de travail suivant inclut **AWS Lambda l'action d'appel**, ainsi qu'une action de déploiement. Le flux de travail envoie une notification Slack indiquant qu'un déploiement a commencé, puis déploie une application en AWS utilisant un CloudFormation modèle. Le flux de travail comprend les éléments de base suivants qui s'exécutent de manière séquentielle :
+ Un **déclencheur** : ce déclencheur lance automatiquement l'exécution du flux de travail lorsque vous apportez une modification à votre référentiel source. Pour plus d'informations sur les déclencheurs, consultez [Démarrage d'un flux de travail exécuté automatiquement à l'aide de déclencheurs](workflows-add-trigger.md).
+ Une action d'**AWS Lambda appel** (`LambdaNotify`) — Au moment du déclenchement, cette action invoque la fonction `Notify-Start` Lambda dans le compte et la région AWS spécifiés `my-aws-account` (, `us-west-2` et). Lors de l'appel, la fonction Lambda envoie une notification Slack indiquant qu'un déploiement a commencé.
+ Une action **Deploy CloudFormation stack** (`Deploy`) — Une fois l'action **AWS Lambda d'appel** terminée, l'action **Deploy CloudFormation stack** exécute le template (`cfn-template.yml`) pour déployer votre pile d'applications. Pour plus d'informations sur l'action **Deploy CloudFormation stack**, consultez[Déploiement d'une CloudFormation pile](deploy-action-cfn.md).

**Note**  
L'exemple de flux de travail suivant est fourni à titre d'illustration et ne fonctionnera pas sans configuration supplémentaire.

**Note**  
Dans le code YAML qui suit, vous pouvez omettre les `Connections:` sections si vous le souhaitez. Si vous omettez ces sections, vous devez vous assurer que le rôle spécifié dans le champ **Rôle IAM par défaut** de votre environnement inclut les autorisations et les politiques de confiance requises par les actions de ** CloudFormation pile **AWS Lambda Invoke** et Deploy**. Pour plus d'informations sur la configuration d'un environnement doté d'un rôle IAM par défaut, consultez[Création d'un environnement](deploy-environments-creating-environment.md). Pour plus d'informations sur les autorisations et les politiques de confiance requises par les actions de ** CloudFormation pile **AWS Lambda Invoke** et Deploy**, consultez la description de la `Role` propriété dans le [action « AWS Lambda  invoquer » YAML](lam-invoke-action-ref.md) et[Action « Déployer une CloudFormation pile » YAML](deploy-action-ref-cfn.md).

```
Name: codecatalyst-lamda-invoke-workflow
SchemaVersion: 1.0

Triggers:
  - Type: PUSH
    Branches:
      - main
Actions:
  LambdaNotify:
    Identifier: aws/lambda-invoke@v1
    Environment:
      Name: my-production-environment
      Connections:
        - Name: my-aws-account
          Role: codecatalyst-lambda-invoke-role
    Inputs:
      Sources:
        - WorkflowSource
    Configuration:
      Function: Notify-Start
      AWSRegion: us-west-2
        
  Deploy:
    Identifier: aws/cfn-deploy@v1
    Environment:
      Name: my-production-environment
      Connections:
        - Name: my-aws-account
          Role: codecatalyst-deploy-role
    Inputs:
      Sources:
        - WorkflowSource
    Configuration:
      name: my-application-stack
      region: us-west-2
      role-arn: arn:aws:iam::111122223333:role/StackRole
      template: ./cfn-template.yml
      capabilities: CAPABILITY_IAM,CAPABILITY_AUTO_EXPAND
```

# Ajouter l'action « AWS Lambda  invoquer »
<a name="lam-invoke-action-add"></a>

 Suivez les instructions suivantes pour ajouter l'action d'**AWS Lambda appel** à votre flux de travail. 

**Prérequis**  
Avant de commencer, assurez-vous que votre AWS Lambda fonction et le rôle d'exécution Lambda associé sont prêts et disponibles dans. AWS Pour plus d'informations, consultez la rubrique relative au [rôle d'exécution Lambda](https://docs.aws.amazon.com/lambda/latest/dg/lambda-intro-execution-role.html) dans le Guide du *AWS Lambda développeur*.

------
#### [ Visual ]

**Pour ajouter l'action « AWS Lambda  invoquer » à l'aide de l'éditeur visuel**

1. Ouvrez la CodeCatalyst console à l'[adresse https://codecatalyst.aws/](https://codecatalyst.aws/).

1. Choisissez votre projet.

1. **Dans le volet de navigation, choisissez **CI/CD**, puis Workflows.**

1. Choisissez le nom de votre flux de travail. Vous pouvez filtrer par le nom du référentiel source ou de la branche où le flux de travail est défini, ou filtrer par nom ou statut du flux de travail.

1. Choisissez **Modifier**.

1. Choisissez **Visual**.

1. En haut à gauche, choisissez **\$1 Actions** pour ouvrir le catalogue d'actions.

1. Dans la liste déroulante, sélectionnez **Amazon CodeCatalyst**.

1. Recherchez l'action **AWS Lambda d'appel**, puis effectuez l'une des opérations suivantes :
   + Choisissez le signe plus (**\$1**) pour ajouter l'action au diagramme de flux de travail et ouvrir son volet de configuration.

     Or
   + Choisissez **AWS Lambda Invoke**. La boîte de dialogue des détails de l'action apparaît. Dans cette boîte de dialogue :
     + (Facultatif) Choisissez **Afficher la source** pour [afficher le code source de l'action](workflows-view-source.md#workflows-view-source.title).
     + Choisissez **Ajouter au flux de travail** pour ajouter l'action au diagramme du flux de travail et ouvrir son volet de configuration.

1. Dans les onglets **Entrées**, **Configuration** et **Sorties**, complétez les champs en fonction de vos besoins. Pour obtenir une description de chaque champ, consultez le[action « AWS Lambda  invoquer » YAML](lam-invoke-action-ref.md). Cette référence fournit des informations détaillées sur chaque champ (et la valeur de propriété YAML correspondante) tel qu'il apparaît dans les éditeurs YAML et visuels.

1. (Facultatif) Choisissez **Valider** pour valider le code YAML du flux de travail avant de le valider.

1. Choisissez **Valider**, entrez un message de validation, puis choisissez à nouveau **Valider**.

------
#### [ YAML ]

**Pour ajouter l'action « AWS Lambda  invoquer » à l'aide de l'éditeur YAML**

1. Ouvrez la CodeCatalyst console à l'[adresse https://codecatalyst.aws/](https://codecatalyst.aws/).

1. Choisissez votre projet.

1. **Dans le volet de navigation, choisissez **CI/CD**, puis Workflows.**

1. Choisissez le nom de votre flux de travail. Vous pouvez filtrer par le nom du référentiel source ou de la branche où le flux de travail est défini, ou filtrer par nom ou statut du flux de travail.

1. Choisissez **Modifier**.

1. Choisissez **YAML.**

1. En haut à gauche, choisissez **\$1 Actions** pour ouvrir le catalogue d'actions.

1. Dans la liste déroulante, sélectionnez **Amazon CodeCatalyst**.

1. Recherchez l'action **AWS Lambda d'appel**, puis effectuez l'une des opérations suivantes :
   + Choisissez le signe plus (**\$1**) pour ajouter l'action au diagramme de flux de travail et ouvrir son volet de configuration.

     Or
   + Choisissez **AWS Lambda Invoke**. La boîte de dialogue des détails de l'action apparaît. Dans cette boîte de dialogue :
     + (Facultatif) Choisissez **Afficher la source** pour [afficher le code source de l'action](workflows-view-source.md#workflows-view-source.title).
     + Choisissez **Ajouter au flux de travail** pour ajouter l'action au diagramme du flux de travail et ouvrir son volet de configuration.

1. Modifiez les propriétés du code YAML en fonction de vos besoins. Une explication de chaque propriété disponible est fournie dans le[action « AWS Lambda  invoquer » YAML](lam-invoke-action-ref.md).

1. (Facultatif) Choisissez **Valider** pour valider le code YAML du flux de travail avant de le valider.

1. Choisissez **Valider**, entrez un message de validation, puis choisissez à nouveau **Valider**.

------

# variables « AWS Lambda  invoquer »
<a name="lam-invoke-action-variables"></a>

Par défaut, l'action d'**AWS Lambda appel** produit une variable par clé de niveau supérieur dans la charge utile de la réponse Lambda.

Par exemple, si la charge utile de la réponse ressemble à ceci :

```
responsePayload = {
  "name": "Saanvi",
  "location": "Seattle",
  "department": {
    "company": "Amazon",
    "team": "AWS"
  }
}
```

... alors l'action générerait les variables suivantes.


| Clé | Valeur | 
| --- | --- | 
|  name  |  Saanvi  | 
|  location  |  Seattle  | 
|  department  |  \$1"entreprise » : « Amazon », « équipe » : "AWS«\$1  | 

**Note**  
Vous pouvez modifier les variables générées à l'aide de la propriété `ResponseFilters` YAML. Pour en savoir plus, consultez [ResponseFilters](lam-invoke-action-ref.md#lam.invoke.response.filters) dans la rubrique [action « AWS Lambda  invoquer » YAML](lam-invoke-action-ref.md).

Les variables produites et définies par l'action « AWS Lambda  invoquer » au moment de l'exécution sont appelées variables *prédéfinies*.

Pour plus d'informations sur le référencement de ces variables dans un flux de travail, consultez[Utilisation de variables prédéfinies](workflows-using-predefined-variables.md).

# action « AWS Lambda  invoquer » YAML
<a name="lam-invoke-action-ref"></a>

Voici la définition YAML de l'action d'**AWS Lambda appel**. Pour savoir comment utiliser cette action, consultez[Invocation d'une fonction Lambda à l'aide d'un flux de travail](lam-invoke-action.md).

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 plus d’informations sur ce fichier, consultez [Définition du flux de travail YAML](workflow-reference.md).

**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\$1F**. 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\$1nn: 
    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
<a name="lam.invoke.name"></a>

(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 (\$1). 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
<a name="lam.invoke.identifier"></a>

(*LambdaInvoke*/**Identifier**)

(Obligatoire)

Identifie l'action. Ne modifiez pas cette propriété, sauf si vous souhaitez modifier la version. Pour de plus amples informations, veuillez consulter [Spécification de la version de l'action à utiliser](workflows-action-versions.md).

Par défaut : `aws/lambda-invoke@v1`.

**Interface utilisateur correspondante : diagramme de flux de travail/ LambdaInvoke \$1nn/ aws/lambda-invoke @v1 label**

## DependsOn
<a name="lam.invoke.dependson"></a>

(*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](workflows-depends-on.md)

Interface utilisateur correspondante : onglet **Entrées/dépend de - facultatif**

## Compute
<a name="lam.invoke.computename"></a>

(*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 de plus amples informations, veuillez consulter [Partage du calcul entre les actions](compute-sharing.md).

Interface utilisateur correspondante : *aucune*

## Type
<a name="lam.invoke.computetype"></a>

(*LambdaInvoke*/Compute/**Type**)

(Obligatoire s'[Compute](#lam.invoke.computename)il 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](workflows-working-compute.md#compute.types).

Interface utilisateur correspondante : onglet Configuration/Type **de calcul**

## Fleet
<a name="lam.invoke.computefleet"></a>

(*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, consultez[Propriétés de la flotte à la demande](workflows-working-compute.md#compute.on-demand).

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 de la flotte de véhicules provisionnée](workflows-working-compute.md#compute.provisioned-fleets)

S'il `Fleet` est omis, la valeur par défaut est`Linux.x86-64.Large`.

Interface utilisateur correspondante : onglet Configuration/parc **de calcul**

## Timeout
<a name="lam.invoke.timeout"></a>

(*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 dans[Quotas pour les flux de travail dans CodeCatalyst](workflows-quotas.md). 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
<a name="lam.invoke.inputs"></a>

(*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
<a name="lam.invoke.inputs.sources"></a>

(*LambdaInvoke*/Inputs/**Sources**)

(Obligatoire s'[RequestPayloadFile](#lam.invoke.request.payload.file)il 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 est`WorkflowSource`.

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, consultez[RequestPayloadFile](#lam.invoke.request.payload.file).

**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 de plus amples informations, veuillez consulter [RequestPayload](#lam.invoke.request.payload). 

Pour plus d'informations sur les sources, consultez [Connecter les référentiels sources aux flux de travail](workflows-sources.md).

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

## Artifacts - input
<a name="lam.invoke.inputs.artifacts"></a>

(*LambdaInvoke*/Inputs/**Artifacts**)

(Obligatoire s'[RequestPayloadFile](#lam.invoke.request.payload.file)il 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](build-action-ref.md#build.outputs.artifacts) d'une action précédente, spécifiez cet artefact ici.

Pour plus d'informations sur le fichier de charge utile, consultez[RequestPayloadFile](#lam.invoke.request.payload.file).

**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 de plus amples informations, veuillez consulter [RequestPayload](#lam.invoke.request.payload). 

Pour plus d'informations sur les artefacts, y compris des exemples, consultez[Partage d'artefacts et de fichiers entre les actions](workflows-working-artifacts.md).

Interface utilisateur correspondante : onglet **Configuration/Artefacts - facultatif**

## Variables - input
<a name="lam.invoke.inputs.variables"></a>

(*LambdaInvoke*/Inputs/**Variables**)

(Facultatif)

Spécifiez une séquence de name/value paires qui définit 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 (\$1). 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, consultez[Utilisation de variables dans les flux de travail](workflows-working-with-variables.md).

Interface utilisateur correspondante : onglet **Entrées/Variables - facultatif**

## Environment
<a name="lam.invoke.environment"></a>

(*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](https://docs.aws.amazon.com/codecatalyst/latest/adminguide/managing-vpcs.add.html) 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 de plus amples informations, veuillez consulter [Modifier le rôle IAM d'une action](deploy-environments-switch-role.md).

Pour plus d'informations sur les environnements, reportez-vous [Déploiement dans Comptes AWS et VPCs](deploy-environments.md) aux sections et[Création d'un environnement](deploy-environments-creating-environment.md).

**Interface utilisateur correspondante : onglet Configuration/Environnement**

## Name
<a name="lam.invoke.environment.name"></a>

(*LambdaInvoke*/Environment/**Name**)

(Obligatoire s'[Environment](#lam.invoke.environment)il est inclus)

Spécifiez le nom de l'environnement existant que vous souhaitez associer à l'action.

**Interface utilisateur correspondante : onglet Configuration/Environnement**

## Connections
<a name="lam.invoke.environment.connections"></a>

(*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 sous`Environment`.

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, consultez[Création d'un environnement](deploy-environments-creating-environment.md).
+ 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, consultez[Permettre l'accès aux AWS ressources avec Connected Comptes AWS](ipa-connect-account.md). Pour plus d'informations sur l'ajout d'une connexion de compte à un environnement, consultez[Création d'un environnement](deploy-environments-creating-environment.md).

Interface utilisateur correspondante : l'une des options suivantes, selon la version de l'action :
+ (Versions plus récentes) tab/Environment/What La configuration est prête *my-environment* ? **/menu à trois points/ Changer de rôle**
+ **(Anciennes versions) Onglet de configuration/' Environment/account/role AWS '/ connexion au compte**

## Name
<a name="lam.invoke.environment.connections.name"></a>

(*LambdaInvoke*/Environment/Connections/**Name**)

(Obligatoire s'[Connections](#lam.invoke.environment.connections)il 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) tab/Environment/What La configuration est prête *my-environment* ? **/menu à trois points/ Changer de rôle**
+ **(Anciennes versions) Onglet de configuration/' Environment/account/role AWS '/ connexion au compte**

## Role
<a name="lam.invoke.environment.connections.role"></a>

(*LambdaInvoke*/Environment/Connections/**Role**)

(Obligatoire s'[Connections](#lam.invoke.environment.connections)il 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](ipa-connect-account-addroles.md) 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](deploy-environments.md) 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é.
+ La politique de confiance personnalisée suivante :

**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-*spaceName***rôle pour votre compte et votre espace](ipa-iam-roles.md#ipa-iam-roles-service-create). 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) tab/Environment/What La configuration est prête *my-environment* ? **/menu à trois points/ Changer de rôle**
+ **(Anciennes versions) Onglet de configuration/' '/ Rôle Environment/account/role**

## Configuration
<a name="lam.invoke.configuration"></a>

(*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
<a name="lam.invoke.function"></a>

(*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
<a name="lam.invoke.region"></a>

(*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](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints) dans le *Références générales AWS*.

Interface utilisateur correspondante : onglet **Configuration/compartiment de destination - facultatif**

## RequestPayload
<a name="lam.invoke.request.payload"></a>

(*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](https://docs.aws.amazon.com/lambda/latest/dg/API_Invoke.html) dans la *référence de l'AWS Lambda API*.

Interface utilisateur correspondante : onglet **Configuration/Charge utile de demande - facultatif**

## RequestPayloadFile
<a name="lam.invoke.request.payload.file"></a>

(*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](https://docs.aws.amazon.com/lambda/latest/dg/API_Invoke.html) dans la *référence de l'AWS Lambda API*.

Interface utilisateur correspondante : onglet **Configuration/fichier de charge utile de demande** - facultatif

## ContinueOnError
<a name="lam.invoke.continue"></a>

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

Interface utilisateur correspondante : onglet **Configuration/Continuer en cas d'erreur**

## LogType
<a name="lam.invoke.log.type"></a>

(*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](https://docs.aws.amazon.com/lambda/latest/dg/API_Invoke.html) dans la *référence des AWS Lambda API*.

Pour plus d’informations sur l’affichage des journaux, consultez [Afficher le statut et les détails de l'exécution du flux de travail](workflows-view-run.md).

Interface utilisateur correspondante : onglet Configuration/type de **journal**

## ResponseFilters
<a name="lam.invoke.response.filters"></a>

(*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, consultez[Utilisation de variables dans les flux de travail](workflows-working-with-variables.md).

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 de plus amples informations, veuillez consulter [variables « AWS Lambda  invoquer »](lam-invoke-action-variables.md).

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
<a name="lam.invoke.outputs"></a>

(*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
<a name="lam.invoke.outputs.artifacts"></a>

(*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, consultez[Partage d'artefacts et de fichiers entre les actions](workflows-working-artifacts.md).

**Interface utilisateur correspondante : onglet Sorties/Artifacts/ Nom de l'artefact de construction**

## Name
<a name="lam.invoke.outputs.artifacts.name"></a>

(*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 plus d’informations sur l’affichage des journaux, consultez [Afficher le statut et les détails de l'exécution du flux de travail](workflows-view-run.md).

**Interface utilisateur correspondante : onglet Sorties/Artifacts/ Nom de l'artefact de construction**

## Files
<a name="lam.invoke.outputs.artifacts.files"></a>

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