Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
CodeArtifact est intégré à Amazon EventBridge, un service qui automatise les événements et y répond, notamment les modifications apportées à un CodeArtifact référentiel. Vous pouvez créer des règles pour les événements et configurer ce qui se passe lorsqu'un événement correspond à une règle. EventBridge s'appelait auparavant CloudWatch Events.
Les actions suivantes peuvent être déclenchées par un événement :
-
Invocation d'une AWS Lambda fonction.
-
Activation d'une machine à AWS Step Functions états.
-
Notification d'une rubrique Amazon SNS ou d'une file d'attente Amazon SQS.
-
Démarrage d'un pipeline dans AWS CodePipeline.
CodeArtifact crée un événement lors de la création, de la modification ou de la suppression d'une version de package. Voici des exemples d' CodeArtifact événements :
-
Publier une nouvelle version de package (par exemple, en exécutant
npm publish
). -
Ajouter un nouvel actif à une version de package existante (par exemple, en transférant un nouveau fichier JAR vers un package Maven existant).
-
Copier une version de package d'un référentiel à un autre en utilisant
copy-package-versions
. Pour de plus amples informations, veuillez consulter Copier des packages entre des référentiels. -
Suppression de versions de package à l'aide de
delete-package-versions
. Pour de plus amples informations, veuillez consulter Supprimer un package ou une version de package. -
Supprimer les versions d'un package à l'aide de
delete-package
. Un événement sera publié pour chaque version du package supprimé. Pour de plus amples informations, veuillez consulter Supprimer un package ou une version de package. -
Conserver la version d'un package dans un référentiel en aval lorsqu'elle a été extraite d'un référentiel en amont. Pour de plus amples informations, veuillez consulter Utilisation de référentiels en amont dans CodeArtifact.
-
Ingestion d'une version de package depuis un référentiel externe dans un CodeArtifact référentiel. Pour de plus amples informations, veuillez consulter Connect un CodeArtifact dépôt à un dépôt public.
Les événements sont transmis à la fois au compte propriétaire du domaine et au compte qui administre le référentiel. Supposons, par exemple, que le compte 111111111111
possède le domainemy_domain
. 222222222222
Le compte crée un référentiel dans my_domain
calledrepo2
. Lorsqu'une nouvelle version du package est publiée surrepo2
, les deux comptes reçoivent les EventBridge événements. Le compte propriétaire du domaine (111111111111
) reçoit des événements pour tous les référentiels du domaine. Si un seul compte possède à la fois le domaine et le référentiel qu'il contient, un seul événement est diffusé.
Les rubriques suivantes décrivent le format de l' CodeArtifact événement. Ils vous montrent comment configurer les CodeArtifact événements et comment les utiliser avec d'autres AWS services. Pour plus d'informations, consultez Getting Started with Amazon EventBridge dans le guide de EventBridge l'utilisateur Amazon.
CodeArtifact format d'événement et exemple
Vous trouverez ci-dessous des champs et des descriptions d'événements, ainsi qu'un exemple d' CodeArtifact événement.
CodeArtifact format de l'événement
Tous les CodeArtifact événements incluent les champs suivants.
Champ d'événement | Description |
---|---|
version ; | Version du format de l'événement . Il n'existe actuellement qu'une seule version,0 . |
id | Identifiant unique de l'événement. |
detail-type | Type d'événement. Cela détermine les champs de l'detail objet. Celui detail-type actuellement pris en charge estCodeArtifact Package Version State Change . |
source | La source de l'événement. Car CodeArtifact ce sera le casaws.codeartifact . |
compte | L' AWS identifiant du compte qui reçoit l'événement. |
time | Heure exacte à laquelle l'événement a été déclenché. |
region | Région dans laquelle l'événement a été déclenché. |
resources | Une liste qui contient l'ARN du package modifié. La liste contient une entrée. Pour plus d'informations sur le format ARN du package, consultezAccorder l'accès en écriture aux packages. |
domainName | Le domaine qui contient le référentiel contenant le package. |
Propriétaire du domaine | L'ID de AWS compte du propriétaire du domaine. |
Nom du référentiel | Le référentiel qui contient le package. |
Administrateur du référentiel | ID de AWS compte de l'administrateur du référentiel. |
Format du colis | Format du package qui a déclenché l'événement. |
Espace de noms de paquets | L'espace de noms du package qui a déclenché l'événement. |
Nom du package | Nom du package qui a déclenché l'événement. |
Version du package | Version du package qui a déclenché l'événement. |
packageVersionState | État de la version du package lorsque l'événement a été déclenché. Les valeurs admises sont Unfinished , Published , Unlisted , Archived et Disposed . |
packageVersionRevision | Valeur qui identifie de manière unique l'état des actifs et des métadonnées de la version du package lorsque l'événement a été déclenché. Si la version du package est modifiée (par exemple, en ajoutant un autre fichier JAR à un package Maven), les packageVersionRevision modifications sont modifiées. |
Changements. Actifs ajoutés | Nombre de ressources ajoutées à un package qui ont déclenché un événement. Un fichier Maven JAR ou une roue Python sont des exemples d'actifs. |
Changements. Actifs supprimés | Le nombre de ressources supprimées d'un package qui a déclenché un événement. |
Changements. Actifs mis à jour | Le nombre de ressources modifiées dans le package qui a déclenché l'événement. |
Changes.MetadataMis à jour | Valeur booléenne définie sur true si l'événement inclut des métadonnées modifiées au niveau du package. Par exemple, un événement peut modifier un pom.xml fichier Maven. |
Changements. État modifié | Valeur booléenne définie sur true si l'événement packageVersionStatus est modifié (par exemple, s'il packageVersionStatus passe de Unfinished àPublished ). |
Type d'opération | Décrit le type de haut niveau du changement de version du package. Les valeurs possibles sont Created , Updated et Deleted . |
sequenceNumber | Nombre entier qui indique le numéro d'événement d'un package. Chaque événement d'un package l'incrémente sequenceNumber afin que les événements puissent être organisés de manière séquentielle. Un événement peut l'incrémenter de sequenceNumber n'importe quel nombre entier. Note EventBridge les événements peuvent être reçus dans le désordre. |
eventDeduplicationId | ID utilisé pour différencier les EventBridge événements dupliqués. Dans de rares cas, la même règle EventBridge peut être déclenchée plusieurs fois pour un seul événement ou à une heure planifiée. Il peut également invoquer la même cible plusieurs fois pour une règle déclenchée donnée. |
CodeArtifact exemple d'événement
Voici un exemple d' CodeArtifact événement susceptible d'être déclenché lors de la publication d'un package 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="
}
}