下载文件

本页面介绍如何从 Artifact Registry 标准代码库和远程代码库下载各个文件。代码库可以采用任何工件格式

如果您希望将文件导入本地环境而不需要特定格式的工具,下载文件会非常有用。请注意,在下载文件之前,您仍必须向 Artifact Registry 进行身份验证。

可下载文件

您可以下载在您的代码库中的任何个人数据或元数据文件。例如,Maven 代码库会将 Java 软件包存储为工件。Java 软件包中的任何文件(例如 jar 文件和 pom.xml 文件)均可单独下载。

对于严重依赖客户端工具进行下载操作的工件(如 Docker 映像),不建议使用此功能。

准备工作

所需的角色

如需获取下载存储在代码库中的文件所需的权限,请让管理员授予您代码库的 Artifact Registry Reader (roles/artifactregistry.reader) IAM 角色。如需详细了解如何授予角色,请参阅管理访问权限

您也可以通过自定义角色或其他预定义角色来获取所需的权限。

列出文件

您可以列出代码库中的文件,以查看哪些文件可供下载。

对于以下所有命令,您可以通过在命令中添加 --limit 标志来设置要返回的文件数量上限。

配置默认值时,如需列出默认项目、代码库和位置中的所有文件,请执行以下操作:

gcloud artifacts files list

如需列出指定项目、代码库和位置中的文件,请运行以下命令:

gcloud artifacts files list \
    --project=PROJECT \
    --repository=REPOSITORY \
    --location=LOCATION

如需列出特定软件包的所有版本的文件,请运行以下命令:

gcloud artifacts files list \
    --project=PROJECT \
    --repository=REPOSITORY \
    --location=LOCATION \
    --package=PACKAGE

如需列出特定软件包版本的文件,请运行以下命令:

gcloud artifacts files list \
    --project=PROJECT \
    --repository=REPOSITORY \
    --location=LOCATION \
    --package=PACKAGE \
    --version=VERSION

替换以下值:

  • LOCATION:代码库的单区域或多区域位置
  • PROJECT:您的 Google Cloud 项目 ID。如果您的项目 ID 包含英文冒号 (:),请参阅网域级项目
  • REPOSITORY:存储映像的代码库的名称。
  • PACKAGE:软件包的名称。
  • VERSION:软件包的版本。

对于 Docker 代码库,您可以通过在命令中添加 --tag 标志来列出特定容器映像标记的文件。

如需了解详情,请参阅 gcloud 工件文件列表

下载文件

如需从代码库中下载各个文件,请运行以下命令:

gcloud

在使用下面的命令数据之前,请先进行以下替换:

  • PROJECT:您的 Google Cloud 项目 ID。如果您的项目 ID 包含英文冒号 (:),请参阅网域级项目
  • LOCATION:代码库的单区域或多区域位置
  • REPOSITORY:存储工件的代码库的名称。
  • DESTINATION:指向本地文件系统中目标文件夹的路径。目标文件夹必须已存在,否则命令将失败。
  • FILE:完整文件名。您可以通过运行 gcloud artifacts files list 命令并复制 FILE 的值找到此值。

执行以下命令:

Linux、macOS 或 Cloud Shell

gcloud artifacts files download \
    --project=PROJECT \
    --location=LOCATION \
    --repository=REPOSITORY \
    --destination=DESTINATION \
    FILE

Windows (PowerShell)

gcloud artifacts files download `
    --project=PROJECT `
    --location=LOCATION `
    --repository=REPOSITORY `
    --destination=DESTINATION `
    FILE

Windows (cmd.exe)

gcloud artifacts files download ^
    --project=PROJECT ^
    --location=LOCATION ^
    --repository=REPOSITORY ^
    --destination=DESTINATION ^
    FILE
您应该会看到下载会立即开始。

API

在使用任何请求数据之前,请先进行以下替换:

  • PROJECT:您的 Google Cloud 项目 ID。如果您的项目 ID 包含英文冒号 (:),请参阅网域级项目
  • LOCATION:代码库的单区域或多区域位置
  • REPOSITORY:存储工件的代码库的名称。
  • DESTINATION:指向本地文件系统中目标文件夹的路径。目标文件夹必须已存在,否则命令将失败。
  • FILE:经过网址编码的文件名。您可以通过运行 gcloud artifacts files list 命令并复制 FILE 的值找到此值。对于此命令,它必须转换为网址编码格式。例如,需要将 path/to/file.jar 作为 path%2Fto%2Ffile.jar 输入。

HTTP 方法和网址:

GET https://artifactregistry.googleapis.com/download/v1/projects/PROJECT/locations/LOCATION/repositories/REPOSITORY/files/FILE:download?alt=media

如需发送您的请求,请展开以下选项之一:

您应该会看到下载会立即开始。

后续步骤