Python 3.x 上传存档AWS Glacier Python脚本
我正在尝试制作一个python脚本,它允许我创建/删除/列出保险库、执行作业、列出/描述保险库作业、上载/下载存档以及制作和获取库存 我正在使用Python 3.x 上传存档AWS Glacier Python脚本,python-3.x,amazon-web-services,boto3,aws-cli,amazon-glacier,Python 3.x,Amazon Web Services,Boto3,Aws Cli,Amazon Glacier,我正在尝试制作一个python脚本,它允许我创建/删除/列出保险库、执行作业、列出/描述保险库作业、上载/下载存档以及制作和获取库存 我正在使用awscli和boto3python3软件包 当使用命令行上传文件时,我遇到了一些奇怪的事情,如下所示: with open(archive, 'rb') as upload: archive_upload = upload.read(size) glacier_upload = glacier.upload_archive(vaultN
awscli
和boto3
python3软件包
当使用命令行上传文件时,我遇到了一些奇怪的事情,如下所示:
with open(archive, 'rb') as upload:
archive_upload = upload.read(size)
glacier_upload = glacier.upload_archive(vaultName=vault, archiveDescription=name, body=archive_upload)
aws冰川上传档案--金库名称--档案说明--正文--帐户id-
其中,vault\u name
,archive\u name
,file\u 2\u upload
是执行脚本时传递的变量,并且在脚本执行之前使用aws configure
命令设置帐户id
它需要一段时间来适应文件大小,但它的工作原理和预期的一样
尝试使用我的脚本时(这是负责备份的部分)
glacier=boto3.client('glacier')
上传=冰川。上传\存档(vault名称=vault,正文=存档,存档描述=名称)
答案几乎是立竿见影的,输出显示如下
HTTP代码:201
==>表示操作成功
但是,我的vault大小没有增加,并且在其中找不到文件
我错过了什么
提前感谢好的,我终于找到了它不工作的原因,我需要对内存中的文件/文件部分充电,如下所示:
with open(archive, 'rb') as upload:
archive_upload = upload.read(size)
glacier_upload = glacier.upload_archive(vaultName=vault, archiveDescription=name, body=archive_upload)
我希望它能帮助任何面临同样问题的人
干杯什么是“在内存中对文件收费”?read()函数的“大小”是多少?对不起,我的英语不好,我的意思是在内存中加载文件。最后,我添加了一个方法,可以读取32MB的文件块,问题就解决了