以下代码按预期工作并显示存储桶名称、文件名。例如
<Key: vivafree,Master.csv.2012-04-10-17-52-39.gz>
<Key: vivafree,Master.csv.2012-07-12-23-00-49.gz>
我需要下载所有这些文件并将它们传输到 Glacier 保险库。
from boto.s3.key import Key
from boto.s3.connection import S3Connection
AWS_ACCESS_KEY_ID="ABC"
AWS_SECRET_ACCESS_KEY="PQR+XYZ"
conn = S3Connection(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY)
bucket = conn.get_bucket('vivafree')
ls=bucket.get_all_keys()
for file in ls:
print file
以下代码将复制一个文件并将其放入名为“company_backup”的保管库中。
import boto.glacier.layer2
vaultName = "company_backup"
fileName = "email_usergroups_permissions.txt.gz"
l = boto.glacier.layer2.Layer2(aws_access_key_id=AWS_ACCESS_KEY_ID, aws_secret_access_key=AWS_SECRET_ACCESS_KEY)
v = l.get_vault(vaultName)
archiveID = v.create_archive_from_file(fileName)
我需要做的是遍历从第一个代码块返回的文件。下载然后使用第二个代码段将它们传输到冰川。我还需要保存 archiveID 以供记录。