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

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

Para obter mais informações, consulte Tutorial: Agendar funções AWS Lambda usando o EventBridge no Guia do usuário do Amazon EventBridge.

Criar a regra do EventBridge

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

Criar o destino da regra do EventBridge

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