Gerenciar metadados do artefato

Esta página descreve como gerenciar metadados relacionados a um artefato armazenado no Artifact Registry como um anexo.

Os anexos são arquivos que armazenam metadados sobre um artefato relacionado armazenado no Artifact Registry. Para saber como criar um anexo, consulte Armazenar metadados de artefato em anexos.

Antes de começar

Opcional: configure padrões para comandos da CLI do Google Cloud.

Funções exigidas

Para conseguir as permissões necessárias para gerenciar anexos, peça ao administrador para conceder a você os seguintes papéis do IAM no repositório:

Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.

Também é possível conseguir as permissões necessárias por meio de papéis personalizados ou de outros papéis predefinidos.

Anexos da lista

Um artefato no Artifact Registry pode ter qualquer número de anexos que se refiram a ele. É possível listar os anexos usando o console do Google Cloud, a CLI gcloud ou, apenas para imagens de contêiner no formato Docker, o Oras.

Console (somente Docker)

  1. No Console do Google Cloud, abra a página Repositórios.

    Abrir a página Repositórios

  2. Clique no nome do repositório para ver as imagens.

  3. Para conferir as versões de uma imagem, clique no nome dela.

  4. Clique na versão de imagem adequada.

  5. Para conferir os anexos dessa versão, clique na guia Anexos.

gcloud

Antes de usar os dados do comando abaixo, faça estas substituições:

  • TARGET: o nome da versão totalmente qualificado. Somente para imagens do Docker, também é possível usar o URI do Artifact Registry do artefato ao qual o anexo se refere. No URI, é possível usar o resumo ou, para imagens do Docker, a tag, por exemplo, us-west1-docker.pkg.dev/my-project/my-repo/my-image:tag1.

Execute o seguinte comando:

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
Para mais informações, consulte o comando gcloud artifacts attachments list.

Oras (somente Docker)

Antes de executar o comando, faça a seguinte substituição:

  • IMAGE_URI: o URI da imagem de destino mencionada por qualquer anexo listado.
oras discover --distribution-spec v1.1-referrers-api IMAGE_URI

O exemplo a seguir lista anexos para uma imagem do contêiner, my-image, identificada pelo URI e pela tag:

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

Em que:

  • v1.1-referrers-api é a API de referenciador usada. Para mais informações, consulte os detalhes na especificação de distribuição.

  • us-west1-docker.pkg.dev/my-project/my-repo/my-image:tag1 é o URI que inclui a tag da versão da imagem do contêiner para listar anexos.

Para um guia completo e mais exemplos, consulte a documentação do oras discover.

Descrever anexos

Antes de usar os dados do comando abaixo, faça estas substituições:

  • ATTACHMENT: o nome totalmente qualificado do anexo, como projects/my-project/locations/us-west1/repositories/my-repo/attachments/my-attachment. Como alternativa, informe apenas o ID do anexo e use as flags --location e --repository.

Execute o seguinte comando:

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
Para mais informações, consulte o comando gcloud artifacts attachments describe.

Fazer o download de anexos

É possível fazer o download de anexos usando a CLI gcloud ou, apenas para imagens de contêiner no formato Docker, o Oras.

gcloud

Antes de usar os dados do comando abaixo, faça estas substituições:

  • ATTACHMENT: o nome totalmente qualificado do anexo, como projects/my-project/locations/us-west1/repositories/my-repo/attachments/my-attachment. Como alternativa, informe apenas o ID do anexo e use as flags --location e --repository.
  • DESTINATION: o caminho no seu sistema de arquivos local para fazer o download do anexo.

Execute o seguinte comando:

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
Para anexos em repositórios no formato Docker, como alternativa ao uso de ATTACHMENT, você pode usar a flag --oci-version-name seguida pelo nome da versão completa do anexo ou URI do Artifact Registry. Você pode usar o resumo ou a tag, por exemplo, projects/my-project/locations/us-west1/repositories/my-repo/packages/my-package/versions/sha256:abc123.

Para mais informações, consulte o comando gcloud artifacts attachments download.

Oras (somente Docker)

Antes de executar o comando, faça estas substituições:

  • DESTINATION: o diretório de destino do anexo.

  • ATTACHMENT_URI: o URI do anexo a ser transferido por download. É o URI do contêiner de imagem ao qual o anexo se refere, seguido pelo SHA exclusivo do anexo.

oras pull -o DESTINATION ATTACHMENT_URI

O exemplo a seguir faz o download de um anexo identificado pelo URI e resumo:

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

Em que:

  • -o . nomeia o diretório atual como o destino do download.

  • us-west1-docker.pkg.dev/my-project/my-repo/my-image@sha256:xxxx é o URI da imagem que inclui o resumo do anexo a ser feito o download.

Para um guia completo e mais exemplos, consulte a documentação do oras pull.

Excluir anexos

É possível excluir anexos diretamente usando o console do Google Cloud ou a gcloud CLI. É possível excluir anexos indiretamente excluindo o artefato a que eles se referem.

Excluir anexos diretamente

Você pode excluir anexos diretamente com uma das seguintes opções:

Console (somente Docker)

  1. No Console do Google Cloud, abra a página Repositórios.

    Abrir a página Repositórios

  2. Clique no nome do repositório para ver as imagens.

  3. Clique no nome da imagem para conferir as versões dela.

  4. Clique na versão da imagem para ver os anexos.

  5. Clique na guia Anexos para conferir os anexos dessa versão.

  6. Clique no resumo do anexo para excluir.

  7. Clique em EXCLUIR.

  8. Na caixa de diálogo de confirmação, clique em EXCLUIR.

gcloud

Antes de usar os dados do comando abaixo, faça estas substituições:

  • ATTACHMENT: o nome totalmente qualificado do anexo, como projects/my-project/locations/us-west1/repositories/my-repo/attachments/my-attachment. Como alternativa, informe apenas o ID do anexo e use as flags --location e --repository.

Execute o seguinte comando:

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
Para mais informações, consulte o comando gcloud artifacts attachments delete.

Excluir anexos indiretamente

Se um artefato for excluído, todos os anexos com o nome da versão do artefato excluído como target também serão excluídos. Isso se aplica à exclusão manual de artefatos e às exclusões causadas por políticas de limpeza.

A seguir