

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 使用 的 CodeArtifact 範例 AWS CLI
<a name="cli_codeartifact_code_examples"></a>

下列程式碼範例示範如何使用 AWS Command Line Interface 搭配 CodeArtifact 執行動作和實作常見案例。

*Actions* 是大型程式的程式碼摘錄，必須在內容中執行。雖然動作會告訴您如何呼叫個別服務函數，但您可以在其相關情境中查看內容中的動作。

每個範例均包含完整原始碼的連結，您可在連結中找到如何設定和執行內容中程式碼的相關指示。

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

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

### `associate-external-connection`
<a name="codeartifact_AssociateExternalConnection_cli_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_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_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_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_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_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_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_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_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_topic"></a>

以下程式碼範例顯示如何使用 `describe-domain`。

**AWS CLI**  
**取得網域的相關資訊**  
下列 `describe-domain` 範例傳回名為 test-domain 之網域的 DomainDescription 物件。  

```
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_topic"></a>

以下程式碼範例顯示如何使用 `describe-repository`。

**AWS CLI**  
**取得儲存庫的相關資訊**  
下列 `describe-repository` 範例傳回名為 test-repo 之儲存庫的 RepositoryDescription 物件。  

```
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_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_topic"></a>

以下程式碼範例顯示如何使用 `dispose-package-versions`。

**AWS CLI**  
**刪除套件版本的資產，並將其狀態設定為已處置**  
下列 `dispose-package-versions` 範例會刪除 test-package 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_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 使用者指南*》中的[設定不含登入命令的 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_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_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_topic"></a>

以下程式碼範例顯示如何使用 `get-package-version-readme`。

**AWS CLI**  
**取得套件版本的 readme 檔案**  
下列 `get-package-version-readme` 範例擷取名為 test-package 之 npm 套件 4.0.0 版的 readme 檔案。  

```
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 使用者指南》**中的[檢視套件版本 readme 檔案](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_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 使用者指南*》中的[連接到儲存庫](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_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_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_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_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_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_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_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_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_topic"></a>

以下程式碼範例顯示如何使用 `login`。

**AWS CLI**  
**使用登入命令設定對儲存庫的驗證**  
下列 `login` 範例使用名為 test-repo 的儲存庫，在名為 test-domain 的網域中設定 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
```
如需詳細資訊，請參閱 CodeArtifact [AWS 使用者指南中的 CLI 入門](https://docs.aws.amazon.com/codeartifact/latest/ug/getting-started-cli.html)。 *AWS CodeArtifact *  
+  如需 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_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_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_topic"></a>

以下程式碼範例顯示如何使用 `update-package-versions-status`。

**AWS CLI**  
**更新套件版本狀態**  
下列 `update-package-versions-status` 範例將 test-package 套件 4.0.0 版的狀態更新為已封存。  

```
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_topic"></a>

以下程式碼範例顯示如何使用 `update-repository`。

**AWS CLI**  
**更新儲存庫**  
下列 `update-repository` 範例將名為 test-repo 的儲存庫，在名為 test-domain 的網域中的描述，更新為「這是更新的描述」。  

```
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)。