Python boto上传前缀

时间:2014-10-03 21:17:01

标签: python amazon-s3 boto

我正在尝试在python中使用boto循环并将文件上传到我的aws存储桶。我可以成功上传到我的根存储桶,但无法上传到特定的前缀。这是我的剪辑:

conn = S3Connection(aws_access_key_id=key, aws_secret_access_key=secret)
bucket = conn.get_bucket('mybucket')
k = boto.s3.key.Key(bucket)
k.key = u
k.set_contents_from_filename(u)

它必须是简单的东西,我已经浏览了其他帖子,但却无法弄清楚这一点。

由于

1 个答案:

答案 0 :(得分:1)

您需要构建密钥名称的完整路径,然后才能设置其内容:

#Connect to aws
conn = S3Connection(aws_access_key_id=key, aws_secret_access_key=secret)
bucket = conn.get_bucket('mybucket')

#Build path
path = 'prefix'
key_name = 'this_is_any.file'
full_key_name = os.path.join(path, key_name)

#Set and save in S3
k = bucket.new_key(full_key_name)
k.set_contents_from_filename(...)