【发布时间】:2015-01-16 13:58:13
【问题描述】:
我正在尝试使用 Python 包 Boto 从 Glacier 下载一个大型存档(约 1 TB)。我使用的当前方法如下所示:
import os
import boto.glacier
import boto
import time
ACCESS_KEY_ID = 'XXXXX'
SECRET_ACCESS_KEY = 'XXXXX'
VAULT_NAME = 'XXXXX'
ARCHIVE_ID = 'XXXXX'
OUTPUT = 'XXXXX'
layer2 = boto.connect_glacier(aws_access_key_id = ACCESS_KEY_ID,
aws_secret_access_key = SECRET_ACCESS_KEY)
gv = layer2.get_vault(VAULT_NAME)
job = gv.retrieve_archive(ARCHIVE_ID)
job_id = job.id
while not job.completed:
time.sleep(10)
job = gv.get_job(job_id)
if job.completed:
print "Downloading archive"
job.download_to_file(OUTPUT)
问题在于作业 ID 会在 24 小时后过期,这不足以检索整个存档。我需要将下载分成至少 4 个部分。我怎样才能做到这一点并将输出写入单个文件?
【问题讨论】:
-
您的下载时间超过 24 小时?我的意思是,您受带宽限制?在 EC2 上,将其提取/重新发送到 S3,以便您稍后下载,或将其拉到 EC2 框并从那里下载。
标签: python amazon-web-services boto amazon-glacier