![](/img/trans.png)
[英]Copying contents from one folder to another in same GCS Bucket
[英]Move files from one bucket to a folder inside another bucket
我是 boto3 的新手,能夠將文件從一個存儲桶移動到另一個存儲桶,但是,我需要將文件移動到另一個存儲桶中的文件夾中
Amazon S3 中沒有“移動”命令。 相反,您需要:
copy_object()
將對象復制到一個新的Key
(包括對象的完整路徑)delete_object()
在舊對象上副本的目的地可以是同一個桶,也可以是不同的桶。
文件夾實際上並不存在,因此您可以將對象復制到任何路徑,而無需先創建文件夾。
如果您不需要使用 boto3,一個更簡單的方法是使用AWS 命令行界面 (CLI) :
aws s3 mv s3://bucket1/foo/object.txt s3://bucket2/bar/object.txt
您甚至可以移動整個“文件夾”:
aws s3 mv s3://bucket1/foo s3://bucket2/ --recursive
使用 boto3,這非常簡單。 如文檔中所述:
import boto3
s3 = boto3.resource('s3')
copy_source = {
'Bucket': 'mybucket',
'Key': 'mykey'
}
s3.meta.client.copy(copy_source, 'otherbucket', 'otherkey')
將文件從一個存儲桶復制到另一個存儲桶后,您可以將其刪除:
obj = s3.Object('bucket_name', 'key')
obj.delete()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.