如何使用 aws cli 在存储桶内创建存储桶?当我使用“mb”命令时,它显示我已经拥有它(但我没有)。顶级存储桶“example-bucket”已经存在。我需要知道如何使用 cli 创建“测试”存储桶。
[ec2-user@ip-10-0-0-0 ~]$ aws s3 mb s3://example-bucket/testing --region us-west-2
make_bucket failed: s3://example-bucket/testing An error occurred (BucketAlreadyOwnedByYou) when calling the CreateBucket operation: Your previous request to create the named bucket succeeded and you already own it.
答案1
这是不可能的。因为文档状态:
您不能在一个存储桶内创建另一个存储桶。
答案2
存储桶是 AWS S3 中最高级别的容器。您不能将存储桶套在存储桶中 - 考虑到服务的工作原理,这毫无意义。
S3 是一个对象存储,而不是文件系统,它没有文件夹。您可以使用路径分隔符创建对象,当您在 Web 控制台中查看存储桶时,它会以文件夹/树视图显示它。您不需要提前创建“文件夹”,只需将对象与正确的键放在一起即可。有一个很好的指南S3 文件夹在此。
类似这样的 AWS CLI 命令会将对象放入 S3 中,类似于文件夹。API 调用类似
aws s3 cp filename.txt s3://bucketname/folder/filename.txt
AWS S3 文档非常好。AWS S3 CLI cp 命令是记录在这里。
答案3
显然你不能使用“aws s3 mb”。我不得不使用“aws s3api put-object”
aws s3api put-object --bucket example-bucket --key testing/
需要正斜杠,以便 aws 知道它是一个目录,否则它将创建一个空文件。