Ich arbeite derzeit mit diesem Code:
#!/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)
Ich habe zwei Fragen. Erstens glaube ich, dass dieser Code einen Bucket erstellt sowie einen Upload ausführt. Das heißt, ich will keinen Eimer haben, da ich bereits einen habe. Um dies zu tun, ändere ich es einfach so:
k = Key(bucket_name)
und los damit:
bucket = conn.create_bucket(bucket_name, location=boto.s3.connection.Location.DEFAULT)
Antworten:
4 für die Antwort № 1Anstelle von conn.create_bucket (...) tun Sie einfach
bucket = conn.get_bucket(bucket_name)
k = Key(bucket)
Außerdem sollte ich wahrscheinlich darauf hinweisen, dass es mir dumm erscheint, Ihre Buckets basierend auf der AWS_ACCESS_KEY_ID zu benennen, da dies nicht wirklich erforderlich ist.