/ / Two Amazon S3 Python Botoアップロードに関する質問 - python、amazon-s3、boto

2つのAmazon S3 Python Botoアップロード質問 - python、amazon-s3、boto

私は現在このコードを使っています:

#!/usr/bin/env python

import boto
import boto.s3
from boto.s3.key import Key

AWS_ACCESS_KEY_ID = ""
AWS_SECRET_ACCESS_KEY = ""

filename = "test.zip"
bucket_name = AWS_ACCESS_KEY_ID.lower() + "-mah-bucket"
conn = boto.connect_s3(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY)

bucket = conn.create_bucket(bucket_name, location=boto.s3.connection.Location.DEFAULT)

k = Key(bucket)
k.key = "my test file"
k.set_contents_from_filename(filename)

2つ質問があります。 まず、このコードはアップロードだけでなくバケットも作成します。私はすでにバケツを作っているので、バケツを作成したくないのです。これをするためには、単にこれを次のように変更します。

k = Key(bucket_name)

そしてこれを取り除く:

bucket = conn.create_bucket(bucket_name, location=boto.s3.connection.Location.DEFAULT)

回答:

回答№1は4

実際には、conn.create_bucket(...)の代わりに、次のようにしてください。

bucket = conn.get_bucket(bucket_name)
k = Key(bucket)

また、AWS_ACCESS_KEY_IDに基づいてバケットに名前を付けることは、本当に必要ではないので、私には馬鹿げているように思えるかもしれません。