【发布时间】:2018-10-01 23:53:59
【问题描述】:
我正在尝试重新设置上传文件的密钥,以便它们从“临时上传”“文件夹”移动到“新上传”“文件夹”。
这是我迄今为止的尝试 --- 我没有收到任何错误,但文件仍在“临时上传”中
bucket = s3.Bucket(s3_bucket)
temp_prefix = 'temp-uploads/' + packageInstance.prefix + '/'
new_prefix = 'new-uploads/' + packageInstance.prefix + '/'
for obj in bucket.objects.filter(Prefix=temp_prefix):
old_source = {'Bucket': bucket,
'Key': obj.key}
new_key = obj.key.replace(temp_prefix, new_prefix)
new_obj = bucket.Object(new_key)
new_obj.copy(old_source)
【问题讨论】:
-
据我所知,您无法在 S3 中重命名对象。您需要将其复制到新的并删除旧的。看起来这就是您在上面尝试做的事情。这可能会有所帮助:stackoverflow.com/questions/32501995/…
标签: python django amazon-web-services amazon-s3 boto3