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á.
CodeArtifact é integrado à Amazon EventBridge, um serviço que automatiza e responde a eventos, incluindo alterações em um CodeArtifact repositório. Você pode criar regras para eventos e configurar o que acontece quando um evento corresponde a uma regra. EventBridge era anteriormente chamado de CloudWatch Eventos.
As seguintes ações podem ser acionadas por um evento:
-
Invocando uma AWS Lambda função.
-
Ativando uma máquina de AWS Step Functions estado.
-
Notificação de um tópico do Amazon SNS ou de uma fila do Amazon SQS.
-
Iniciando um pipeline em AWS CodePipeline.
CodeArtifact cria um evento quando uma versão do pacote é criada, modificada ou excluída. Veja a seguir exemplos de CodeArtifact eventos:
-
Publicar uma nova versão de pacote (por exemplo, executando
npm publish
). -
Adicionar um novo ativo a uma versão de pacote existente (por exemplo, enviando um novo arquivo JAR para um pacote Maven existente).
-
Copiar uma versão de pacote de um repositório para outro usando
copy-package-versions
. Para obter mais informações, consulte Copiar pacotes entre repositórios. -
Excluir versões do pacote usando o
delete-package-versions
. Para obter mais informações, consulte Excluir um pacote ou uma versão do pacote. -
Excluir versões de um pacote usando o
delete-package
. Um evento será publicado para cada versão do pacote excluído. Para obter mais informações, consulte Excluir um pacote ou uma versão do pacote. -
Manter uma versão de pacote em um repositório downstream quando ela foi obtida de um repositório upstream. Para obter mais informações, consulte Trabalhando com repositórios upstream em CodeArtifact.
-
Ingestão de uma versão de pacote de um repositório externo em um CodeArtifact repositório. Para obter mais informações, consulte Conectar um CodeArtifact repositório a um repositório público.
Os eventos são entregues tanto para a conta proprietária do domínio quanto para a que administra o repositório. Por exemplo, suponha que essa conta 111111111111
seja proprietária do domínio my_domain
. A conta 222222222222
cria um repositório no my_domain
chamado repo2
. Quando uma nova versão do pacote é publicada norepo2
, ambas as contas recebem os EventBridge eventos. A conta proprietária do domínio (111111111111
) recebe eventos para todos os repositórios no domínio. Se uma única conta for proprietária tanto do domínio quanto do repositório dentro dela, somente um único evento será entregue.
Os tópicos a seguir descrevem o formato do CodeArtifact evento. Eles mostram como configurar CodeArtifact eventos e como usar eventos com outros AWS serviços. Para obter mais informações, consulte Getting Started with Amazon EventBridge no Guia EventBridge do usuário da Amazon.
CodeArtifact formato e exemplo de evento
A seguir estão os campos e as descrições do evento, juntamente com um exemplo de um CodeArtifact evento.
CodeArtifact formato de evento
Todos os CodeArtifact eventos incluem os seguintes campos.
Campo do evento | Descrição |
---|---|
version | A versão do formato do evento. Atualmente, há apenas uma versão, 0 . |
id | Um identificador exclusivo do evento. |
tipo de detalhe | O tipo de evento. Determina os campos no objeto detail . Atualmente, o único detail-type compatível é CodeArtifact Package Version State Change . |
origem | A origem do evento. Pois CodeArtifact, seráaws.codeartifact . |
conta | O AWS ID da conta que recebe o evento. |
horário | O horário exato em que o evento foi acionado. |
região | A região onde o evento foi acionado. |
recursos | Uma lista que contém o ARN do pacote que foi alterado. A lista contém uma entrada. Para obter informações sobre o formato do ARN do pacote, consulte Conceder acesso de gravação aos pacotes. |
domainName | O domínio que contém o repositório contendo o pacote. |
domainOwner | O ID da AWS conta do proprietário do domínio. |
repositoryName | O repositório que contém o pacote. |
repositoryAdministrator | O ID da AWS conta do administrador do repositório. |
packageFormat | O formato do pacote que acionou o evento. |
packageNamespace | O namespace do pacote que acionou o evento. |
packageName | O nome do pacote que acionou o evento. |
packageVersion | A versão do pacote que acionou o evento. |
packageVersionState | O estado da versão do pacote quando o evento foi acionado. Os valores possíveis são Unfinished , Published , Unlisted , Archived e Disposed . |
packageVersionRevision | Um valor que identifica de maneira exclusiva o estado dos ativos e metadados da versão do pacote quando o evento foi acionado. Se a versão do pacote for modificada (por exemplo, com a adição de outro arquivo JAR a um pacote Maven), packageVersionRevision mudará. |
changes.assetsAdded | O número de ativos adicionados a um pacote que acionou um evento. Exemplos de um ativo são um arquivo JAR do Maven ou wheel do Python. |
changes.assetsRemoved | O número de ativos removidos de um pacote que acionou um evento. |
changes.assetsUpdated | O número de ativos modificados no pacote que acionou o evento. |
changes.metadataUpdated | Um valor booleano definido como true se o evento incluir metadados modificados em nível de pacote. Por exemplo, um evento pode modificar um arquivo pom.xml do Maven. |
changes.statusChanged | Um valor booleano definido como true se o packageVersionStatus do evento for modificado (por exemplo, se packageVersionStatus mudar de Unfinished paraPublished ). |
operationType | Descreve o tipo de alto nível da alteração da versão do pacote. Os valores possíveis são Created , Updated e Deleted . |
sequenceNumber | Um número inteiro que especifica um número de evento para um pacote. Cada evento em um pacote o incrementa o sequenceNumber para que os eventos possam ser dispostos de maneira sequencial. Um evento pode incrementar o sequenceNumber em qualquer número inteiro. nota EventBridge os eventos podem ser recebidos fora de ordem. |
eventDeduplicationId | Um ID usado para diferenciar eventos duplicados. EventBridge Em casos raros, EventBridge pode acionar a mesma regra mais de uma vez para um único evento ou horário agendado. Ou pode invocar mais de uma vez o mesmo alvo para uma determinada regra acionada. |
CodeArtifact exemplo de evento
Veja a seguir um exemplo de um CodeArtifact evento que pode ser acionado quando um pacote npm é publicado.
{
"version":"0",
"id":"73f03fec-a137-971e-6ac6-07c8ffffffff",
"detail-type":"CodeArtifact Package Version State Change",
"source":"aws.codeartifact",
"account":"123456789012",
"time":"2019-11-21T23:19:54Z",
"region":"us-west-2",
"resources":["arn:aws:codeartifact:us-west-2:111122223333:package/my_domain/myrepo/npm//mypackage"],
"detail":{
"domainName":"my_domain",
"domainOwner":"111122223333",
"repositoryName":"myrepo",
"repositoryAdministrator":"123456789012",
"packageFormat":"npm",
"packageNamespace":null,
"packageName":"mypackage",
"packageVersion":"1.0.0",
"packageVersionState":"Published",
"packageVersionRevision":"0E5DE26A4CD79FDF3EBC4924FFFFFFFF",
"changes":{
"assetsAdded":1,
"assetsRemoved":0,
"metadataUpdated":true,
"assetsUpdated":0,
"statusChanged":true
},
"operationType":"Created",
"sequenceNumber":1,
"eventDeduplicationId":"2mEO0A2Ke07rWUTBXk3CAiQhdTXF4N94LNaT/ffffff="
}
}