我使用boto3使用此处所述的代码将存档上传到AWS glacier:https://github.com/tbumi/glacier-upload/blob/develop/main.py
它返回了我的档案ID, I didn't save at the time 和我通过了AWS文档,档案检索需要存档ID .
正如我从boto3文档中所理解的那样,您首先需要创建一个如下作业:
job = archive.initiate_archive_retrieval()
这将返回一个glacier.Job对象,其中包含许多属性,如作业ID等 . 然后我可以使用
response = job.get_output(
range='string'
)
在作业完成后3-5小时通过SNS通知后从冰川下载存档,并且范围是存档的一部分,以字节为单位进行下载(默认为整个存档) .
此外,由于保险库不为空,我无法删除保险库,并且要求我删除存档,而该存档又需要存档ID才能执行此操作 .
我还查看了他们的REST API,它再次依赖于要删除的归档ID . 这里:https://docs.aws.amazon.com/amazonglacier/latest/dev/api-vault-delete.html
此外,我发现下载档案只能使用他们的REST APIS或SDK或aws-cli以编程方式完成,因此使用AWS控制台关闭门 .
由于我没有存档ID,我是否可以使用任何其他方法检索存档?如果没有,是否可以删除保险库?
1 回答
您可以通过运行文件库清单来获取所有ID .
所以只需使用
Client.initiate_job
并将Type
设置为inventory-retrieval
,您将在库存完成后获得您的ID . http://boto3.readthedocs.io/en/latest/reference/services/glacier.html#Glacier.Client.initiate_job