

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 下载程序包版本资源
<a name="download-assets"></a>

*资产*是存储在其中与软件包版本关联的单个文件（例如 npm `.tgz` 文件或 Maven POM 或 JAR 文件）。 CodeArtifact 您可以使用 `get-package-version-assets command` 下载程序包资产。这样您就可以取回资产，而无需使用程序包管理器客户端（如 `npm` 或 `pip`）。要下载资产，必须提供可使用 `list-package-version-assets` 命令获取的资产名称，有关更多信息，请参阅[列出程序包版本资产](list-assets.md)。使用您指定的文件名将资源下载到本地存储。

以下示例从 Maven 包中下载*com.google.guava:guava*带有版本*27.1-jre*的*guava-27.1-jre.jar*资产。

```
aws codeartifact get-package-version-asset --domain my_domain --domain-owner 111122223333 --repository my_repo \
    --format maven --namespace com.google.guava --package guava --package-version 27.1-jre \
    --asset guava-27.1-jre.jar \
    guava-27.1-jre.jar
```

 在此示例中，文件名*guava-27.1-jre.jar*由前面命令中的最后一个参数指定，因此下载的资源将被命名*guava-27.1-jre.jar*。

命令的输出如下：

```
{
    "assetName": "guava-27.1-jre.jar",
    "packageVersion": "27.1-jre",
    "packageVersionRevision": "YGp9ck2tmy03PGSxioclfYzQ0BfTLR9zzhQJtERv62I="
}
```

**注意**  
要从限定范围的 npm 程序包下载资产，请在 `--namespace` 选项中包括作用域。使用 `--namespace` 时必须省略 `@` 符号。例如，如果作用域是 `@types`，则使用 `--namespace types`。

 使用 `get-package-version-asset` 下载资源需要获得程序包资源的 `codeartifact:GetPackageVersionAsset` 权限。有关基于资源的权限策略的更多信息，请参阅**《AWS Identity and Access Management 用户指南》中的[基于资源的策略](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_resource-based)。