

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Use um evento para executar uma função do Lambda
<a name="configure-service-events-lambda-function"></a>

 Este exemplo mostra como configurar uma EventBridge regra que inicia uma AWS Lambda função quando uma versão do pacote em um CodeArtifact repositório é publicada, modificada ou excluída. 

Para obter mais informações, consulte [Tutorial: Agendar o uso de AWS Lambda funções EventBridge](https://docs.aws.amazon.com/eventbridge/latest/userguide/run-lambda-schedule.html) no *Guia EventBridge do usuário da Amazon*. 

**Topics**
+ [Crie a EventBridge regra](#configure-service-events-lambda-create-rule)
+ [Crie o destino da EventBridge regra](#configure-service-events-lambda-create-rule-target)
+ [Configurar EventBridge permissões](#configure-service-events-lambda-permissions)

## Crie a EventBridge regra
<a name="configure-service-events-lambda-create-rule"></a>

 Para criar uma regra que inicie uma função do Lambda, use o comando `put-rule` com as opções `--name` e `--event-pattern`. O padrão a seguir especifica pacotes npm no escopo do `@types` em qualquer repositório no domínio `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}}"]}}'
```

## Crie o destino da EventBridge regra
<a name="configure-service-events-lambda-create-rule-target"></a>

 O comando a seguir adiciona um destino à regra que executa a função do Lambda quando um evento corresponde à regra. Para o parâmetro `arn`, especifique o nome do recurso da Amazon (ARN) da função do Lambda. 

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

## Configurar EventBridge permissões
<a name="configure-service-events-lambda-permissions"></a>

 Use o comando `add-permission` para conceder permissões para a regra invocar uma função do Lambda. Para o parâmetro `--source-arn`, especifique o ARN da regra criada anteriormente neste exemplo. 

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