次のコードは期待どおりに機能し、バケット名、ファイル名を表示しています。例えば
<Key: vivafree,Master.csv.2012-04-10-17-52-39.gz>
<Key: vivafree,Master.csv.2012-07-12-23-00-49.gz>
これらのファイルをすべてダウンロードして、Glacier Vault に転送する必要があります。
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)
最初のコード ブロックから返されたファイルをループ処理する必要があります。ダウンロードしてから、2 番目のコード スニペットを使用して Glacier に転送します。また、記録のために archiveID を保存する必要があります。