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à.
CodeArtifact è integrato con Amazon EventBridge, un servizio che automatizza e risponde agli eventi, comprese le modifiche in un CodeArtifact repository. Puoi creare regole per gli eventi e configurare cosa succede quando un evento corrisponde a una regola. EventBridge in precedenza si CloudWatch chiamava Events.
Le seguenti azioni possono essere attivate da un evento:
-
Invocare una funzione AWS Lambda .
-
Attivazione di una macchina a AWS Step Functions stati.
-
Notifica di un argomento di Amazon SNS o di una coda Amazon SQS.
-
Avvio di una pipeline in. AWS CodePipeline
CodeArtifact crea un evento quando viene creata, modificata o eliminata una versione del pacchetto. Di seguito sono riportati alcuni esempi di CodeArtifact eventi:
-
Pubblicazione di una nuova versione del pacchetto (ad esempio, eseguendo
npm publish
). -
Aggiungere una nuova risorsa a una versione del pacchetto esistente (ad esempio, inserendo un nuovo file JAR in un pacchetto Maven esistente).
-
Copiare una versione del pacchetto da un repository a un altro utilizzando.
copy-package-versions
Per ulteriori informazioni, consulta Copia i pacchetti tra i repository. -
Eliminazione delle versioni del pacchetto utilizzando.
delete-package-versions
Per ulteriori informazioni, consulta Eliminare un pacchetto o una versione del pacchetto. -
Eliminazione delle versioni di un pacchetto utilizzando.
delete-package
Verrà pubblicato un evento per ogni versione del pacchetto eliminato. Per ulteriori informazioni, consulta Eliminare un pacchetto o una versione del pacchetto. -
Conservazione della versione del pacchetto in un repository downstream quando è stata recuperata da un repository upstream. Per ulteriori informazioni, consulta Lavorare con i repository upstream in CodeArtifact.
-
Inserimento di una versione del pacchetto da un repository esterno in un repository. CodeArtifact Per ulteriori informazioni, consulta Connect un CodeArtifact repository a un repository pubblico.
Gli eventi vengono recapitati sia all'account proprietario del dominio sia all'account che amministra il repository. Ad esempio, supponiamo che l'account 111111111111
possieda il dominio. my_domain
L'account 222222222222
crea un repository in my_domain
called. repo2
Quando viene pubblicata una nuova versione del pacchetto surepo2
, entrambi gli account ricevono gli EventBridge eventi. L'account proprietario del dominio (111111111111
) riceve gli eventi per tutti gli archivi del dominio. Se un singolo account possiede sia il dominio che il repository al suo interno, viene consegnato un solo evento.
I seguenti argomenti descrivono il formato CodeArtifact dell'evento. Ti mostrano come configurare CodeArtifact gli eventi e come utilizzarli con altri AWS servizi. Per ulteriori informazioni, consulta la sezione Getting Started with Amazon EventBridge nella Amazon EventBridge User Guide.
CodeArtifact formato ed esempio dell'evento
Di seguito sono riportati i campi e le descrizioni degli eventi insieme a un esempio di CodeArtifact evento.
CodeArtifact formato dell'evento
Tutti CodeArtifact gli eventi includono i seguenti campi.
Campo Evento | Descrizione |
---|---|
versione | La versione del formato dell'evento . Attualmente esiste una sola versione,0 . |
id | Un identificatore univoco per l'evento. |
detail-type (tipo di dettaglio) | Tipo di evento. Questo determina i campi dell'detail oggetto. Quello detail-type attualmente supportato èCodeArtifact Package Version State Change . |
source | L'origine dell'evento. Perché CodeArtifact lo saràaws.codeartifact . |
account | L' AWS ID dell'account che riceve l'evento. |
time | L'ora esatta in cui è stato attivato l'evento. |
Regione | La regione in cui è stato attivato l'evento. |
risorse | Un elenco che contiene l'ARN del pacchetto modificato. L'elenco contiene una voce. Per informazioni sul formato ARN del pacchetto, vedere. Concedi l'accesso in scrittura ai pacchetti |
domainName | Il dominio che contiene il repository che contiene il pacchetto. |
Proprietario del dominio | L'ID dell' AWS account del proprietario del dominio. |
Nome del repository | Il repository che contiene il pacchetto. |
Amministratore del repository | L'ID AWS dell'account dell'amministratore del repository. |
Formato del pacchetto | Il formato del pacchetto che ha attivato l'evento. |
PackageNameSpace | Lo spazio dei nomi del pacchetto che ha attivato l'evento. |
Nome del pacchetto | Il nome del pacchetto che ha attivato l'evento. |
Versione del pacchetto | La versione del pacchetto che ha attivato l'evento. |
packageVersionState | Lo stato della versione del pacchetto al momento dell'attivazione dell'evento. I valori possibili sono Unfinished , Published , Unlisted , Archived e Disposed . |
packageVersionRevision | Un valore che identifica in modo univoco lo stato delle risorse e dei metadati della versione del pacchetto al momento dell'attivazione dell'evento. Se la versione del pacchetto viene modificata (ad esempio, aggiungendo un altro file JAR a un pacchetto Maven), le modifiche vengono apportate. packageVersionRevision |
Modifiche.Assets Added | Il numero di risorse aggiunte a un pacchetto che ha attivato un evento. Esempi di una risorsa sono un file JAR Maven o una ruota Python. |
Modifiche. Risorse rimosse | Il numero di risorse rimosse da un pacchetto che ha attivato un evento. |
Changes.Assets (aggiornato) | Il numero di asset modificati nel pacchetto che ha attivato l'evento. |
Modifiche.MetadataUpdated | Un valore booleano impostato su se l'evento include metadati modificati a livello di pacchettotrue . Ad esempio, un evento potrebbe modificare un file Maven. pom.xml |
changes.statusChanged | Un valore booleano impostato su true se l'evento packageVersionStatus viene modificato (ad esempio, se cambia da a). packageVersionStatus Unfinished Published |
Tipo di operazione | Descrive il tipo di alto livello della modifica della versione del pacchetto. I valori possibili sono Created , Updated e Deleted . |
SequenceNumber | Un numero intero che specifica un numero di evento per un pacchetto. Ogni evento su un pacchetto incrementa la dimensione in modo che gli eventi sequenceNumber possano essere disposti in sequenza. Un evento può incrementarlo di qualsiasi sequenceNumber numero intero. Nota EventBridge gli eventi potrebbero essere ricevuti in modo errato. |
eventDeduplicationId | Un ID utilizzato per differenziare gli eventi duplicati. EventBridge In rari casi, EventBridge potrebbe attivare la stessa regola più di una volta per un singolo evento o orario programmato. In alternativa, potrebbe richiamare lo stesso obiettivo più di una volta per una determinata regola attivata. |
CodeArtifact esempio di evento
Di seguito è riportato un esempio di CodeArtifact evento che potrebbe essere attivato quando viene pubblicato un pacchetto npm.
{
"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="
}
}