Gérer les métadonnées d'un artefact

Cette page explique comment gérer les métadonnées associées à un artefact stocké dans Artifact Registry en tant que pièce jointe.

Les pièces jointes sont des fichiers qui stockent des métadonnées sur un artefact associé stocké dans Artifact Registry. Pour savoir comment créer une pièce jointe, consultez Stocker les métadonnées des artefacts dans des pièces jointes.

Avant de commencer

Facultatif : Configurez des valeurs par défaut pour les commandes Google Cloud CLI.

Rôles requis

Pour obtenir les autorisations nécessaires pour gérer les pièces jointes, demandez à votre administrateur de vous accorder les rôles IAM suivants sur le dépôt :

Pour en savoir plus sur l'attribution de rôles, consultez Gérer l'accès aux projets, aux dossiers et aux organisations.

Vous pouvez également obtenir les autorisations requises avec des rôles personnalisés ou d'autres rôles prédéfinis.

Pièces jointes des listes

Un artefact dans Artifact Registry peut comporter un nombre illimité de pièces jointes qui y font référence. Vous pouvez lister les pièces jointes à l'aide de la console Google Cloud , de la gcloud CLI ou, pour les images de conteneurs au format Docker uniquement, d'Oras.

Console (Docker uniquement)

  1. Dans la console Google Cloud , ouvrez la page Dépôts.

    Ouvrir la page "Dépôts"

  2. Cliquez sur le nom du dépôt pour afficher les images qu'il contient.

  3. Pour afficher les versions d'une image, cliquez sur son nom.

  4. Cliquez sur la version appropriée de l'image.

  5. Pour afficher les pièces jointes de cette version, cliquez sur l'onglet Pièces jointes.

gcloud

Avant d'utiliser les données de la commande ci-dessous, effectuez les remplacements suivants :

  • TARGET : nom complet de la version. Pour les images Docker uniquement, vous pouvez également utiliser l'URI Artifact Registry de l'artefact auquel la pièce jointe fait référence. Dans l'URI, vous pouvez utiliser le résumé ou, pour les images Docker, le tag (par exemple, us-west1-docker.pkg.dev/my-project/my-repo/my-image:tag1).

Exécutez la commande suivante :

Linux, macOS ou Cloud Shell

gcloud artifacts attachments list \
    --target=TARGET

Windows (PowerShell)

gcloud artifacts attachments list `
    --target=TARGET

Windows (cmd.exe)

gcloud artifacts attachments list ^
    --target=TARGET
Pour en savoir plus, consultez la commande gcloud artifacts attachments list.

Oras (Docker uniquement)

Avant d'exécuter la commande, effectuez le remplacement suivant :

  • IMAGE_URI : URI de l'image cible à laquelle font référence les pièces jointes listées.
oras discover --distribution-spec v1.1-referrers-api IMAGE_URI

L'exemple suivant liste les pièces jointes pour une image de conteneur, my-image, identifiée par son URI et son tag :

oras discover --distribution-spec v1.1-referrers-api \
us-west1-docker.pkg.dev/my-project/my-repo/my-image:tag1

Où :

  • v1.1-referrers-api correspond à l'API Referrer utilisée. Pour en savoir plus, consultez les détails de la spécification de distribution.

  • us-west1-docker.pkg.dev/my-project/my-repo/my-image:tag1 est l'URI, y compris le tag de la version de l'image de conteneur pour laquelle lister les pièces jointes.

Pour obtenir un guide complet et d'autres exemples, consultez la documentation oras discover.

Décrire les pièces jointes

Avant d'utiliser les données de la commande ci-dessous, effectuez les remplacements suivants :

  • ATTACHMENT : nom complet du rattachement, par exemple projects/my-project/locations/us-west1/repositories/my-repo/attachments/my-attachment. Vous pouvez également ne fournir que l'ID de pièce jointe et utiliser les options --location et --repository.

Exécutez la commande suivante :

Linux, macOS ou Cloud Shell

gcloud artifacts attachments describe ATTACHMENT

Windows (PowerShell)

gcloud artifacts attachments describe ATTACHMENT

Windows (cmd.exe)

gcloud artifacts attachments describe ATTACHMENT
Pour en savoir plus, consultez la commande gcloud artifacts attachments describe.

Télécharger les pièces jointes

Vous pouvez télécharger des pièces jointes à l'aide de la gcloud CLI ou, pour les images de conteneurs au format Docker uniquement, d'Oras.

gcloud

Avant d'utiliser les données de la commande ci-dessous, effectuez les remplacements suivants :

  • ATTACHMENT : nom complet du rattachement, par exemple projects/my-project/locations/us-west1/repositories/my-repo/attachments/my-attachment. Vous pouvez également ne fournir que l'ID de pièce jointe et utiliser les options --location et --repository.
  • DESTINATION : chemin d'accès dans votre système de fichiers local pour télécharger la pièce jointe.

Exécutez la commande suivante :

Linux, macOS ou Cloud Shell

gcloud artifacts attachments download ATTACHMENT \
    --destination=DESTINATION

Windows (PowerShell)

gcloud artifacts attachments download ATTACHMENT `
    --destination=DESTINATION

Windows (cmd.exe)

gcloud artifacts attachments download ATTACHMENT ^
    --destination=DESTINATION
Pour les pièces jointes dans les dépôts au format Docker, vous pouvez fournir l'indicateur --oci-version-name suivi du nom complet de la version de la pièce jointe ou de l'URI Artifact Registry au lieu de ATTACHMENT. Vous pouvez utiliser le condensé ou le tag (par exemple, projects/my-project/locations/us-west1/repositories/my-repo/packages/my-package/versions/sha256:abc123).

Pour en savoir plus, consultez la commande gcloud artifacts attachments download.

Oras (Docker uniquement)

Avant d'exécuter la commande, effectuez les remplacements suivants :

  • DESTINATION : répertoire de destination de votre pièce jointe.

  • ATTACHMENT_URI : URI de la pièce jointe à télécharger. Il s'agit de l'URI du conteneur d'image auquel la pièce jointe fait référence, suivi du SHA unique de la pièce jointe.

oras pull -o DESTINATION ATTACHMENT_URI

L'exemple suivant télécharge une pièce jointe identifiée par son URI et son condensé :

oras pull -o . us-west1-docker.pkg.dev/my-project/my-repo/my-image@sha256:xxxx

Où :

  • -o . désigne le répertoire actuel comme destination de téléchargement.

  • us-west1-docker.pkg.dev/my-project/my-repo/my-image@sha256:xxxx correspond à l'URI de l'image, y compris le résumé de la pièce jointe à télécharger.

Pour obtenir un guide complet et d'autres exemples, consultez la documentation oras pull.

Supprimer des pièces jointes

Vous pouvez supprimer des pièces jointes directement à l'aide de la console Google Cloud ou de gcloud CLI. Vous pouvez supprimer indirectement des pièces jointes en supprimant l'artefact auquel elles font référence.

Supprimer directement des pièces jointes

Vous pouvez supprimer des pièces jointes directement à l'aide de l'une des options suivantes :

Console (Docker uniquement)

  1. Dans la console Google Cloud , ouvrez la page Dépôts.

    Ouvrir la page "Dépôts"

  2. Cliquez sur le nom du dépôt pour afficher les images qu'il contient.

  3. Cliquez sur le nom de l'image pour afficher ses versions.

  4. Cliquez sur la version de l'image pour laquelle vous souhaitez afficher les pièces jointes.

  5. Cliquez sur l'onglet Pièces jointes pour afficher les pièces jointes de cette version.

  6. Cliquez sur le résumé de la pièce jointe à supprimer.

  7. Cliquez sur SUPPRIMER.

  8. Dans la boîte de dialogue de confirmation, cliquez sur SUPPRIMER.

gcloud

Avant d'utiliser les données de la commande ci-dessous, effectuez les remplacements suivants :

  • ATTACHMENT : nom complet du rattachement, par exemple projects/my-project/locations/us-west1/repositories/my-repo/attachments/my-attachment. Vous pouvez également ne fournir que l'ID de pièce jointe et utiliser les options --location et --repository.

Exécutez la commande suivante :

Linux, macOS ou Cloud Shell

gcloud artifacts attachments delete ATTACHMENT

Windows (PowerShell)

gcloud artifacts attachments delete ATTACHMENT

Windows (cmd.exe)

gcloud artifacts attachments delete ATTACHMENT
Pour en savoir plus, consultez la commande gcloud artifacts attachments delete.

Supprimer indirectement des pièces jointes

Si un artefact est supprimé, toutes les pièces jointes dont le nom de version de l'artefact supprimé est le target sont également supprimées. Cela s'applique à la fois à la suppression manuelle des artefacts et aux suppressions causées par les règles de nettoyage.

Étapes suivantes