

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Utilizzare un evento per eseguire una funzione Lambda
<a name="configure-service-events-lambda-function"></a>

 Questo esempio mostra come configurare una EventBridge regola che avvia una AWS Lambda funzione quando una versione di pacchetto in un CodeArtifact repository viene pubblicata, modificata o eliminata. 

Per ulteriori informazioni, consulta [Tutorial: Schedule AWS Lambda Functions Using EventBridge](https://docs.aws.amazon.com/eventbridge/latest/userguide/run-lambda-schedule.html) in the *Amazon EventBridge User Guide*. 

**Topics**
+ [Crea la EventBridge regola](#configure-service-events-lambda-create-rule)
+ [Crea l'obiettivo della regola EventBridge](#configure-service-events-lambda-create-rule-target)
+ [Configura le autorizzazioni EventBridge](#configure-service-events-lambda-permissions)

## Crea la EventBridge regola
<a name="configure-service-events-lambda-create-rule"></a>

 Per creare una regola che avvia una funzione Lambda, usa il `put-rule` comando con le opzioni `--name` e`--event-pattern`. Lo schema seguente specifica i pacchetti npm nell'`@types`ambito di qualsiasi repository del dominio. `my_domain`

```
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}}"]}}'
```

## Crea l'obiettivo della regola EventBridge
<a name="configure-service-events-lambda-create-rule-target"></a>

 Il comando seguente aggiunge una destinazione alla regola che esegue la funzione Lambda quando un evento corrisponde alla regola. Per il `arn` parametro, specifica l'Amazon Resource Name (ARN) della funzione Lambda. 

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

## Configura le autorizzazioni EventBridge
<a name="configure-service-events-lambda-permissions"></a>

 Usa il `add-permission` comando per concedere le autorizzazioni alla regola per richiamare una funzione Lambda. Per il `--source-arn` parametro, specificate l'ARN della regola creata in precedenza in questo esempio. 

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