В момента работя с този код:
#!/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)
Имам два въпроса. Първо, смятам, че този код създава кофа, както и качване. Нещо е, че не искам да се създава кофа, тъй като вече я имам на място. За да направя това, просто го променям на това:
k = Key(bucket_name)
и се отървете от това:
bucket = conn.create_bucket(bucket_name, location=boto.s3.connection.Location.DEFAULT)
Отговори:
4 за отговор № 1Всъщност, вместо conn.create_bucket (...), направете:
bucket = conn.get_bucket(bucket_name)
k = Key(bucket)
Също така би трябвало да отбележа, че ми се струва глупаво да наричам кофите ви на базата на AWS_ACCESS_KEY_ID, тъй като това не е наистина необходимо.