· 7 years ago · Apr 16, 2018, 08:40 PM
1import boto3
2access_key = '123'
3secret_key = '234'
4bucket_name = 'bucket'
5client =boto3.client(
6 's3',
7 aws_access_key_id=access_key,
8 aws_secret_access_key=secret_key,
9)
10
11prefix = 'truuue.com/127.0.0.1/truuue_commercial/logs'
12
13resp = client.list_objects_v2(
14 Bucket=bucket_name,
15 Prefix=prefix,
16 MaxKeys=1000,
17 StartAfter='truuue.com/127.0.0.1/truuue_commercial/logs/celerytasks.log'
18)
19
20get_new_name = lambda x: x.replace('.1.1', '')
21
22for i in resp['Contents']:
23 original_key = i['Key']
24 replaced_key = get_new_name(original_key)
25
26 if not original_key==replaced_key:
27 client.copy_object(
28 CopySource= {'Bucket': bucket_name, 'Key': original_key},
29 Bucket=bucket_name,
30 Key=replaced_key,
31 )
32 client.delete_object(
33 Bucket=bucket_name,
34 Key=original_key
35 )
36 print('{} ==> {}'.format(original_key, replaced_key))