

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.

# Utiliser un événement pour exécuter une fonction Lambda
<a name="configure-service-events-lambda-function"></a>

 Cet exemple montre comment configurer une EventBridge règle qui lance une AWS Lambda fonction lorsqu'une version de package d'un CodeArtifact référentiel est publiée, modifiée ou supprimée. 

Pour plus d'informations, consultez [Tutoriel : Utilisation AWS Lambda des fonctions de planification EventBridge](https://docs.aws.amazon.com/eventbridge/latest/userguide/run-lambda-schedule.html) dans le *guide de EventBridge l'utilisateur Amazon*. 

**Topics**
+ [Création de la EventBridge règle](#configure-service-events-lambda-create-rule)
+ [Création de la cible de la EventBridge règle](#configure-service-events-lambda-create-rule-target)
+ [Configuration EventBridge des autorisations](#configure-service-events-lambda-permissions)

## Création de la EventBridge règle
<a name="configure-service-events-lambda-create-rule"></a>

 Pour créer une règle qui lance une fonction Lambda, utilisez la `put-rule` commande avec les options `--name` et`--event-pattern`. Le modèle suivant spécifie les packages npm dans le `@types` champ d'application de n'importe quel référentiel du `my_domain` domaine.

```
aws events put-rule --name "{{MyCodeArtifactRepoRule}}" --event-pattern \
  '{"source":["aws.codeartifact"],"detail-type":["CodeArtifact Package Version State Change"],
  "detail":{"domainName":["{{my_domain}}"],"domainOwner":["{{111122223333}}"],"packageNamespace":["types"],"packageFormat":["{{npm}}"]}}'
```

## Création de la cible de la EventBridge règle
<a name="configure-service-events-lambda-create-rule-target"></a>

 La commande suivante ajoute une cible à la règle qui exécute la fonction Lambda lorsqu'un événement correspond à la règle. Pour le `arn` paramètre, spécifiez l'Amazon Resource Name (ARN) de la fonction Lambda. 

```
aws events put-targets --rule {{MyCodeArtifactRepoRule}} --targets \
  Id=1,Arn=arn:aws:lambda:{{us-west-2}}:{{111122223333}}:function:{{MyLambdaFunction}}
```

## Configuration EventBridge des autorisations
<a name="configure-service-events-lambda-permissions"></a>

 Utilisez la `add-permission` commande pour autoriser la règle à invoquer une fonction Lambda. Pour le `--source-arn` paramètre, spécifiez l'ARN de la règle que vous avez créée précédemment dans cet exemple. 

```
aws lambda add-permission --function-name {{MyLambdaFunction}} \\
  --statement-id {{my-statement-id}} --action 'lambda:InvokeFunction' \\
  --principal events.amazonaws.com \\
  --source-arn arn:aws:events:{{us-west-2}}:{{111122223333}}:rule/{{MyCodeArtifactRepoRule}}
```