如何使用 Boto3 在 AWS S3 中同时创建一个存储桶和多个子文件夹?

问题描述 投票:0回答:1

我可以使用

在顶层创建一个目录
s3.create_bucket(Bucket=bucket_name)

我想创建一个新的存储桶和子文件夹,所以我有一个如下的目录结构:

-top_level_bucket
    -sub_folder
        -sub_sub_folder

我想做这样的事情来立即创建所有内容(如果尚不存在的话):

path = 'top_level_bucket/sub_folder/sub_sub_folder'
s3.create_bucket(Bucket=path)

这可能吗?

python-3.x amazon-s3 boto3 bucket
1个回答
3
投票

Amazon S3 中没有“子存储桶”的概念。

Amazon S3 实际上是一种平面对象存储服务。它不使用目录

相反,文件上传时带有路径,例如:

aws s3 cp file.txt s3://my-bucket/bob/files/file.txt

对象的全名是:

bob/files/file.txt

看起来行为就像有目录,但它们实际上并不在那里。事实上,您可以运行上面的命令,它会自动“创建”

bob
files
目录,但它们实际上并不存在!如果删除该对象,这些目录将会消失(因为它们实际上从未存在过!)。

底线: 将文件上传到您想要的任何位置,即使存储桶不存在。不用担心提前创建文件夹结构。

© www.soinside.com 2019 - 2024. All rights reserved.