2015-12-28 113 views
2

我在S3大约1000个对象,其命名如何重命名对象boto3 S3?

abcyearmonthday1 
abcyearmonthday2 
abcyearmonthday3 
... 

希望他们重命名为

abc/year/month/day/1 
abc/year/month/day/2 
abc/year/month/day/3 

我怎么能做到这一点通过boto3。有没有更简单的方法来做到这一点?

+1

冗余问题。看一下这个。 http://stackoverflow.com/questions/32501995/boto3-copy-object-s3 – mootmoot

回答

1

没有直接的方法来重命名S3对象。 需要执行以下两个步骤:

  1. 将S3对象复制到同一位置,并使用新名称。
  2. 然后删除旧的对象。
0

正如Boto3/S3: Renaming an object using copy_object

解释不能重命名S3对象,你必须用一个新的名称复制对象,然后删除旧的对象

s3 = boto3.resource('s3') s3.Object('my_bucket','my_file_new').copy_from(CopySource='my_bucket/my_file_old') 
s3.Object('my_bucket','my_file_old').delete()