アーティファクト メタデータを管理する

このページでは、Artifact Registry にアタッチメントとして保存されたアーティファクトに関連するメタデータを管理する方法について説明します。

アタッチメントは、Artifact Registry に保存されている関連アーティファクトに関するメタデータを保存するファイルです。アタッチメントの作成方法については、アタッチメントにアーティファクト メタデータを保存するをご覧ください。

始める前に

省略可: Google Cloud CLI コマンドのデフォルトを構成します。

必要なロール

アタッチメントの管理に必要な権限を取得するには、リポジトリに対する次の IAM ロールの付与を管理者に依頼してください。

ロールの付与については、プロジェクト、フォルダ、組織に対するアクセス権の管理をご覧ください。

必要な権限は、カスタムロールや他の事前定義ロールから取得することもできます。

リストの添付ファイル

Artifact Registry のアーティファクトには、そのアーティファクトを参照するアタッチメントを任意の数で追加できます。アタッチメントを一覧表示するには、 Trusted Cloud コンソール、gcloud CLI、または(Docker 形式のコンテナ イメージの場合のみ)Oras を使用します。

コンソール(Docker のみ)

  1. Trusted Cloud コンソールで、[リポジトリ] ページを開きます。

    [リポジトリ] ページを開く

  2. リポジトリ名をクリックして、リポジトリ内のイメージを表示します。

  3. イメージのバージョンを表示するには、イメージ名をクリックします。

  4. 該当するイメージ バージョンをクリックします。

  5. そのバージョンのアタッチメントを表示するには、[アタッチメント] タブをクリックします。

gcloud

後述のコマンドデータを使用する前に、次のように置き換えます。

  • TARGET: 完全修飾バージョン名。Docker イメージの場合のみ、添付ファイルが参照するアーティファクトの Artifact Registry URI を使用することもできます。URI では、ダイジェストを使用できます。Docker イメージの場合は、タグを使用できます(例: u-france-east1-docker.s3nsregistry.fr/my-project/my-repo/my-image:tag1)。

次のコマンドを実行します。

Linux、macOS、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
詳細については、gcloud artifacts attachments list コマンドをご覧ください。

Oras(Docker のみ)

コマンドを実行する前に、次のように置き換えます。

  • IMAGE_URI: リストされたアタッチメントで参照されるターゲット イメージの URI。
oras discover --distribution-spec v1.1-referrers-api IMAGE_URI

次の例では、URI とタグで識別されるコンテナ イメージ my-image のアタッチメントを一覧表示します。

oras discover --distribution-spec v1.1-referrers-api \
u-france-east1-docker.s3nsregistry.fr/my-project/my-repo/my-image:tag1

ここで

  • v1.1-referrers-api は使用される Referrer API です。詳細については、分布仕様をご覧ください。

  • u-france-east1-docker.s3nsregistry.fr/my-project/my-repo/my-image:tag1 は、アタッチメントを一覧表示するコンテナ イメージ バージョンのタグを含む URI です。

完全なガイドとその他の例については、oras discover のドキュメントをご覧ください。

添付ファイルの説明を取得する

後述のコマンドデータを使用する前に、次のように置き換えます。

  • ATTACHMENT: アタッチメントの完全修飾名(projects/my-project/locations/u-france-east1/repositories/my-repo/attachments/my-attachment など)。または、添付ファイル ID のみを提供し、--location フラグと --repository フラグを使用します。

次のコマンドを実行します。

Linux、macOS、Cloud Shell

gcloud artifacts attachments describe ATTACHMENT

Windows(PowerShell)

gcloud artifacts attachments describe ATTACHMENT

Windows(cmd.exe)

gcloud artifacts attachments describe ATTACHMENT
詳細については、gcloud artifacts attachments describe コマンドをご覧ください。

アタッチメントをダウンロード

アタッチメントをダウンロードするには、gcloud CLI を使用します。Docker 形式のコンテナ イメージの場合は、Oras も使用できます。

gcloud

後述のコマンドデータを使用する前に、次のように置き換えます。

  • ATTACHMENT: アタッチメントの完全修飾名(projects/my-project/locations/u-france-east1/repositories/my-repo/attachments/my-attachment など)。または、添付ファイル ID のみを提供し、--location フラグと --repository フラグを使用します。
  • DESTINATION: アタッチメントをダウンロードするローカル ファイル システム内のパス。

次のコマンドを実行します。

Linux、macOS、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
Docker 形式のリポジトリの添付ファイルの場合、ATTACHMENT を指定する代わりに、--oci-version-name フラグの後に添付ファイルの完全なバージョン名または Artifact Registry URI を指定できます。ダイジェストまたはタグ(例: projects/my-project/locations/u-france-east1/repositories/my-repo/packages/my-package/versions/sha256:abc123)を使用できます。

詳細については、gcloud artifacts attachments download コマンドをご覧ください。

Oras(Docker のみ)

コマンドを実行する前に、次のように置き換えます。

  • DESTINATION: アタッチメントの宛先ディレクトリ。

  • ATTACHMENT_URI: ダウンロードする添付ファイルの URI。これは、添付ファイルが参照するイメージ コンテナの URI と、添付ファイルの一意の SHA です。

oras pull -o DESTINATION ATTACHMENT_URI

次の例では、URI とダイジェストで識別されるアタッチメントをダウンロードします。

oras pull -o . u-france-east1-docker.s3nsregistry.fr/my-project/my-repo/my-image@sha256:xxxx

ここで

  • -o . は、現在のディレクトリをダウンロード先として指定します。

  • u-france-east1-docker.s3nsregistry.fr/my-project/my-repo/my-image@sha256:xxxx は、ダウンロードするアタッチメントのダイジェストを含むイメージ URI です。

完全なガイドとその他の例については、oras pull のドキュメントをご覧ください。

アタッチメントの削除

アタッチメントは、 Trusted Cloud コンソールまたは gcloud CLI を使用して直接削除できます。アタッチメントを間接的に削除するには、アタッチメントが参照しているアーティファクトを削除します。

アタッチメントを直接削除する

アタッチメントを直接削除するには、次のいずれかの方法を使用します。

コンソール(Docker のみ)

  1. Trusted Cloud コンソールで、[リポジトリ] ページを開きます。

    [リポジトリ] ページを開く

  2. リポジトリ名をクリックして、リポジトリ内のイメージを表示します。

  3. イメージ名をクリックすると、そのイメージのバージョンが表示されます。

  4. アタッチメントを表示するイメージのバージョンをクリックします。

  5. [アタッチメント] タブをクリックして、そのアタッチメントのバージョンを表示します。

  6. 削除するアタッチメントのダイジェストをクリックします。

  7. [削除] をクリックします。

  8. 確認ダイアログで [削除] をクリックします。

gcloud

後述のコマンドデータを使用する前に、次のように置き換えます。

  • ATTACHMENT: アタッチメントの完全修飾名(projects/my-project/locations/u-france-east1/repositories/my-repo/attachments/my-attachment など)。または、添付ファイル ID のみを提供し、--location フラグと --repository フラグを使用します。

次のコマンドを実行します。

Linux、macOS、Cloud Shell

gcloud artifacts attachments delete ATTACHMENT

Windows(PowerShell)

gcloud artifacts attachments delete ATTACHMENT

Windows(cmd.exe)

gcloud artifacts attachments delete ATTACHMENT
詳細については、gcloud artifacts attachments delete コマンドをご覧ください。

アタッチメントを間接的に削除する

アーティファクトが削除されると、削除されたアーティファクトのバージョン名を target として持つすべての添付ファイルも削除されます。これは、アーティファクトの手動削除と、クリーンアップ ポリシーによる削除の両方に適用されます。

次のステップ