![](/img/trans.png)
[英]How to copy all files from one folder to another folder in the same S3 bucket
[英]How to move files among folder in the same s3 bucket?
我正在嘗試將文件移動到同一個存儲桶中的另一個文件夾中,我的代碼沒有返回任何錯誤,但該文件夾尚未移動。 有一個文件夾名稱的空間。
s3 = boto3.resource('s3', aws_access_key_id=AWS_ACCESS_KEY_ID, aws_secret_access_key=AWS_SECRET_ACCESS_KEY)
copy_source = {
'Bucket': 'bucket',
'Key': 'config/L C/aa/bb/cc/Lab/xx.tgz'
}
s3.meta.client.copy(copy_source, 'bucket', 'config/L C/aa/bb/cc/Pilot/')
我想通了,它對我有用。 我沒有找到移動文件的直接方法,但先復制並粘貼然后刪除。
#copy first
s3 = boto3.resource('s3', aws_access_key_id=AWS_ACCESS_KEY_ID, aws_secret_access_key=AWS_SECRET_ACCESS_KEY)
copy_source = {
'Bucket': 'bucket',
'Key': 'xx/aa/m.tgz'
}
s3.meta.client.copy(copy_source, 'bucket', 'xx/bb/m.tgz')
#delete the orginal, but assert if the one has been moved
s3 = boto3.resource('s3', aws_access_key_id=AWS_ACCESS_KEY_ID, aws_secret_access_key=AWS_SECRET_ACCESS_KEY)
bucketname='pp'
bucket = s3.Bucket(bucketname)
key = 'xx/tt/m.tgz'
objs = list(bucket.objects.filter(Prefix=key))
if len(objs) > 0 and objs[0].key == key:
print("exist")
# here we delete the previous file
session = boto3.session.Session()
s3s = session.resource('s3', aws_access_key_id=AWS_ACCESS_KEY_ID, aws_secret_access_key=AWS_SECRET_ACCESS_KEY)
obj = s3s.Object(bucketname, "xx/bb/m.tgz")
obj.delete()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.