

文档 AWS SDK 示例 GitHub 存储库中还有更多 [S AWS DK 示例](https://github.com/awsdocs/aws-doc-sdk-examples)。

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

# CodeArtifact 使用示例 AWS CLI
<a name="cli_2_codeartifact_code_examples"></a>

以下代码示例向您展示了如何使用with来执行操作和实现常见场景 CodeArtifact。 AWS Command Line Interface 

*操作*是大型程序的代码摘录，必须在上下文中运行。您可以通过操作了解如何调用单个服务函数，还可以通过函数相关场景的上下文查看操作。

每个示例都包含一个指向完整源代码的链接，您可以从中找到有关如何在上下文中设置和运行代码的说明。

**Topics**
+ [操作](#actions)

## 操作
<a name="actions"></a>

### `associate-external-connection`
<a name="codeartifact_AssociateExternalConnection_cli_2_topic"></a>

以下代码示例演示了如何使用 `associate-external-connection`。

**AWS CLI**  
**向存储库添加外部连接**  
以下 `associate-external-connection` 示例会将指向 npmjs.com 的外部连接添加到名为 test-repo 的存储库中。  

```
aws codeartifact associate-external-connection \
    --repository test-repo \
    --domain test-domain \
    --external-connection public:npmjs
```
输出：  

```
{
    "repository": {
        "name": "test-repo",
        "administratorAccount": "111122223333",
        "domainName": "test-domain",
        "domainOwner": "111122223333",
        "arn": "arn:aws:codeartifact:us-west-2:111122223333:repository/test-domain/test-repo",
        "upstreams": [],
        "externalConnections": [
            {
                "externalConnectionName": "public:npmjs",
                "packageFormat": "npm",
                "status": "AVAILABLE"
            }
        ]
    }
}
```
有关更多信息，请参阅《*AWS CodeArtifact 用户指南》*中的[添加外部连接](https://docs.aws.amazon.com/codeartifact/latest/ug/external-connection.html)。  
+  有关 API 的详细信息，请参阅*AWS CLI 命令参考[AssociateExternalConnection](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/codeartifact/associate-external-connection.html)*中的。

### `copy-package-versions`
<a name="codeartifact_CopyPackageVersions_cli_2_topic"></a>

以下代码示例演示了如何使用 `copy-package-versions`。

**AWS CLI**  
**将软件包版本从一个存储库复制到另一个存储库**  
以下 `copy-package-versions` 会将名为 test-package 的软件包的 4.0.0 和 5.0.0 版本从 my-repo 移动至 test-repo。  

```
aws codeartifact copy-package-versions \
    --domain test-domain \
    --source-repository my-repo \
    --destination-repository test-repo \
    --format npm \
    --package test-package \
    --versions '["4.0.0", "5.0.0"]'
```
输出：  

```
{
    "format": "npm",
    "package": "test-package",
    "versions": [
        {
        "version": "5.0.0",
        "revision": "REVISION-1-SAMPLE-6C81EFF7DA55CC",
        "status": "Published"
        },
        {
        "version": "4.0.0",
        "revision": "REVISION-2-SAMPLE-55C752BEE772FC",
        "status": "Published"
        }
    ]
}
```
有关更多信息，请参阅《*AWS CodeArtifact 用户指南》*中的在[仓库之间复制软件包](https://docs.aws.amazon.com/codeartifact/latest/ug/copy-package.html)。  
+  有关 API 的详细信息，请参阅*AWS CLI 命令参考[CopyPackageVersions](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/codeartifact/copy-package-versions.html)*中的。

### `create-domain`
<a name="codeartifact_CreateDomain_cli_2_topic"></a>

以下代码示例演示了如何使用 `create-domain`。

**AWS CLI**  
**创建域**  
以下 `create-domain` 示例创建一个名为 test-domain 的域。  

```
aws codeartifact create-domain \
    --domain test-domain
```
输出：  

```
{
    "domain": {
        "name": "test-domain",
        "owner": "111122223333",
        "arn": "arn:aws:codeartifact:us-west-2:111122223333:domain/test-domain",
        "status": "Active",
        "createdTime": "2020-10-20T13:16:48.559000-04:00",
        "encryptionKey": "arn:aws:kms:us-west-2:111122223333:key/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111",
        "repositoryCount": 0,
        "assetSizeBytes": 0
    }
}
```
有关更多信息，请参阅《*AWS CodeArtifact 用户指南》*中的[创建域](https://docs.aws.amazon.com/codeartifact/latest/ug/domain-create.html)。  
+  有关 API 的详细信息，请参阅*AWS CLI 命令参考[CreateDomain](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/codeartifact/create-domain.html)*中的。

### `create-repository`
<a name="codeartifact_CreateRepository_cli_2_topic"></a>

以下代码示例演示了如何使用 `create-repository`。

**AWS CLI**  
**创建存储库**  
以下 `create-repository` 示例在名为 test-domain 的域中创建一个名为 test-repo 的存储库。  

```
aws codeartifact create-repository \
    --domain test-domain \
    --domain-owner 111122223333 \
    --repository test-repo \
    --description "This is a test repository."
```
输出：  

```
{
    "repository": {
        "name": "test-repo",
        "administratorAccount": "111122223333",
        "domainName": "test-domain",
        "domainOwner": "111122223333",
        "arn": "arn:aws:codeartifact:us-west-2:111122223333:repository/test-domain/test-repo",
        "description": "This is a test repository.",
        "upstreams": [],
        "externalConnections": []
    }
}
```
有关更多信息，请参阅《*AWS CodeArtifact 用户指南》*中的[创建域](https://docs.aws.amazon.com/codeartifact/latest/ug/create-repo.html)。  
+  有关 API 的详细信息，请参阅*AWS CLI 命令参考[CreateRepository](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/codeartifact/create-repository.html)*中的。

### `delete-domain-permissions-policy`
<a name="codeartifact_DeleteDomainPermissionsPolicy_cli_2_topic"></a>

以下代码示例演示了如何使用 `delete-domain-permissions-policy`。

**AWS CLI**  
**从域中删除权限策略文档**  
以下 `delete-domain-permissions-policy` 示例从名为 test-domain 的域中删除权限策略。  

```
aws codeartifact delete-domain-permissions-policy \
    --domain test-domain
```
输出：  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "BasicDomainPolicy",
            "Action": [
                "codeartifact:GetDomainPermissionsPolicy",
                "codeartifact:ListRepositoriesInDomain",
                "codeartifact:GetAuthorizationToken",
                "codeartifact:CreateRepository"
            ],
            "Effect": "Allow",
            "Resource": "*",
            "Principal": {
                "AWS": "arn:aws:iam::111122223333:root"
            }
        }
    ]
}
```
有关更多信息，请参阅《*AWS CodeArtifact 用户指南》*中的[删除域名策略](https://docs.aws.amazon.com/codeartifact/latest/ug/domain-policies.html#deleting-a-domain-policy)。  
+  有关 API 的详细信息，请参阅*AWS CLI 命令参考[DeleteDomainPermissionsPolicy](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/codeartifact/delete-domain-permissions-policy.html)*中的。

### `delete-domain`
<a name="codeartifact_DeleteDomain_cli_2_topic"></a>

以下代码示例演示了如何使用 `delete-domain`。

**AWS CLI**  
**删除域**  
以下 `delete-domain` 示例删除名为 `test-domain` 的域。  

```
aws codeartifact delete-domain \
    --domain test-domain
```
输出：  

```
{
    "domain": {
        "name": "test-domain",
        "owner": "417498243647",
        "arn": "arn:aws:codeartifact:us-west-2:417498243647:domain/test-domain",
        "status": "Deleted",
        "createdTime": "2020-10-20T13:16:48.559000-04:00",
        "encryptionKey": "arn:aws:kms:us-west-2:417498243647:key/c9fe2447-0795-4fda-afbe-8464574ae162",
        "repositoryCount": 0,
        "assetSizeBytes": 0
    }
}
```
有关更多信息，请参阅《*AWS CodeArtifact 用户指南》*中的[删除域名](https://docs.aws.amazon.com/codeartifact/latest/ug/delete-domain.html)。  
+  有关 API 的详细信息，请参阅*AWS CLI 命令参考[DeleteDomain](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/codeartifact/delete-domain.html)*中的。

### `delete-package-versions`
<a name="codeartifact_DeletePackageVersions_cli_2_topic"></a>

以下代码示例演示了如何使用 `delete-package-versions`。

**AWS CLI**  
**删除软件包版本**  
以下 `delete-package-versions` 示例删除名为 test-package 的软件包的 4.0.0 版本。  

```
aws codeartifact delete-package-versions \
    --domain test-domain \
    --repo test-repo \
    --format npm \
    --package test-package \
    --versions 4.0.0
```
输出：  

```
{
    "successfulVersions": {
        "4.0.0": {
            "revision": "Ciqe5/9yicvkJT13b5/LdLpCyE6fqA7poa9qp+FilPs=",
            "status": "Deleted"
        }
    },
    "failedVersions": {}
}
```
有关更多信息，请参阅《*AWS CodeArtifact 用户指南》*中的 “[删除软件包版本](https://docs.aws.amazon.com/codeartifact/latest/ug/delete-package.html)”。  
+  有关 API 的详细信息，请参阅*AWS CLI 命令参考[DeletePackageVersions](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/codeartifact/delete-package-versions.html)*中的。

### `delete-repository-permissions-policy`
<a name="codeartifact_DeleteRepositoryPermissionsPolicy_cli_2_topic"></a>

以下代码示例演示了如何使用 `delete-repository-permissions-policy`。

**AWS CLI**  
**从存储库中删除权限策略**  
以下 `delete-repository-permissions-policy` 示例从名为 test-repo 的存储库中删除权限策略。  

```
aws codeartifact delete-repository-permissions-policy \
    --domain test-domain \
    --repository test-repo
```
输出：  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::111122223333:root"
            },
            "Action": [
                "codeartifact:DescribePackageVersion",
                "codeartifact:DescribeRepository",
                "codeartifact:GetPackageVersionReadme",
                "codeartifact:GetRepositoryEndpoint",
                "codeartifact:ListPackages",
                "codeartifact:ListPackageVersions",
                "codeartifact:ListPackageVersionAssets",
                "codeartifact:ListPackageVersionDependencies",
                "codeartifact:ReadFromRepository"
            ],
            "Resource": "*"
        }
    ]
}
```
有关更多信息，请参阅《*AWS CodeArtifact 用户指南》*中的[删除策略](https://docs.aws.amazon.com/codeartifact/latest/ug/repo-policies.html#deleting-a-policy)。  
+  有关 API 的详细信息，请参阅*AWS CLI 命令参考[DeleteRepositoryPermissionsPolicy](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/codeartifact/delete-repository-permissions-policy.html)*中的。

### `delete-repository`
<a name="codeartifact_DeleteRepository_cli_2_topic"></a>

以下代码示例演示了如何使用 `delete-repository`。

**AWS CLI**  
**删除存储库**  
以下 `delete-repository` 示例在名为 `test-domain` 的域中删除名为 `test-repo` 的存储库。  

```
aws codeartifact delete-repository \
    --domain test-domain \
    --repository test-repo
```
输出：  

```
{
    "repository": {
        "name": "test-repo",
        "administratorAccount": "111122223333",
        "domainName": "test-domain",
        "domainOwner": "111122223333",
        "arn": "arn:aws:codeartifact:us-west-2:111122223333:repository/test-domain/test-repo",
        "description": "This is a test repository",
        "upstreams": [],
        "externalConnections": []
    }
}
```
有关更多信息，请参阅《*AWS CodeArtifact 用户指南》*中的[删除仓库](https://docs.aws.amazon.com/codeartifact/latest/ug/delete-repo.html)。  
+  有关 API 的详细信息，请参阅*AWS CLI 命令参考[DeleteRepository](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/codeartifact/delete-repository.html)*中的。

### `describe-domain`
<a name="codeartifact_DescribeDomain_cli_2_topic"></a>

以下代码示例演示了如何使用 `describe-domain`。

**AWS CLI**  
**获取有关域的信息**  
以下`describe-domain`示例返回名为 DomainDescription test-domain 的域的对象。  

```
aws codeartifact describe-domain \
    --domain test-domain
```
输出：  

```
{
    "domain": {
        "name": "test-domain",
        "owner": "111122223333",
        "arn": "arn:aws:codeartifact:us-west-2:111122223333:domain/test-domain",
        "status": "Active",
        "createdTime": "2020-10-20T13:16:48.559000-04:00",
        "encryptionKey": "arn:aws:kms:us-west-2:111122223333:key/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111",
        "repositoryCount": 2,
        "assetSizeBytes": 0,
        "s3BucketArn": "arn:aws:s3:::assets-111122223333-us-west-2"
    }
}
```
有关更多信息，请参阅《*AWS CodeArtifact 用户指南》*中的[域名概述](https://docs.aws.amazon.com/codeartifact/latest/ug/domain-overview.html)。  
+  有关 API 的详细信息，请参阅*AWS CLI 命令参考[DescribeDomain](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/codeartifact/describe-domain.html)*中的。

### `describe-repository`
<a name="codeartifact_DescribeRepository_cli_2_topic"></a>

以下代码示例演示了如何使用 `describe-repository`。

**AWS CLI**  
**获取有关存储库的信息**  
以下`describe-repository`示例返回名为 RepositoryDescription test-repo 的存储库的对象。  

```
aws codeartifact describe-repository \
    --domain test-domain \
    --repository test-repo
```
输出：  

```
{
    "repository": {
        "name": "test-repo",
        "administratorAccount": "111122223333",
        "domainName": "test-domain",
        "domainOwner": "111122223333",
        "arn": "arn:aws:codeartifact:us-west-2:111122223333:repository/test-domain/test-repo",
        "description": "This is a test repository.",
        "upstreams": [],
        "externalConnections": []
    }
}
```
有关更多信息，请参阅《*AWS CodeArtifact 用户指南》*中的[创建域](https://docs.aws.amazon.com/codeartifact/latest/ug/create-repo.html)。  
+  有关 API 的详细信息，请参阅*AWS CLI 命令参考[DescribeRepository](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/codeartifact/describe-repository.html)*中的。

### `disassociate-external-connection`
<a name="codeartifact_DisassociateExternalConnection_cli_2_topic"></a>

以下代码示例演示了如何使用 `disassociate-external-connection`。

**AWS CLI**  
**从存储库移除外部连接**  
以下 `disassociate-external-connection` 示例从名为 test-repo 的存储库中移除指向 npmjs.com 的外部连接。  

```
aws codeartifact disassociate-external-connection \
    --repository test-repo \
    --domain test-domain \
    --external-connection public:npmjs
```
输出：  

```
{
    "repository": {
        "name": "test-repo",
        "administratorAccount": "111122223333",
        "domainName": "test-domain",
        "domainOwner": "111122223333",
        "arn": "arn:aws:codeartifact:us-west-2:111122223333:repository/test-domain/test-repo",
        "upstreams": [],
        "externalConnections": []
    }
}
```
有关更多信息，请参阅《*AWS CodeArtifact 用户指南》*中的[移除外部连接](https://docs.aws.amazon.com/codeartifact/latest/ug/external-connection.html#removing-an-external-connection)。  
+  有关 API 的详细信息，请参阅*AWS CLI 命令参考[DisassociateExternalConnection](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/codeartifact/disassociate-external-connection.html)*中的。

### `dispose-package-versions`
<a name="codeartifact_DisposePackageVersions_cli_2_topic"></a>

以下代码示例演示了如何使用 `dispose-package-versions`。

**AWS CLI**  
**删除软件包版本的资产并将其状态设置为“已处置”**  
以下 `dispose-package-versions` 示例删除测试软件包 4.0.0 版本的资产并将其状态设置为“已处置”。  

```
aws codeartifact dispose-package-versions \
    --domain test-domain \
    --repo test-repo \
    --format npm \
    --package test-package \
    --versions 4.0.0
```
输出：  

```
{
    "successfulVersions": {
        "4.0.0": {
            "revision": "Ciqe5/9yicvkJT13b5/LdLpCyE6fqA7poa9qp+FilPs=",
            "status": "Disposed"
        }
    },
    "failedVersions": {}
}
```
有关更多信息，请参阅《*AWS CodeArtifact 用户指南》 CodeArtifact中的 “使用*[软件包](https://docs.aws.amazon.com/codeartifact/latest/ug/packages.html)”。  
+  有关 API 的详细信息，请参阅*AWS CLI 命令参考[DisposePackageVersions](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/codeartifact/dispose-package-versions.html)*中的。

### `get-authorization-token`
<a name="codeartifact_GetAuthorizationToken_cli_2_topic"></a>

以下代码示例演示了如何使用 `get-authorization-token`。

**AWS CLI**  
**获取授权令牌**  
以下`get-authorization-token`示例检索 CodeArtifact 授权令牌。  

```
aws codeartifact get-authorization-token \
    --domain test-domain \
    --query authorizationToken \
    --output text
```
输出：  

```
This command will return the authorization token. You can store the output in an environment variable when calling the command.
```
有关更多信息，请参阅[《*AWS CodeArtifact 用户指南*》中的不使用 login 命令配置 pip](https://docs.aws.amazon.com/codeartifact/latest/ug/python-configure-without-pip.html)。  
+  有关 API 的详细信息，请参阅*AWS CLI 命令参考[GetAuthorizationToken](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/codeartifact/get-authorization-token.html)*中的。

### `get-domain-permissions-policy`
<a name="codeartifact_GetDomainPermissionsPolicy_cli_2_topic"></a>

以下代码示例演示了如何使用 `get-domain-permissions-policy`。

**AWS CLI**  
**获取域的权限策略文档**  
以下 `get-domain-permissions-policy` 示例获取名为 test-domain 的域的权限策略。  

```
aws codeartifact get-domain-permissions-policy \
    --domain test-domain
```
输出：  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "BasicDomainPolicy",
            "Action": [
                "codeartifact:GetDomainPermissionsPolicy",
                "codeartifact:ListRepositoriesInDomain",
                "codeartifact:GetAuthorizationToken",
                "codeartifact:CreateRepository"
            ],
            "Effect": "Allow",
            "Resource": "*",
            "Principal": {
                "AWS": "arn:aws:iam::111122223333:root"
            }
        }
    ]
}
```
有关更多信息，请参阅《*AWS CodeArtifact 用户指南》*中的[阅读域名政策](https://docs.aws.amazon.com/codeartifact/latest/ug/domain-policies.html#reading-a-domain-policy)。  
+  有关 API 的详细信息，请参阅*AWS CLI 命令参考[GetDomainPermissionsPolicy](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/codeartifact/get-domain-permissions-policy.html)*中的。

### `get-package-version-asset`
<a name="codeartifact_GetPackageVersionAsset_cli_2_topic"></a>

以下代码示例演示了如何使用 `get-package-version-asset`。

**AWS CLI**  
**从软件包版本中获取资产**  
以下 `get-package-version-asset` 示例检索名为 test-package 的 npm 软件包 4.0.0 版的 `package.tgz` 资产。  

```
aws codeartifact get-package-version-asset \
    --domain test-domain \
    --repository test-repo \
    --format npm \
    --package test-package \
    --package-version 4.0.0 \
    --asset 'package.tgz' \
    outfileName
```
输出：  

```
The output for this command will also store the raw asset in the file provided in place of outfileName.

{
    "assetName": "package.tgz",
    "packageVersion": "4.0.0",
    "packageVersionRevision": "Ciqe5/9yicvkJT13b5/LdLpCyE6fqA7poa9qp+FilPs="
}
```
有关更多信息，请参阅《*AWS CodeArtifact 用户指南》*中的[列出软件包版本资产](https://docs.aws.amazon.com/codeartifact/latest/ug/list-assets.html)。  
+  有关 API 的详细信息，请参阅*AWS CLI 命令参考[GetPackageVersionAsset](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/codeartifact/get-package-version-asset.html)*中的。

### `get-package-version-readme`
<a name="codeartifact_GetPackageVersionReadme_cli_2_topic"></a>

以下代码示例演示了如何使用 `get-package-version-readme`。

**AWS CLI**  
**获取软件包版本的自述文件**  
以下 `get-package-version-readme` 示例检索名为 test-package 的 npm 软件包 4.0.0 版的自述文件。  

```
aws codeartifact get-package-version-readme \
    --domain test-domain \
    --repo test-repo \
    --format npm \
    --package test-package \
    --package-version 4.0.0
```
输出：  

```
{
    "format": "npm",
    "package": "test-package",
    "version": "4.0.0",
    "readme": "<div align=\"center\">\n   <a href=\https://github.com/test-package/testpack\"> ... more content ... \n",
    "versionRevision": "Ciqe5/9yicvkJT13b5/LdLpCyE6fqA7poa9qp+FilPs="
}
```
有关更多信息，请参阅*AWS CodeArtifact 用户指南*中的[查看软件包版本自述文件](https://docs.aws.amazon.com/codeartifact/latest/ug/describe-package-version.html#view-package-readme)。  
+  有关 API 的详细信息，请参阅*AWS CLI 命令参考[GetPackageVersionReadme](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/codeartifact/get-package-version-readme.html)*中的。

### `get-repository-endpoint`
<a name="codeartifact_GetRepositoryEndpoint_cli_2_topic"></a>

以下代码示例演示了如何使用 `get-repository-endpoint`。

**AWS CLI**  
**获取存储库的 URL 端点**  
以下 `get-repository-endpoint` 示例返回 test-repo 存储库的 npm 端点。  

```
aws codeartifact get-repository-endpoint \
    --domain test-domain \
    --repository test-repo \
    --format npm
```
输出：  

```
{
    "repositoryEndpoint": "https://test-domain-111122223333.d.codeartifact.us-west-2.amazonaws.com/npm/test-repo/"
}
```
有关更多信息，请参阅《*AWS CodeArtifact 用户指南》*中的 [Connect 到存储库](https://docs.aws.amazon.com/codeartifact/latest/ug/connect-repo.html)。  
+  有关 API 的详细信息，请参阅*AWS CLI 命令参考[GetRepositoryEndpoint](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/codeartifact/get-repository-endpoint.html)*中的。

### `get-repository-permissions-policy`
<a name="codeartifact_GetRepositoryPermissionsPolicy_cli_2_topic"></a>

以下代码示例演示了如何使用 `get-repository-permissions-policy`。

**AWS CLI**  
**获取存储库的权限策略文档**  
以下 `get-repository-permissions-policy` 示例获取名为 test-repo 的存储库的权限策略。  

```
aws codeartifact get-repository-permissions-policy \
    --domain test-domain \
    --repository test-repo
```
输出：  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::111122223333:root"
            },
            "Action": [
                "codeartifact:DescribePackageVersion",
                "codeartifact:DescribeRepository",
                "codeartifact:GetPackageVersionReadme",
                "codeartifact:GetRepositoryEndpoint",
                "codeartifact:ListPackages",
                "codeartifact:ListPackageVersions",
                "codeartifact:ListPackageVersionAssets",
                "codeartifact:ListPackageVersionDependencies",
                "codeartifact:ReadFromRepository"
            ],
            "Resource": "*"
        }
    ]
}
```
有关更多信息，请参阅《*AWS CodeArtifact 用户指南》*中的[阅读策略](https://docs.aws.amazon.com/codeartifact/latest/ug/repo-policies.html#setting-a-policy)。  
+  有关 API 的详细信息，请参阅*AWS CLI 命令参考[GetRepositoryPermissionsPolicy](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/codeartifact/get-repository-permissions-policy.html)*中的。

### `list-domains`
<a name="codeartifact_ListDomains_cli_2_topic"></a>

以下代码示例演示了如何使用 `list-domains`。

**AWS CLI**  
**列出域**  
以下`list-domains`示例返回发起呼叫的 AWS 账户拥有的所有域名的摘要。  

```
aws codeartifact list-domains
```
输出：  

```
{
    "domains": [
        {
            "name": "my-domain",
            "owner": "111122223333",
            "status": "Active",
            "encryptionKey": "arn:aws:kms:us-west-2:111122223333:key/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111"
        },
        {
            "name": "test-domain",
            "owner": "111122223333",
            "status": "Active",
            "encryptionKey": "arn:aws:kms:us-west-2:111122223333:key/a1b2c3d4-5678-90ab-cdef-EXAMPLE22222"
        }
    ]
}
```
有关更多信息，请参阅《*AWS CodeArtifact 用户指南》 CodeArtifact中的 “使用*[域名](https://docs.aws.amazon.com/codeartifact/latest/ug/domains.html)”。  
+  有关 API 的详细信息，请参阅*AWS CLI 命令参考[ListDomains](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/codeartifact/list-domains.html)*中的。

### `list-package-version-assets`
<a name="codeartifact_ListPackageVersionAssets_cli_2_topic"></a>

以下代码示例演示了如何使用 `list-package-version-assets`。

**AWS CLI**  
**查看软件包版本的资产**  
以下 `list-package-version-assets` 示例检索名为 test-package 的 npm 软件包 4.0.0 版的资产。  

```
aws codeartifact list-package-version-assets \
    --domain test-domain \
    --repo test-repo \
    --format npm \
    --package test-package \
    --package-version 4.0.0
```
输出：  

```
{
    "format": "npm",
    "package": "test-package",
    "version": "4.0.0",
    "versionRevision": "Ciqe5/9yicvkJT13b5/LdLpCyE6fqA7poa9qp+FilPs=",
    "assets": [
        {
            "name": "package.tgz",
            "size": 316680,
            "hashes": {
                "MD5": "60078ec6d9e76b89fb55c860832742b2",
                "SHA-1": "b44a9b6297bcb698f1c51a3545a2b3b368d59c52",
                "SHA-256": "d2aa8c6afc3c8591765785a37d1c5acae482a8eb3ab9729ed28922692454f2e2",
                "SHA-512": "3e585d15c8a594e20d7de57b362ea81754c011acb2641a19f1b72c8531ea39825896bab344ae616a0a5a824cb9a381df0b3cddd534645cf305aba70a93dac698"
            }
        }
    ]
}
```
有关更多信息，请参阅《*AWS CodeArtifact 用户指南》*中的[列出软件包版本资产](https://docs.aws.amazon.com/codeartifact/latest/ug/list-assets.html)。  
+  有关 API 的详细信息，请参阅*AWS CLI 命令参考[ListPackageVersionAssets](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/codeartifact/list-package-version-assets.html)*中的。

### `list-package-version-dependencies`
<a name="codeartifact_ListPackageVersionDependencies_cli_2_topic"></a>

以下代码示例演示了如何使用 `list-package-version-dependencies`。

**AWS CLI**  
**查看软件包版本的依赖项**  
以下 `list-package-version-dependencies` 示例检索名为 test-package 的 npm 软件包 4.0.0 版的依赖项。  

```
aws codeartifact list-package-version-dependencies \
    --domain test-domain \
    --repo test-repo \
    --format npm \
    --package test-package \
    --package-version 4.0.0
```
输出：  

```
{
    "format": "npm",
    "package": "test-package",
    "version": "4.0.0",
    "versionRevision": "Ciqe5/9yicvkJT13b5/LdLpCyE6fqA7poa9qp+FilPs=",
    "dependencies": [
        {
            "namespace": "testns",
            "package": "testdep1",
            "dependencyType": "regular",
            "versionRequirement": "1.8.5"
        },
        {
            "namespace": "testns",
            "package": "testdep2",
            "dependencyType": "regular",
            "versionRequirement": "1.8.5"
        }
    ]
}
```
有关更多信息，请参阅《*AWS CodeArtifact 用户指南》*中的[查看和更新软件包版本详细信息和依赖关系](https://docs.aws.amazon.com/codeartifact/latest/ug/describe-package-version.html)。  
+  有关 API 的详细信息，请参阅*AWS CLI 命令参考[ListPackageVersionDependencies](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/codeartifact/list-package-version-dependencies.html)*中的。

### `list-package-versions`
<a name="codeartifact_ListPackageVersions_cli_2_topic"></a>

以下代码示例演示了如何使用 `list-package-versions`。

**AWS CLI**  
**列出软件包的软件包版本**  
以下 `list-package-versions` 示例返回名为 `kind-of` 的软件包的软件包版本列表。  

```
aws codeartifact list-package-versions \
    --package kind-of \
    --domain test-domain \
    --repository test-repo \
    --format npm
```
输出：  

```
{
    "defaultDisplayVersion": "1.0.1",
    "format": "npm",
    "package": "kind-of",
    "versions": [
        {
            "version": "1.0.1",
            "revision": "REVISION-SAMPLE-1-C7F4S5E9B772FC",
            "status": "Published"
        },
        {
            "version": "1.0.0",
            "revision": "REVISION-SAMPLE-2-C752BEEF6D2CFC",
            "status": "Published"
        },
        {
            "version": "0.1.2",
            "revision": "REVISION-SAMPLE-3-654S65A5C5E1FC",
            "status": "Published"
        },
        {
            "version": "0.1.1",
            "revision": "REVISION-SAMPLE-1-C7F4S5E9B772FC"",
            "status": "Published"
        },
        {
            "version": "0.1.0",
            "revision": "REVISION-SAMPLE-4-AF669139B772FC",
            "status": "Published"
        }
    ]
}
```
有关更多信息，请参阅《*AWS CodeArtifact 用户指南》*中的[列出软件包版本](https://docs.aws.amazon.com/codeartifact/latest/ug/list-packages-versions.html)。  
+  有关 API 的详细信息，请参阅*AWS CLI 命令参考[ListPackageVersions](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/codeartifact/list-package-versions.html)*中的。

### `list-packages`
<a name="codeartifact_ListPackages_cli_2_topic"></a>

以下代码示例演示了如何使用 `list-packages`。

**AWS CLI**  
**列出存储库中的软件包**  
以下 `list-packages` 示例列出名为 `test-domain` 的域中名为 `test-repo` 的存储库中的软件包。  

```
aws codeartifact list-packages \
    --domain test-domain \
    --repository test-repo
```
输出：  

```
{
    "packages": [
        {
            "format": "npm",
            "package": "lodash"
        }
        {
            "format": "python",
            "package": "test-package"
        }
    ]
}
```
有关更多信息，请参阅《*AWS CodeArtifact 用户指南》*中的[列出软件包名称](https://docs.aws.amazon.com/codeartifact/latest/ug/list-packages.html)。  
+  有关 API 的详细信息，请参阅*AWS CLI 命令参考[ListPackages](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/codeartifact/list-packages.html)*中的。

### `list-repositories-in-domain`
<a name="codeartifact_ListRepositoriesInDomain_cli_2_topic"></a>

以下代码示例演示了如何使用 `list-repositories-in-domain`。

**AWS CLI**  
**列出域中的存储库**  
以下 `list-repositories-in-domain` 示例返回 test-domain 域中所有存储库的摘要。  

```
aws codeartifact list-repositories-in-domain \
    --domain test-domain
```
输出：  

```
{
    "repositories": [
        {
            "name": "test-repo",
            "administratorAccount": "111122223333",
            "domainName": "test-domain",
            "domainOwner": "111122223333",
            "arn": "arn:aws:codeartifact:us-west-2:111122223333:repository/test-domain/test-repo",
            "description": "This is a test repository."
        },
        {
            "name": "test-repo2",
            "administratorAccount": "111122223333",
            "domainName": "test-domain",
            "domainOwner": "111122223333",
            "arn": "arn:aws:codeartifact:us-west-2:111122223333:repository/test-domain/test-repo2",
            "description": "This is a test repository."
        }
    ]
}
```
有关更多信息，请参阅《*AWS CodeArtifact 用户指南》*中的[列出仓库](https://docs.aws.amazon.com/codeartifact/latest/ug/list-repos.html)。  
+  有关 API 的详细信息，请参阅*AWS CLI 命令参考[ListRepositoriesInDomain](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/codeartifact/list-repositories-in-domain.html)*中的。

### `list-repositories`
<a name="codeartifact_ListRepositories_cli_2_topic"></a>

以下代码示例演示了如何使用 `list-repositories`。

**AWS CLI**  
**列出存储库**  
以下`list-repositories`示例返回进行调用的 AWS 账户所拥有的域中所有存储库的摘要。  

```
aws codeartifact list-repositories
```
输出：  

```
{
    "repositories": [
        {
            "name": "npm-store",
            "administratorAccount": "111122223333",
            "domainName": "my-domain",
            "domainOwner": "111122223333",
            "arn": "arn:aws:codeartifact:us-west-2:111122223333:repository/my-domain/npm-store",
            "description": "Provides npm artifacts from npm, Inc."
        },
        {
            "name": "target-repo",
            "administratorAccount": "111122223333",
            "domainName": "my-domain",
            "domainOwner": "111122223333",
            "arn": "arn:aws:codeartifact:us-west-2:111122223333:repository/my-domain/target-repo",
            "description": "test target repo"
        },
        {
            "name": "test-repo2",
            "administratorAccount": "111122223333",
            "domainName": "test-domain",
            "domainOwner": "111122223333",
            "arn": "arn:aws:codeartifact:us-west-2:111122223333:repository/test-domain/test-repo2",
            "description": "This is a test repository."
        }
    ]
}
```
有关更多信息，请参阅《*AWS CodeArtifact 用户指南》*中的[列出仓库](https://docs.aws.amazon.com/codeartifact/latest/ug/list-repos.html)。  
+  有关 API 的详细信息，请参阅*AWS CLI 命令参考[ListRepositories](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/codeartifact/list-repositories.html)*中的。

### `login`
<a name="codeartifact_Login_cli_2_topic"></a>

以下代码示例演示了如何使用 `login`。

**AWS CLI**  
**使用登录命令配置对存储库的身份验证**  
以下 `login` 示例在名为 test-domain 的域中配置一个带有名为 test-repo 的存储库的 npm 软件包管理器。  

```
aws codeartifact login \
    --domain test-domain \
    --repository test-repo \
    --tool npm
```
输出：  

```
Successfully configured npm to use AWS CodeArtifact repository https://test-domain-111122223333.d.codeartifact.us-west-2.amazonaws.com/npm/test-repo/
Login expires in 12 hours at 2020-11-12 01:53:16-05:00
```
有关更多信息，请参阅《*AWS CodeArtifact 用户指南》*[中的 AWS CLI 入门](https://docs.aws.amazon.com/codeartifact/latest/ug/getting-started-cli.html)。  
+  有关 API 详细信息，请参阅《AWS CLI 命令参考》**中的 [Login](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/codeartifact/login.html)。

### `put-domain-permissions-policy`
<a name="codeartifact_PutDomainPermissionsPolicy_cli_2_topic"></a>

以下代码示例演示了如何使用 `put-domain-permissions-policy`。

**AWS CLI**  
**将权限策略附加到域**  
以下 `put-domain-permissions-policy` 示例会将 policy.json 文件中定义的权限策略附加到名为 test-domain 的域。  

```
aws codeartifact put-domain-permissions-policy \
    --domain test-domain \
    --policy-document file://PATH/TO/policy.json
```
输出：  

```
{
    "policy": {
        "resourceArn": "arn:aws:codeartifact:region-id:111122223333:domain/test-domain",
        "document": "{ ...policy document content...}",
        "revision": "MQlyyTQRASRU3HB58gBtSDHXG7Q3hvxxxxxxx="
    }
}
```
有关更多信息，请参阅《*AWS CodeArtifact 用户指南》*中的[设置域名策略](https://docs.aws.amazon.com/codeartifact/latest/ug/domain-policies.html#set-domain-policy)。  
+  有关 API 的详细信息，请参阅*AWS CLI 命令参考[PutDomainPermissionsPolicy](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/codeartifact/put-domain-permissions-policy.html)*中的。

### `put-repository-permissions-policy`
<a name="codeartifact_PutRepositoryPermissionsPolicy_cli_2_topic"></a>

以下代码示例演示了如何使用 `put-repository-permissions-policy`。

**AWS CLI**  
**将权限策略附加到存储库**  
以下 `put-repository-permissions-policy` 示例会将 policy.json 文件中定义的权限策略附加到名为 test-repo 的存储库。  

```
aws codeartifact put-repository-permissions-policy \
    --domain test-domain \
    --repository test-repo \
    --policy-document file://PATH/TO/policy.json
```
输出：  

```
{
    "policy": {
        "resourceArn": "arn:aws:codeartifact:region-id:111122223333:repository/test-domain/test-repo",
        "document": "{ ...policy document content...}",
        "revision": "MQlyyTQRASRU3HB58gBtSDHXG7Q3hvxxxxxxx="
    }
}
```
有关更多信息，请参阅《*AWS CodeArtifact 用户指南》*中的[设置策略](https://docs.aws.amazon.com/codeartifact/latest/ug/repo-policies.html#setting-a-policy)。  
+  有关 API 的详细信息，请参阅*AWS CLI 命令参考[PutRepositoryPermissionsPolicy](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/codeartifact/put-repository-permissions-policy.html)*中的。

### `update-package-versions-status`
<a name="codeartifact_UpdatePackageVersionsStatus_cli_2_topic"></a>

以下代码示例演示了如何使用 `update-package-versions-status`。

**AWS CLI**  
**更新软件包版本状态**  
以下 `update-package-versions-status` 示例会将 test-package 软件包 4.0.0 版本的状态更新为 Archived。  

```
aws codeartifact update-package-versions-status \
    --domain test-domain \
    --repo test-repo \
    --format npm \
    --package test-package \
    --versions 4.0.0 \
    --target-status Archived
```
输出：  

```
{
    "successfulVersions": {
        "4.0.0": {
            "revision": "Ciqe5/9yicvkJT13b5/LdLpCyE6fqA7poa9qp+FilPs=",
            "status": "Archived"
        }
    },
    "failedVersions": {}
}
```
有关更多信息，请参阅《*AWS CodeArtifact 用户指南》*中的 [“更新软件包版本状态](https://docs.aws.amazon.com/codeartifact/latest/ug/describe-package-version.html#update-package-version-status)”。  
+  有关 API 的详细信息，请参阅*AWS CLI 命令参考[UpdatePackageVersionsStatus](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/codeartifact/update-package-versions-status.html)*中的。

### `update-repository`
<a name="codeartifact_UpdateRepository_cli_2_topic"></a>

以下代码示例演示了如何使用 `update-repository`。

**AWS CLI**  
**更新存储库**  
以下 `update-repository` 示例会将名为 test-domain 的域中名为 test-repo 的存储库的描述更新为“这是更新的描述”。  

```
aws codeartifact update-repository \
    --domain test-domain \
    --repository test-repo \
    --description "this is an updated description"
```
输出：  

```
{
    "repository": {
        "name": "test-repo",
        "administratorAccount": "111122223333",
        "domainName": "test-domain",
        "domainOwner": "111122223333",
        "arn": "arn:aws:codeartifact:us-west-2:111122223333:repository/test-domain/test-repo",
        "description": "this is an updated description",
        "upstreams": [],
        "externalConnections": []
    }
}
```
有关更多信息，请参阅《*AWS CodeArtifact 用户指南》*中的[查看或修改存储库配置](https://docs.aws.amazon.com/codeartifact/latest/ug/config-repos.html)。  
+  有关 API 的详细信息，请参阅*AWS CLI 命令参考[UpdateRepository](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/codeartifact/update-repository.html)*中的。