S3 Glacier 示例使用 AWS CLI - AWS Command Line Interface

本文档 AWS CLI 仅适用于版本 1。有关版本 2 的文档 AWS CLI,请参阅版本 2 用户指南

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

S3 Glacier 示例使用 AWS CLI

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

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

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

主题

操作

以下代码示例显示了如何使用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 获取它。

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

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

AWS CLI

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

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

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

此命令不生成任何输出。

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

以下代码示例显示了如何使用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 参数,但您可以使用连字符来指定正在使用的账户。

以下代码示例显示了如何使用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 获取它。checksum 参数采用十六进制存档的 SHA -256 树形哈希。

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

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

AWS 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 开发者指南中的完成文件库锁定 (POSTlockId)

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

AWS CLI

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

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

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

以下代码示例显示了如何使用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

此命令不生成任何输出。

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

AWS CLI

删除文件库的访问策略

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

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

此命令不生成任何输出。

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

AWS CLI

移除文件库的SNS通知

以下delete-vault-notifications示例删除了亚马逊简单通知服务 (AmazonSNS) 针对指定文件库发送的通知。

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

此命令不生成任何输出。

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

AWS CLI

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

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

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

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

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

AWS CLI

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

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

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

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

AWS CLI

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

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

输出:

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

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

以下代码示例显示了如何使用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"}]}

以下代码示例显示了如何使用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\"}]}" } }

以下代码示例显示了如何使用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指南中的获取文件库锁定(锁定策略)

以下代码示例显示了如何使用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 参数,但您可以使用连字符来指定正在使用的账户。

以下代码示例显示了如何使用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" }

存档文件IDs可在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 参考中的启动任务。

以下代码示例显示了如何使用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。使用上传档案的每个部分时,请使用上传 ID aws glacier upload-multipart-part。有关使用分段上传到 Amazon Glacier 的更多信息 AWS CLI,请参阅AWS CLI用户指南中的使用亚马逊 Glacier。

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

AWS 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指南中的启动文件库锁定(锁定策略)

以下代码示例显示了如何使用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 参数,但您可以使用连字符来指定正在使用的账户。

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

AWS CLI

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

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

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

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

以下代码示例显示了如何使用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 参数,但您可以使用连字符来指定正在使用的账户。

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

以下代码示例显示了如何使用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" } ] }

以下代码示例显示了如何使用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 参数,但您可以使用连字符来指定正在使用的账户。

以下代码示例显示了如何使用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 参数,但您可以使用连字符来指定正在使用的账户。

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

AWS CLI

购买预置容量单位

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

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

输出:

{ "capacityId": "HpASAuvfRFiVDbOjMfEIcr8K" }

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

AWS 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

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

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

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

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

以下代码示例显示了如何使用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\"}]}"}'

此命令不生成任何输出。

以下代码示例显示了如何使用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 参数,但您可以使用连字符来指定正在使用的账户。

以下代码示例显示了如何使用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 命令启动检索任务。

以下代码示例显示了如何使用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 参数,但您可以使用连字符来指定正在使用的账户。

正文参数采用本地文件系统上分段文件的路径。range 参数采用一个HTTP内容范围,表示该部分在已完成的存档中占用的字节。上传 ID 由 aws glacier initiate-multipart-upload 命令返回,也可以使用 aws glacier list-multipart-uploads 获取它。

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