2015-12-28 1 views
2

J'ai environ 1000 objets dans S3 qui nommées d'aprèsComment renommer des objets boto3 S3?

abcyearmonthday1 
abcyearmonthday2 
abcyearmonthday3 
... 

veulent les renommer

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

comment pourrais-je le faire par boto3. Y at-il moyen plus facile de le faire?

+1

question redondante. Regarde ça. http://stackoverflow.com/questions/32501995/boto3-copy-object-s3 – mootmoot

Répondre

1

Il n'existe pas de manière directe de renommer l'objet S3. Au-dessous de deux étapes doivent effectuer:

  1. Copiez l'objet S3 au même emplacement avec un nouveau nom.
  2. Ensuite, supprimez l'ancien objet.
0

Comme expliqué dans Boto3/S3: Renaming an object using copy_object

vous ne pouvez pas renommer un objet dans S3 vous devez copier objet avec un nouveau nom et puis supprimez l'objet Old

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()