gpt4 book ai didi

python - Boto - 将文件上传到 Amazon S3 上的特定位置

转载 作者:IT老高 更新时间:2023-10-28 21:47:28 25 4
gpt4 key购买 nike

这是我正在使用的代码

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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com