

# 使用AWS CLI 的 Amazon Glacier 示例
<a name="cli_glacier_code_examples"></a>

以下代码示例演示了如何通过将 AWS Command Line Interface 与 Amazon Glacier 结合使用，来执行操作和实现常见场景。

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

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

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

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

### `abort-multipart-upload`
<a name="glacier_AbortMultipartUpload_cli_topic"></a>

以下代码示例演示了如何使用 `abort-multipart-upload`。

**AWS CLI**  
以下命令删除到名为 `my-vault` 的文件库的正在进行的分段上传：  

```
aws glacier abort-multipart-upload --account-id - --vault-name my-vault --upload-id 19gaRezEXAMPLES6Ry5YYdqthHOC_kGRCT03L9yetr220UmPtBYKk-OssZtLqyFu7sY1_lR7vgFuJV6NtcV5zpsJ
```
此命令不生成任何输出。Amazon Glacier 在执行操作时需要一个账户 ID 参数，但您可以使用连字符来指定正在使用的账户。上传 ID 由 `aws glacier initiate-multipart-upload` 命令返回，也可以使用 `aws glacier list-multipart-uploads` 获取它。  
有关使用 AWS CLI 分段上传到 Amazon Glacier 的更多信息，请参阅《AWS CLI 用户指南》**中的“使用 Amazon Glacier”。  
+  有关 API 详细信息，请参阅《AWS CLI 命令参考》**中的 [AbortMultipartUpload](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/glacier/abort-multipart-upload.html)。

### `abort-vault-lock`
<a name="glacier_AbortVaultLock_cli_topic"></a>

以下代码示例演示了如何使用 `abort-vault-lock`。

**AWS CLI**  
**中止正在进行的文件库锁定过程**  
以下 `abort-vault-lock` 示例从指定的文件库中删除文件库锁定策略，并将文件库锁定的锁定状态重置为已解锁。  

```
aws glacier abort-vault-lock \
    --account-id - \
    --vault-name MyVaultName
```
此命令不生成任何输出。  
有关更多信息，请参阅《Amazon Glacier API 开发人员指南》**中的[中止文件库锁定（DELETE 锁定策略）](https://docs.aws.amazon.com/amazonglacier/latest/dev/api-AbortVaultLock.html)。  
+  有关 API 详细信息，请参阅《AWS CLI 命令参考》**中的 [AbortVaultLock](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/glacier/abort-vault-lock.html)。

### `add-tags-to-vault`
<a name="glacier_AddTagsToVault_cli_topic"></a>

以下代码示例演示了如何使用 `add-tags-to-vault`。

**AWS CLI**  
以下命令向名为 `my-vault` 的文件库中添加两个标签：  

```
aws glacier add-tags-to-vault --account-id - --vault-name my-vault --tags id=1234,date=july2015
```
Amazon Glacier 在执行操作时需要一个账户 ID 参数，但您可以使用连字符来指定正在使用的账户。  
+  有关 API 的详细信息，请参阅《AWS CLI 命令参考》**中的 [AddTagsToVault](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/glacier/add-tags-to-vault.html)。

### `complete-multipart-upload`
<a name="glacier_CompleteMultipartUpload_cli_topic"></a>

以下代码示例演示了如何使用 `complete-multipart-upload`。

**AWS CLI**  
以下命令完成 3 MiB 归档的分段上传：  

```
aws glacier complete-multipart-upload --archive-size 3145728 --checksum 9628195fcdbcbbe76cdde456d4646fa7de5f219fb39823836d81f0cc0e18aa67 --upload-id 19gaRezEXAMPLES6Ry5YYdqthHOC_kGRCT03L9yetr220UmPtBYKk-OssZtLqyFu7sY1_lR7vgFuJV6NtcV5zpsJ --account-id - --vault-name my-vault
```
Amazon Glacier 在执行操作时需要一个账户 ID 参数，但您可以使用连字符来指定正在使用的账户。  
上传 ID 由 `aws glacier initiate-multipart-upload` 命令返回，也可以使用 `aws glacier list-multipart-uploads` 获取它。校验和参数采用十六进制归档的 SHA-256 树形哈希。  
有关使用 AWS CLI 分段上传到 Amazon Glacier 的更多信息，包括有关计算树形哈希的说明，请参阅《AWS CLI 用户指南》**中的“使用 Amazon Glacier”。  
+  有关 API 详细信息，请参阅《AWS CLI 命令参考》**中的 [CompleteMultipartUpload](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/glacier/complete-multipart-upload.html)。

### `complete-vault-lock`
<a name="glacier_CompleteVaultLock_cli_topic"></a>

以下代码示例演示了如何使用 `complete-vault-lock`。

**AWS CLI**  
**完成正在进行的文件库锁定过程**  
以下 `complete-vault-lock` 示例完成指定文件库的正在进行的锁定进程，并将文件库锁定的锁定状态设置为 `Locked`。运行 `initiate-lock-process` 时，您将获得 `lock-id` 参数的值。  

```
aws glacier complete-vault-lock \
    --account-id - \
    --vault-name MyVaultName \
    --lock-id 9QZgEXAMPLEPhvL6xEXAMPLE
```
此命令不生成任何输出。  
有关更多信息，请参阅《Amazon Glacier API 开发人员指南》**中的[完成文件库锁定（POST lockId）](https://docs.aws.amazon.com/amazonglacier/latest/dev/api-CompleteVaultLock.html)。  
+  有关 API 详细信息，请参阅《AWS CLI 命令参考》**中的 [CompleteVaultLock](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/glacier/complete-vault-lock.html)。

### `create-vault`
<a name="glacier_CreateVault_cli_topic"></a>

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

**AWS CLI**  
以下命令创建名为 `my-vault` 的新文件库：  

```
aws glacier create-vault --vault-name my-vault --account-id -
```
Amazon Glacier 在执行操作时需要一个账户 ID 参数，但您可以使用连字符来指定正在使用的账户。  
+  有关 API 的详细信息，请参阅《AWS CLI 命令参考》**中的 [CreateVault](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/glacier/create-vault.html)。

### `delete-archive`
<a name="glacier_DeleteArchive_cli_topic"></a>

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

**AWS CLI**  
**从文件库中删除存档**  
以下 `delete-archive` 示例从 `example_vault` 中删除指定存档。  

```
aws glacier delete-archive \
    --account-id 111122223333  \
    --vault-name example_vault \
    --archive-id Sc0u9ZP8yaWkmh-XGlIvAVprtLhaLCGnNwNl5I5x9HqPIkX5mjc0DrId3Ln-Gi_k2HzmlIDZUz117KSdVMdMXLuFWi9PJUitxWO73edQ43eTlMWkH0pd9zVSAuV_XXZBVhKhyGhJ7w
```
此命令不生成任何输出。  
+  有关 API 的详细信息，请参阅《AWS CLI 命令参考》**中的 [DeleteArchive](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/glacier/delete-archive.html)。

### `delete-vault-access-policy`
<a name="glacier_DeleteVaultAccessPolicy_cli_topic"></a>

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

**AWS CLI**  
**删除文件库的访问策略**  
以下 `delete-vault-access-policy` 示例删除指定文件库的访问策略。  

```
aws glacier delete-vault-access-policy \
    --account-id 111122223333 \
    --vault-name example_vault
```
此命令不生成任何输出。  
+  有关 API 详细信息，请参阅《AWS CLI 命令参考》**中的 [DeleteVaultAccessPolicy](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/glacier/delete-vault-access-policy.html)。

### `delete-vault-notifications`
<a name="glacier_DeleteVaultNotifications_cli_topic"></a>

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

**AWS CLI**  
**删除文件库的 SNS 通知**  
以下 `delete-vault-notifications` 示例演示了如何删除 Amazon Simple Notification Service（Amazon SNS）针对指定文件库发送的通知。  

```
aws glacier delete-vault-notifications \
    --account-id 111122223333 \
    --vault-name example_vault
```
此命令不生成任何输出。  
+  有关 API 的详细信息，请参阅《AWS CLI 命令参考》**中的 [DeleteVaultNotifications](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/glacier/delete-vault-notifications.html)。

### `delete-vault`
<a name="glacier_DeleteVault_cli_topic"></a>

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

**AWS CLI**  
以下命令删除名为 `my-vault` 的文件库：  

```
aws glacier delete-vault --vault-name my-vault --account-id -
```
此命令不生成任何输出。Amazon Glacier 在执行操作时需要一个账户 ID 参数，但您可以使用连字符来指定正在使用的账户。  
+  有关 API 的详细信息，请参阅《AWS CLI 命令参考》**中的 [DeleteVault](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/glacier/delete-vault.html)。

### `describe-job`
<a name="glacier_DescribeJob_cli_topic"></a>

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

**AWS CLI**  
以下命令检索名为 `my-vault` 的文件库中有关库存检索作业的信息：  

```
aws glacier describe-job --account-id - --vault-name my-vault --job-id zbxcm3Z_3z5UkoroF7SuZKrxgGoDc3RloGduS7Eg-RO47Yc6FxsdGBgf_Q2DK5Ejh18CnTS5XW4_XqlNHS61dsO4CnMW
```
输出：  

```
{
    "InventoryRetrievalParameters": {
        "Format": "JSON"
    },
    "VaultARN": "arn:aws:glacier:us-west-2:0123456789012:vaults/my-vault",
    "Completed": false,
    "JobId": "zbxcm3Z_3z5UkoroF7SuZKrxgGoDc3RloGduS7Eg-RO47Yc6FxsdGBgf_Q2DK5Ejh18CnTS5XW4_XqlNHS61dsO4CnMW",
    "Action": "InventoryRetrieval",
    "CreationDate": "2015-07-17T20:23:41.616Z",
    "StatusCode": "InProgress"
}
```
作业 ID 可以在 `aws glacier initiate-job` 和 `aws glacier list-jobs` 的输出中找到。Amazon Glacier 在执行操作时需要一个账户 ID 参数，但您可以使用连字符来指定正在使用的账户。  
+  有关 API 的详细信息，请参阅《AWS CLI 命令参考》**中的 [DescribeJob](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/glacier/describe-job.html)。

### `describe-vault`
<a name="glacier_DescribeVault_cli_topic"></a>

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

**AWS CLI**  
以下命令检索名为 `my-vault` 的文件库的相关数据：  

```
aws glacier describe-vault --vault-name my-vault --account-id -
```
Amazon Glacier 在执行操作时需要一个账户 ID 参数，但您可以使用连字符来指定正在使用的账户。  
+  有关 API 的详细信息，请参阅《AWS CLI 命令参考》**中的 [DescribeVault](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/glacier/describe-vault.html)。

### `get-data-retrieval-policy`
<a name="glacier_GetDataRetrievalPolicy_cli_topic"></a>

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

**AWS CLI**  
以下命令获取正在使用中的账户的数据检索策略：  

```
aws glacier get-data-retrieval-policy --account-id -
```
输出：  

```
{
    "Policy": {
        "Rules": [
            {
                "BytesPerHour": 10737418240,
                "Strategy": "BytesPerHour"
            }
        ]
    }
}
```
Amazon Glacier 在执行操作时需要一个账户 ID 参数，但您可以使用连字符来指定正在使用的账户。  
+  有关 API 详细信息，请参阅《AWS CLI 命令参考》**中的 [GetDataRetrievalPolicy](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/glacier/get-data-retrieval-policy.html)。

### `get-job-output`
<a name="glacier_GetJobOutput_cli_topic"></a>

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

**AWS CLI**  
以下命令将文件库清单作业的输出保存到名为 `output.json` 的当前目录中的某个文件中：  

```
aws glacier get-job-output --account-id - --vault-name my-vault --job-id zbxcm3Z_3z5UkoroF7SuZKrxgGoDc3RloGduS7Eg-RO47Yc6FxsdGBgf_Q2DK5Ejh18CnTS5XW4_XqlNHS61dsO4CnMW output.json
```
可在 `aws glacier list-jobs` 输出中找到 `job-id`。请注意，输出文件名是一个位置参数，不以选项名称作为前缀。Amazon Glacier 在执行操作时需要一个账户 ID 参数，但您可以使用连字符来指定正在使用的账户。  
输出：  

```
{
    "status": 200,
    "acceptRanges": "bytes",
    "contentType": "application/json"
}
```
`output.json`:  

```
{"VaultARN":"arn:aws:glacier:us-west-2:0123456789012:vaults/my-vault","InventoryDate":"2015-04-07T00:26:18Z","ArchiveList":[{"ArchiveId":"kKB7ymWJVpPSwhGP6ycSOAekp9ZYe_--zM_mw6k76ZFGEIWQX-ybtRDvc2VkPSDtfKmQrj0IRQLSGsNuDp-AJVlu2ccmDSyDUmZwKbwbpAdGATGDiB3hHO0bjbGehXTcApVud_wyDw","ArchiveDescription":"multipart upload test","CreationDate":"2015-04-06T22:24:34Z","Size":3145728,"SHA256TreeHash":"9628195fcdbcbbe76cdde932d4646fa7de5f219fb39823836d81f0cc0e18aa67"}]}
```
+  有关 API 详细信息，请参阅《AWS CLI 命令参考》**中的 [GetJobOutput](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/glacier/get-job-output.html)。

### `get-vault-access-policy`
<a name="glacier_GetVaultAccessPolicy_cli_topic"></a>

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

**AWS CLI**  
**检索文件库的访问策略**  
以下 `get-vault-access-policy` 示例检索指定文件库的访问策略。  

```
aws glacier get-vault-access-policy \
    --account-id 111122223333 \
    --vault-name example_vault
```
输出：  

```
{
    "policy": {
        "Policy": "{\"Version\":\"2012-10-17\",\"Statement\":[{\"Effect\":\"Allow\",\"Principal\":{\"AWS\":\"arn:aws:iam::444455556666:root\"},\"Action\":\"glacier:ListJobs\",\"Resource\":\"arn:aws:glacier:us-east-1:111122223333:vaults/example_vault\"},{\"Effect\":\"Allow\",\"Principal\":{\"AWS\":\"arn:aws:iam::444455556666:root\"},\"Action\":\"glacier:UploadArchive\",\"Resource\":\"arn:aws:glacier:us-east-1:111122223333:vaults/example_vault\"}]}"
    }
}
```
+  有关 API 详细信息，请参阅《AWS CLI 命令参考》**中的 [GetVaultAccessPolicy](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/glacier/get-vault-access-policy.html)。

### `get-vault-lock`
<a name="glacier_GetVaultLock_cli_topic"></a>

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

**AWS CLI**  
**获取文件库锁定的详细信息**  
以下 `get-vault-lock` 示例检索了有关指定文件库的锁定的详细信息。  

```
aws glacier get-vault-lock \
    --account-id - \
    --vault-name MyVaultName
```
输出：  

```
{
    "Policy": "{\"Version\":\"2012-10-17\",\"Statement\":[{\"Sid\":\"Define-vault-lock\",\"Effect\":\"Deny\",\"Principal\":{\"AWS\":\"arn:aws:iam::999999999999:root\"},\"Action\":\"glacier:DeleteArchive\",\"Resource\":\"arn:aws:glacier:us-west-2:99999999999:vaults/MyVaultName\",\"Condition\":{\"NumericLessThanEquals\":{\"glacier:ArchiveAgeinDays\":\"365\"}}}]}",
    "State": "Locked",
    "CreationDate": "2019-07-29T22:25:28.640Z"
}
```
有关更多信息，请参阅《Amazon Glacier API 开发人员指南》**中的[获取文件库锁定（GET 锁定策略）](https://docs.aws.amazon.com/amazonglacier/latest/dev/api-GetVaultLock.html)。  
+  有关 API 详细信息，请参阅《AWS CLI 命令参考》**中的 [GetVaultLock](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/glacier/get-vault-lock.html)。

### `get-vault-notifications`
<a name="glacier_GetVaultNotifications_cli_topic"></a>

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

**AWS CLI**  
以下命令获取名为 `my-vault` 的文件库的通知配置的描述：  

```
aws glacier get-vault-notifications --account-id - --vault-name my-vault
```
输出：  

```
{
    "vaultNotificationConfig": {
        "Events": [
            "InventoryRetrievalCompleted",
            "ArchiveRetrievalCompleted"
        ],
        "SNSTopic": "arn:aws:sns:us-west-2:0123456789012:my-vault"
    }
}
```
如果没有为该文件库配置任何通知，则会返回错误。Amazon Glacier 在执行操作时需要一个账户 ID 参数，但您可以使用连字符来指定正在使用的账户。  
+  有关 API 的详细信息，请参阅《AWS CLI 命令参考》**中的 [GetVaultNotifications](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/glacier/get-vault-notifications.html)。

### `initiate-job`
<a name="glacier_InitiateJob_cli_topic"></a>

以下代码示例演示了如何使用 `initiate-job`。

**AWS CLI**  
以下命令启动作业以获取文件库 `my-vault` 的清单：  

```
aws glacier initiate-job --account-id - --vault-name my-vault --job-parameters '{"Type": "inventory-retrieval"}'
```
输出：  

```
{
    "location": "/0123456789012/vaults/my-vault/jobs/zbxcm3Z_3z5UkoroF7SuZKrxgGoDc3RloGduS7Eg-RO47Yc6FxsdGBgf_Q2DK5Ejh18CnTS5XW4_XqlNHS61dsO4CnMW",
    "jobId": "zbxcm3Z_3z5UkoroF7SuZKrxgGoDc3RloGduS7Eg-RO47Yc6FxsdGBgf_Q2DK5Ejh18CnTS5XW4_XqlNHS61dsO4CnMW"
}
```
Amazon Glacier 在执行操作时需要一个账户 ID 参数，但您可以使用连字符来指定正在使用的账户。  
以下命令启动一个作业以从文件库 `my-vault` 检索归档：  

```
aws glacier initiate-job --account-id - --vault-name my-vault --job-parameters file://job-archive-retrieval.json
```
`job-archive-retrieval.json` 是本地文件夹中的一个 JSON 文件，用于指定作业类型、归档 ID 和一些可选参数：  

```
{
  "Type": "archive-retrieval",
  "ArchiveId": "kKB7ymWJVpPSwhGP6ycSOAekp9ZYe_--zM_mw6k76ZFGEIWQX-ybtRDvc2VkPSDtfKmQrj0IRQLSGsNuDp-AJVlu2ccmDSyDUmZwKbwbpAdGATGDiB3hHO0bjbGehXTcApVud_wyDw",
  "Description": "Retrieve archive on 2015-07-17",
  "SNSTopic": "arn:aws:sns:us-west-2:0123456789012:my-topic"
}
```
归档 ID 可在 `aws glacier upload-archive` 和 `aws glacier get-job-output` 的输出中找到。  
输出：  

```
{
    "location": "/011685312445/vaults/mwunderl/jobs/l7IL5-EkXyEY9Ws95fClzIbk2O5uLYaFdAYOi-azsX_Z8V6NH4yERHzars8wTKYQMX6nBDI9cMNHzyZJO59-8N9aHWav",
    "jobId": "l7IL5-EkXy2O5uLYaFdAYOiEY9Ws95fClzIbk-azsX_Z8V6NH4yERHzars8wTKYQMX6nBDI9cMNHzyZJO59-8N9aHWav"
}
```
有关作业参数格式的详细信息，请参阅《Amazon Glacier API Reference》**中的“启动作业”。  
+  有关 API 详细信息，请参阅《AWS CLI 命令参考》**中的 [InitiateJob](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/glacier/initiate-job.html)。

### `initiate-multipart-upload`
<a name="glacier_InitiateMultipartUpload_cli_topic"></a>

以下代码示例演示了如何使用 `initiate-multipart-upload`。

**AWS CLI**  
以下命令将启动到名为 `my-vault` 的文件库的分段上传，其中每个文件的分段大小为 1 MiB（1024 x 1024 字节）：  

```
aws glacier initiate-multipart-upload --account-id - --part-size 1048576 --vault-name my-vault --archive-description "multipart upload test"
```
归档描述参数是可选的。Amazon Glacier 在执行操作时需要一个账户 ID 参数，但您可以使用连字符来指定正在使用的账户。  
成功时，此命令会输出一个上传 ID。使用 `aws glacier upload-multipart-part` 上传归档的每个分段时，请使用此上传 ID。有关使用 AWS CLI 分段上传到 Amazon Glacier 的更多信息，请参阅《AWS CLI 用户指南》**中的“使用 Amazon Glacier”。  
+  有关 API 详细信息，请参阅《AWS CLI 命令参考》**中的 [InitiateMultipartUpload](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/glacier/initiate-multipart-upload.html)。

### `initiate-vault-lock`
<a name="glacier_InitiateVaultLock_cli_topic"></a>

以下代码示例演示了如何使用 `initiate-vault-lock`。

**AWS CLI**  
**启动文件库锁定过程**  
以下 `initiate-vault-lock` 示例在指定的文件库上安装文件库锁定策略，并将文件库锁定的锁定状态设置为 `InProgress`。您必须通过在 24 小时内调用 `complete-vault-lock` 以将文件库锁定的状态设置为 `Locked` 来完成该过程。  

```
aws glacier initiate-vault-lock \
    --account-id - \
    --vault-name MyVaultName \
    --policy file://vault_lock_policy.json
```
 的内容`vault_lock_policy.json`：  

```
{"Policy":"{\"Version\":\"2012-10-17\",\"Statement\":[{\"Sid\":\"Define-vault-lock\",\"Effect\":\"Deny\",\"Principal\":{\"AWS\":\"arn:aws:iam::999999999999:root\"},\"Action\":\"glacier:DeleteArchive\",\"Resource\":\"arn:aws:glacier:us-west-2:999999999999:vaults/examplevault\",\"Condition\":{\"NumericLessThanEquals\":{\"glacier:ArchiveAgeinDays\":\"365\"}}}]}"}
```
该输出是可用于完成文件库锁定过程的文件库锁定 ID。  

```
{
    "lockId": "9QZgEXAMPLEPhvL6xEXAMPLE"
}
```
有关更多信息，请参阅《Amazon Glacier API 开发人员指南》**中的[启动文件库锁定（POST 锁定策略）](https://docs.aws.amazon.com/amazonglacier/latest/dev/api-InitiateVaultLock.html)。  
+  有关 API 详细信息，请参阅《AWS CLI 命令参考》**中的 [InitiateVaultLock](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/glacier/initiate-vault-lock.html)。

### `list-jobs`
<a name="glacier_ListJobs_cli_topic"></a>

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

**AWS CLI**  
以下命令列出了名为 `my-vault` 的文件库的正在进行和最近完成的作业：  

```
aws glacier list-jobs --account-id - --vault-name my-vault
```
输出：  

```
{
    "JobList": [
        {
            "VaultARN": "arn:aws:glacier:us-west-2:0123456789012:vaults/my-vault",
            "RetrievalByteRange": "0-3145727",
            "SNSTopic": "arn:aws:sns:us-west-2:0123456789012:my-vault",
            "Completed": false,
            "SHA256TreeHash": "9628195fcdbcbbe76cdde932d4646fa7de5f219fb39823836d81f0cc0e18aa67",
            "JobId": "l7IL5-EkXyEY9Ws95fClzIbk2O5uLYaFdAYOi-azsX_Z8V6NH4yERHzars8wTKYQMX6nBDI9cMNHzyZJO59-8N9aHWav",
            "ArchiveId": "kKB7ymWJVpPSwhGP6ycSOAekp9ZYe_--zM_mw6k76ZFGEIWQX-ybtRDvc2VkPSDtfKmQrj0IRQLSGsNuDp-AJVlu2ccmDSyDUmZwKbwbpAdGATGDiB3hHO0bjbGehXTcApVud_wyDw",
            "JobDescription": "Retrieve archive on 2015-07-17",
            "ArchiveSizeInBytes": 3145728,
            "Action": "ArchiveRetrieval",
            "ArchiveSHA256TreeHash": "9628195fcdbcbbe76cdde932d4646fa7de5f219fb39823836d81f0cc0e18aa67",
            "CreationDate": "2015-07-17T21:16:13.840Z",
            "StatusCode": "InProgress"
        },
        {
            "InventoryRetrievalParameters": {
                "Format": "JSON"
            },
            "VaultARN": "arn:aws:glacier:us-west-2:0123456789012:vaults/my-vault",
            "Completed": false,
            "JobId": "zbxcm3Z_3z5UkoroF7SuZKrxgGoDc3RloGduS7Eg-RO47Yc6FxsdGBgf_Q2DK5Ejh18CnTS5XW4_XqlNHS61dsO4CnMW",
            "Action": "InventoryRetrieval",
            "CreationDate": "2015-07-17T20:23:41.616Z",
            "StatusCode": ""InProgress""
        }
    ]
}
```
Amazon Glacier 在执行操作时需要一个账户 ID 参数，但您可以使用连字符来指定正在使用的账户。  
+  有关 API 的详细信息，请参阅《AWS CLI 命令参考》**中的 [ListJobs](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/glacier/list-jobs.html)。

### `list-multipart-uploads`
<a name="glacier_ListMultipartUploads_cli_topic"></a>

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

**AWS CLI**  
以下命令显示名为 `my-vault` 的文件库的所有正在进行的分段上传：  

```
aws glacier list-multipart-uploads --account-id - --vault-name my-vault
```
Amazon Glacier 在执行操作时需要一个账户 ID 参数，但您可以使用连字符来指定正在使用的账户。  
有关使用 AWS CLI 分段上传到 Amazon Glacier 的更多信息，请参阅《AWS CLI 用户指南》**中的“使用 Amazon Glacier”。  
+  有关 API 详细信息，请参阅《AWS CLI 命令参考》**中的 [ListMultipartUploads](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/glacier/list-multipart-uploads.html)。

### `list-parts`
<a name="glacier_ListParts_cli_topic"></a>

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

**AWS CLI**  
以下命令列出了到名为 `my-vault` 的文件库的分段上传的上传分段：  

```
aws glacier list-parts --account-id - --vault-name my-vault --upload-id "SYZi7qnL-YGqGwAm8Kn3BLP2ElNCvnB-5961R09CSaPmPwkYGHOqeN_nX3-Vhnd2yF0KfB5FkmbnBU9GubbdrCs8ut-D"
```
输出：  

```
{
    "MultipartUploadId": "SYZi7qnL-YGqGwAm8Kn3BLP2ElNCvnB-5961R09CSaPmPwkYGHOqeN_nX3-Vhnd2yF0KfB5FkmbnBU9GubbdrCs8ut-D",
    "Parts": [
        {
            "RangeInBytes": "0-1048575",
            "SHA256TreeHash": "e1f2a7cd6e047350f69b9f8cfa60fa606fe2f02802097a9a026360a7edc1f553"
        },
        {
            "RangeInBytes": "1048576-2097151",
            "SHA256TreeHash": "43cf3061fb95796aed99a11a6aa3cd8f839eed15e655ab0a597126210636aee6"
        }
    ],
    "VaultARN": "arn:aws:glacier:us-west-2:0123456789012:vaults/my-vault",
    "CreationDate": "2015-07-18T00:05:23.830Z",
    "PartSizeInBytes": 1048576
}
```
Amazon Glacier 在执行操作时需要一个账户 ID 参数，但您可以使用连字符来指定正在使用的账户。  
有关使用 AWS CLI 分段上传到 Amazon Glacier 的更多信息，请参阅《AWS CLI 用户指南》**中的“使用 Amazon Glacier”。  
+  有关 API 详细信息，请参阅《AWS CLI 命令参考》**中的 [ListParts](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/glacier/list-parts.html)。

### `list-provisioned-capacity`
<a name="glacier_ListProvisionedCapacity_cli_topic"></a>

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

**AWS CLI**  
**检索预置容量单位**  
以下 `list-provisioned-capacity` 示例检索指定账户的任何预置容量单位的详细信息。  

```
aws glacier list-provisioned-capacity \
    --account-id 111122223333
```
输出：  

```
{
    "ProvisionedCapacityList": [
        {
            "CapacityId": "HpASAuvfRFiVDbOjMfEIcr8K",
            "ExpirationDate": "2020-03-18T19:59:24.000Z",
            "StartDate": "2020-02-18T19:59:24.912Z"
        }
    ]
}
```
+  有关 API 详细信息，请参阅《AWS CLI 命令参考》**中的 [ListProvisionedCapacity](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/glacier/list-provisioned-capacity.html)。

### `list-tags-for-vault`
<a name="glacier_ListTagsForVault_cli_topic"></a>

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

**AWS CLI**  
以下命令列出应用于名为 `my-vault` 的文件库的标签：  

```
aws glacier list-tags-for-vault --account-id - --vault-name my-vault
```
输出：  

```
{
    "Tags": {
        "date": "july2015",
        "id": "1234"
    }
}
```
Amazon Glacier 在执行操作时需要一个账户 ID 参数，但您可以使用连字符来指定正在使用的账户。  
+  有关 API 的详细信息，请参阅《AWS CLI 命令参考》**中的 [ListTagsForVault](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/glacier/list-tags-for-vault.html)。

### `list-vaults`
<a name="glacier_ListVaults_cli_topic"></a>

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

**AWS CLI**  
以下命令列出默认账户和区域中的文件库：  

```
aws glacier list-vaults --account-id -
```
输出：  

```
{
    "VaultList": [
        {
            "SizeInBytes": 3178496,
            "VaultARN": "arn:aws:glacier:us-west-2:0123456789012:vaults/my-vault",
            "LastInventoryDate": "2015-04-07T00:26:19.028Z",
            "VaultName": "my-vault",
            "NumberOfArchives": 1,
            "CreationDate": "2015-04-06T21:23:45.708Z"
        }
    ]
}
```
Amazon Glacier 在执行操作时需要一个账户 ID 参数，但您可以使用连字符来指定正在使用的账户。  
+  有关 API 的详细信息，请参阅《AWS CLI 命令参考》**中的 [ListVaults](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/glacier/list-vaults.html)。

### `purchase-provisioned-capacity`
<a name="glacier_PurchaseProvisionedCapacity_cli_topic"></a>

以下代码示例演示了如何使用 `purchase-provisioned-capacity`。

**AWS CLI**  
**购买预置容量单位**  
以下 `purchase-provisioned-capacity` 示例购买预置容量单位。  

```
aws glacier purchase-provisioned-capacity \
    --account-id 111122223333
```
输出：  

```
{
    "capacityId": "HpASAuvfRFiVDbOjMfEIcr8K"
}
```
+  有关 API 详细信息，请参阅《AWS CLI 命令参考》**中的 [PurchaseProvisionedCapacity](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/glacier/purchase-provisioned-capacity.html)。

### `remove-tags-from-vault`
<a name="glacier_RemoveTagsFromVault_cli_topic"></a>

以下代码示例演示了如何使用 `remove-tags-from-vault`。

**AWS CLI**  
以下命令从名为 `my-vault` 的文件库中删除键为 `date` 的标签：  

```
aws glacier remove-tags-from-vault --account-id - --vault-name my-vault --tag-keys date
```
Amazon Glacier 在执行操作时需要一个账户 ID 参数，但您可以使用连字符来指定正在使用的账户。  
+  有关 API 详细信息，请参阅《AWS CLI 命令参考》**中的 [RemoveTagsFromVault](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/glacier/remove-tags-from-vault.html)。

### `set-data-retrieval-policy`
<a name="glacier_SetDataRetrievalPolicy_cli_topic"></a>

以下代码示例演示了如何使用 `set-data-retrieval-policy`。

**AWS CLI**  
以下命令为正在使用的账户配置数据检索策略：  

```
aws glacier set-data-retrieval-policy --account-id - --policy file://data-retrieval-policy.json
```
`data-retrieval-policy.json` 是当前文件夹中指定数据检索策略的 JSON 文件：  

```
{
  "Rules":[
     {
         "Strategy":"BytesPerHour",
         "BytesPerHour":10737418240
      }
   ]
}
```
Amazon Glacier 在执行操作时需要一个账户 ID 参数，但您可以使用连字符来指定正在使用的账户。  
以下命令使用内联 JSON 将数据检索策略设置为 `FreeTier`：  

```
aws glacier set-data-retrieval-policy --account-id - --policy '{"Rules":[{"Strategy":"FreeTier"}]}'
```
有关策略格式的详细信息，请参阅《Amazon Glacier API 参考》**中的“设置数据检索策略”。  
+  有关 API 详细信息，请参阅《AWS CLI 命令参考》**中的 [SetDataRetrievalPolicy](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/glacier/set-data-retrieval-policy.html)。

### `set-vault-access-policy`
<a name="glacier_SetVaultAccessPolicy_cli_topic"></a>

以下代码示例演示了如何使用 `set-vault-access-policy`。

**AWS CLI**  
**设置文件库的访问策略**  
以下 `set-vault-access-policy` 示例将权限策略附加到指定的文件库。  

```
aws glacier set-vault-access-policy \
    --account-id 111122223333 \
    --vault-name example_vault
    --policy '{"Policy": "{\"Version\":\"2012-10-17\",\"Statement\":[{\"Effect\":\"Allow\",\"Principal\":{\"AWS\":\"arn:aws:iam::444455556666:root\"},\"Action\":\"glacier:ListJobs\",\"Resource\":\"arn:aws:glacier:us-east-1:111122223333:vaults/example_vault\"},{\"Effect\":\"Allow\",\"Principal\":{\"AWS\":\"arn:aws:iam::444455556666:root\"},\"Action\":\"glacier:UploadArchive\",\"Resource\":\"arn:aws:glacier:us-east-1:111122223333:vaults/example_vault\"}]}"}'
```
此命令不生成任何输出。  
+  有关 API 详细信息，请参阅《AWS CLI 命令参考》**中的 [SetVaultAccessPolicy](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/glacier/set-vault-access-policy.html)。

### `set-vault-notifications`
<a name="glacier_SetVaultNotifications_cli_topic"></a>

以下代码示例演示了如何使用 `set-vault-notifications`。

**AWS CLI**  
以下命令为名为 `my-vault` 的文件库配置 SNS 通知：  

```
aws glacier set-vault-notifications --account-id - --vault-name my-vault --vault-notification-config file://notificationconfig.json
```
`notificationconfig.json` 是当前文件夹中的一个 JSON 文件，用于指定 SNS 主题和要发布的事件：  

```
{
  "SNSTopic": "arn:aws:sns:us-west-2:0123456789012:my-vault",
  "Events": ["ArchiveRetrievalCompleted", "InventoryRetrievalCompleted"]
}
```
Amazon Glacier 在执行操作时需要一个账户 ID 参数，但您可以使用连字符来指定正在使用的账户。  
+  有关 API 的详细信息，请参阅《AWS CLI 命令参考》**中的 [SetVaultNotifications](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/glacier/set-vault-notifications.html)。

### `upload-archive`
<a name="glacier_UploadArchive_cli_topic"></a>

以下代码示例演示了如何使用 `upload-archive`。

**AWS CLI**  
以下命令将名为 `archive.zip` 的当前文件夹中的存档上传到名为 `my-vault` 的文件库：  

```
aws glacier upload-archive --account-id - --vault-name my-vault --body archive.zip
```
输出：  

```
{
    "archiveId": "kKB7ymWJVpPSwhGP6ycSOAekp9ZYe_--zM_mw6k76ZFGEIWQX-ybtRDvc2VkPSDtfKmQrj0IRQLSGsNuDp-AJVlu2ccmDSyDUmZwKbwbpAdGATGDiB3hHO0bjbGehXTcApVud_wyDw",
    "checksum": "969fb39823836d81f0cc028195fcdbcbbe76cdde932d4646fa7de5f21e18aa67",
    "location": "/0123456789012/vaults/my-vault/archives/kKB7ymWJVpPSwhGP6ycSOAekp9ZYe_--zM_mw6k76ZFGEIWQX-ybtRDvc2VkPSDtfKmQrj0IRQLSGsNuDp-AJVlu2ccmDSyDUmZwKbwbpAdGATGDiB3hHO0bjbGehXTcApVud_wyDw"
}
```
Amazon Glacier 在执行操作时需要一个账户 ID 参数，但您可以使用连字符来指定正在使用的账户。  
要检索上传的存档，可使用 aws glacier initiate-job 命令启动检索作业。  
+  有关 API 的详细信息，请参阅《AWS CLI 命令参考》**中的 [UploadArchive](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/glacier/upload-archive.html)。

### `upload-multipart-part`
<a name="glacier_UploadMultipartPart_cli_topic"></a>

以下代码示例演示了如何使用 `upload-multipart-part`。

**AWS CLI**  
以下命令上传存档的前 1 MiB（1024 x 1024 字节）部分：  

```
aws glacier upload-multipart-part --body part1 --range 'bytes 0-1048575/*' --account-id - --vault-name my-vault --upload-id 19gaRezEXAMPLES6Ry5YYdqthHOC_kGRCT03L9yetr220UmPtBYKk-OssZtLqyFu7sY1_lR7vgFuJV6NtcV5zpsJ
```
Amazon Glacier 在执行操作时需要一个账户 ID 参数，但您可以使用连字符来指定正在使用的账户。  
正文参数采用本地文件系统上分段文件的路径。范围参数采用 HTTP 内容范围，指示该分段在已完成的存档中占用的字节。上传 ID 由 `aws glacier initiate-multipart-upload` 命令返回，也可以使用 `aws glacier list-multipart-uploads` 获取它。  
有关使用 AWS CLI 分段上传到 Amazon Glacier 的更多信息，请参阅《AWS CLI 用户指南》**中的“使用 Amazon Glacier”。  
+  有关 API 详细信息，请参阅《AWS CLI API Reference》**中的 [UploadMultipartPart](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/glacier/upload-multipart-part.html)。