S3 Glacier 示例使用 Amazon CLI - Amazon Command Line Interface
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

S3 Glacier 示例使用 Amazon CLI

以下代码示例向您展示了如何在 S3 Glacier 中使用来执行操作和实现常见场景。 Amazon Command Line Interface

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

场景是展示如何通过在同一服务中调用多个函数来完成特定任务任务的代码示例。

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

主题

操作

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

Amazon 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 获取它。

有关使用 CLI 分段上传到 Amazon Glacier 的更多信息,请参阅 Amazon CL Amazon I 用户指南中的使用亚马逊 Glacier。

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

Amazon CLI

中止正在进行的文件库锁定进程

以下abort-vault-lock示例从指定文件库中删除文件库锁定策略,并将文件库锁定的锁定状态重置为已解锁。

aws glacier abort-vault-lock \ --account-id - \ --vault-name MyVaultName

此命令不生成任何输出。

有关更多信息,请参阅 A mazon Glacier API 开发者指南中的中止文件库锁定(删除锁定策略)

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考AbortVaultLock中的。

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

Amazon CLI

以下命令向名为 my-vault 的文件库中添加两个标签:

aws glacier add-tags-to-vault --account-id - --vault-name my-vault --tags id=1234,date=july2015

Amazon Glacier 在执行操作时需要一个账户 ID 参数,但您可以使用连字符来指定正在使用的账户。

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考AddTagsToVault中的。

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

Amazon 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 树形哈希。

有关使用 CLI 分段上传到 Amazon Glacier 的更多信息,包括计算树形哈希的说明,请参阅 Amazon CL Amazon I 用户指南中的使用 Amazon Glacier。

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

Amazon CLI

完成正在进行的文件库锁定流程

以下complete-vault-lock示例完成了指定文件库的锁定进度,并将文件库锁定的锁定状态设置为Locked。当你运行时,你会得到lock-id参数的值initiate-lock-process

aws glacier complete-vault-lock \ --account-id - \ --vault-name MyVaultName \ --lock-id 9QZgEXAMPLEPhvL6xEXAMPLE

此命令不生成任何输出。

有关更多信息,请参阅 Amazon Glacier API 开发者指南中的完成文件库锁定(POST LockID)

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考CompleteVaultLock中的。

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

Amazon CLI

以下命令创建名为 my-vault 的新文件库:

aws glacier create-vault --vault-name my-vault --account-id -

Amazon Glacier 在执行操作时需要一个账户 ID 参数,但您可以使用连字符来指定正在使用的账户。

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考CreateVault中的。

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

Amazon CLI

从文件库中删除存档

以下 delete-archive 示例从 example_vault 中删除指定存档。

aws glacier delete-archive \ --account-id 111122223333 \ --vault-name example_vault \ --archive-id Sc0u9ZP8yaWkmh-XGlIvAVprtLhaLCGnNwNl5I5x9HqPIkX5mjc0DrId3Ln-Gi_k2HzmlIDZUz117KSdVMdMXLuFWi9PJUitxWO73edQ43eTlMWkH0pd9zVSAuV_XXZBVhKhyGhJ7w

此命令不生成任何输出。

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考DeleteArchive中的。

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

Amazon CLI

移除文件库的访问策略

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

aws glacier delete-vault-access-policy \ --account-id 111122223333 \ --vault-name example_vault

此命令不生成任何输出。

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

Amazon CLI

删除文件库的 SNS 通知

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

aws glacier delete-vault-notifications \ --account-id 111122223333 \ --vault-name example_vault

此命令不生成任何输出。

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

Amazon CLI

以下命令删除名为 my-vault 的文件库:

aws glacier delete-vault --vault-name my-vault --account-id -

此命令不生成任何输出。Amazon Glacier 在执行操作时需要一个账户 ID 参数,但您可以使用连字符来指定正在使用的账户。

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考DeleteVault中的。

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

Amazon 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-jobaws glacier list-jobs 的输出中找到。Amazon Glacier 在执行操作时需要一个账户 ID 参数,但您可以使用连字符来指定正在使用的账户。

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考DescribeJob中的。

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

Amazon CLI

以下命令检索名为 my-vault 的文件库的相关数据:

aws glacier describe-vault --vault-name my-vault --account-id -

Amazon Glacier 在执行操作时需要一个账户 ID 参数,但您可以使用连字符来指定正在使用的账户。

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考DescribeVault中的。

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

Amazon CLI

以下命令获取正在使用的账户的数据检索策略:

aws glacier get-data-retrieval-policy --account-id -

输出:

{ "Policy": { "Rules": [ { "BytesPerHour": 10737418240, "Strategy": "BytesPerHour" } ] } }

Amazon Glacier 在执行操作时需要一个账户 ID 参数,但您可以使用连字符来指定正在使用的账户。

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

Amazon 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 的详细信息,请参阅Amazon CLI 命令参考GetJobOutput中的。

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

Amazon 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\"}]}" } }

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

Amazon 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 开发者指南中的获取文件库锁定(获取锁定策略)

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考GetVaultLock中的。

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

Amazon 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 参数,但您可以使用连字符来指定正在使用的账户。

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

Amazon 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 参考中的启动任务。

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考InitiateJob中的。

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

Amazon 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。使用上传档案的每个部分时,请使用上传 ID aws glacier upload-multipart-part。有关使用 CLI 分段上传到 Amazon Glacier 的更多信息,请参阅 Amazon CL Amazon I 用户指南中的使用亚马逊 Glacier。

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

Amazon CLI

启动文件库锁定过程

以下initiate-vault-lock示例在指定的文件库上安装文件库锁定策略,并将文件库锁定的锁定状态设置为InProgress。您必须complete-vault-lock在 24 小时内致电以将文件库锁定状态设置为,从而完成该过程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 锁定策略)

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考InitiateVaultLock中的。

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

Amazon 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 的详细信息,请参阅Amazon CLI 命令参考ListJobs中的。

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

Amazon CLI

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

aws glacier list-multipart-uploads --account-id - --vault-name my-vault

Amazon Glacier 在执行操作时需要一个账户 ID 参数,但您可以使用连字符来指定正在使用的账户。

有关使用 CLI 分段上传到 Amazon Glacier 的更多信息,请参阅 Amazon CL Amazon I 用户指南中的使用亚马逊 Glacier。

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

Amazon 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 参数,但您可以使用连字符来指定正在使用的账户。

有关使用 CLI 分段上传到 Amazon Glacier 的更多信息,请参阅 Amazon CL Amazon I 用户指南中的使用亚马逊 Glacier。

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考ListParts中的。

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

Amazon 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" } ] }

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

Amazon CLI

以下命令列出应用于名为 my-vault 的文件库的标签:

aws glacier list-tags-for-vault --account-id - --vault-name my-vault

输出:

{ "Tags": { "date": "july2015", "id": "1234" } }

Amazon Glacier 在执行操作时需要一个账户 ID 参数,但您可以使用连字符来指定正在使用的账户。

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考ListTagsForVault中的。

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

Amazon 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 的详细信息,请参阅Amazon CLI 命令参考ListVaults中的。

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

Amazon CLI

购买预置容量单位

以下purchase-provisioned-capacity示例购买了预配置容量单位。

aws glacier purchase-provisioned-capacity \ --account-id 111122223333

输出:

{ "capacityId": "HpASAuvfRFiVDbOjMfEIcr8K" }

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

Amazon CLI

以下命令date从名为的文件库中删除带有密钥的标签my-vault

aws glacier remove-tags-from-vault --account-id - --vault-name my-vault --tag-keys date

Amazon Glacier 在执行操作时需要一个账户 ID 参数,但您可以使用连字符来指定正在使用的账户。

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

Amazon 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 参数,但您可以使用连字符来指定正在使用的账户。

以下命令将数据检索策略设置为FreeTier使用内联 JSON:

aws glacier set-data-retrieval-policy --account-id - --policy '{"Rules":[{"Strategy":"FreeTier"}]}'

有关策略格式的详细信息,请参阅 Amazon Glacier API 参考中的设置数据检索策略。

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

Amazon 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\"}]}"}'

此命令不生成任何输出。

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

Amazon 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 参数,但您可以使用连字符来指定正在使用的账户。

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

Amazon 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 的详细信息,请参阅Amazon CLI 命令参考UploadArchive中的。

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

Amazon 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 获取它。

有关使用 CLI 分段上传到 Amazon Glacier 的更多信息,请参阅 Amazon CL Amazon I 用户指南中的使用亚马逊 Glacier。