作者热门文章
- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
这是我正在使用的代码
import sys
import boto
import boto.s3
# AWS ACCESS DETAILS
AWS_ACCESS_KEY_ID = ''
AWS_SECRET_ACCESS_KEY = ''
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)
uploadfile = sys.argv[1]
print 'Uploading %s to Amazon S3 bucket %s' % \
(uploadfile, bucket_name)
def percent_cb(complete, total):
sys.stdout.write('.')
sys.stdout.flush()
from boto.s3.key import Key
k = Key(bucket)
k.key = 'my test file'
k.set_contents_from_filename(testfile, cb=percent_cb, num_cb=10)
在我的 S3 上,我创建了“目录”,例如“bucket/images/holiday”。我知道这些只是虚拟目录。
我的问题是,我如何才能将此上传专门修改为 S3 上的 bucket/images/holiday 虚拟目录而不是存储桶根目录?
最佳答案
您所要做的就是在上传之前将虚拟目录路径添加到 key 名称。例如:
key_name = 'my test file'
path = 'images/holiday'
full_key_name = os.path.join(path, key_name)
k = bucket.new_key(full_key_name)
k.set_contents_from_filename(...)
您可能需要对您的应用程序进行一些更改,但希望这可以为您提供基本思路。
关于python - Boto - 将文件上传到 Amazon S3 上的特定位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14317243/
我是一名优秀的程序员,十分优秀!