Use um evento para executar uma função do Lambda - CodeArtifact

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

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 no Guia EventBridge do usuário da Amazon.

Crie a EventBridge regra

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

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 permissões do EventBridge

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