【发布时间】:2017-09-05 17:32:36
【问题描述】:
我需要将更大的文件上传到 AWS Glacier 的 valut。由于大小我无法在一个请求中完成,所以我需要将其拆分为更小的部分并使用分段上传。
Boto3 是否包含一个获取大文件的方法,将其拆分并逐个上传? 正如我所见,Java 客户端有这样的方法(取自 AWS 文档):
高级 API 提供了一种方法,您可以使用该方法上传任何大小的档案。根据您上传的文件,该方法可以在单个操作中上传档案,也可以使用 Amazon Glacier 中的分段上传支持分段上传档案。
我试过用:
boto3.client(...).upload_archive(...)
但是不拆分文件,我得到一个错误。
在不实现所有这些低级内容(拆分文件、发送多个请求、完成上传...)的情况下,还有其他方法吗?
【问题讨论】:
-
请寻找使用s3transfer config boto3.readthedocs.io/en/latest/reference/customizations/…的upload_file()/upload_fileobj() 配置参数
-
@mootmoot 我需要将其发送到 AWS Glacier,而不是 AWS S3。
-
冰川模块不使用 s3 传输。你可以在这里问你问题/请求:github.com/boto/boto3 虽然你可以使用 S3 作为解决方法。即使用 s3 上传,并将生命周期传输设置为 Glacier 1 天。
-
@mootmoot 是的,我知道它没有。这就是我的观点。我对这里的 S3 不感兴趣......即使作为一种解决方法。
标签: python amazon-web-services boto3 amazon-glacier