当前位置: 首页 > 知识库问答 >
问题:

如何重命名AWS S3 Bucket

阎自怡
2023-03-14

在经历了所有艰难的迁移等工作之后,我才意识到我需要使用CNAME(例如media.abc.com)提供内容。bucket名称需要以media开头。美国广播公司。com/S3/amazon。com以确保其完美工作。

我刚刚意识到S3不允许从控制台直接重命名。

有没有办法解决这个问题?

共有3个答案

白飞飙
2023-03-14

可能是AWS CLI工具包的更高版本提供了mv选项。

$ aws --version
aws-cli/1.15.30 Python/3.6.5 Darwin/17.6.0 botocore/1.10.30

我正在使用以下命令重命名存储桶:

aws s3 mv s3://old-bucket s3://new-bucket --recursive
方献
2023-03-14

我认为唯一的方法是创建一个具有正确名称的新bucket,然后将所有对象从旧bucket复制到新bucket。您可以使用Aws CLI执行此操作。

方和宜
2023-03-14
aws s3 mb s3://[new-bucket]
aws s3 sync s3://[old-bucket] s3://[new-bucket]
aws s3 rb --force s3://[old-bucket]

S3没有重命名bucket功能,因为从技术上讲,S3中没有文件夹,所以我们必须处理bucket中的每个文件。

上面的代码将1.创建一个新存储桶,2.复制文件和3.删除旧存储桶。就是这样。

如果你手头有很多文件,并且担心成本,那么请继续阅读。在幕后发生的事情是,首先复制bucket中的所有文件,然后将其删除。如果您有几千个文件,那么它的成本应该微不足道。否则,请检查此答案,看看这将如何影响您。

在下面的示例中,我们创建并填充旧的bucket,然后将文件同步到新的bucket。检查命令的输出以查看AWS的功能。

> # bucket suffix so we keep it unique
> suffix="ieXiy2"  # used `pwgen -1 -6` to get this
>
> # populate old bucket
> echo "asdf" > asdf.txt
> echo "yxcv" > yxcv.txt
> aws s3 mb s3://old-bucket-$suffix
make_bucket: old-bucket-ieXiy2
> aws s3 cp asdf.txt s3://old-bucket-$suffix/asdf.txt
upload: ./asdf.txt to s3://old-bucket-ieXiy2/asdf.txt
> aws s3 cp yxcv.txt s3://old-bucket-$suffix/yxcv.txt
upload: ./yxcv.txt to s3://old-bucket-ieXiy2/yxcv.txt
>
> # "rename" to new bucket
> aws s3 mb s3://new-bucket-$suffix
make_bucket: new-bucket-ieXiy2
> aws s3 sync s3://old-bucket-$suffix s3://new-bucket-$suffix
copy: s3://old-bucket-ieXiy2/yxcv.txt to s3://new-bucket-ieXiy2/yxcv.txt
copy: s3://old-bucket-ieXiy2/asdf.txt to s3://new-bucket-ieXiy2/asdf.txt
> aws s3 rb --force s3://old-bucket-$suffix
delete: s3://old-bucket-ieXiy2/asdf.txt
delete: s3://old-bucket-ieXiy2/yxcv.txt
remove_bucket: old-bucket-ieXiy2
 类似资料:
  • 我试图将我的应用程序上传到Play Store,但谷歌不允许应用程序包含名称为“example.xxxxx”的软件包。我的问题是,我的包叫做“com.example.mainActivity”,我已经尝试重命名它了,但我对IntelliJ所能做的就是将部件重命名为“mainActivity”。“榜样”依旧。在尝试通过进入清单并用不同的名称重构它来更改示例之后,IntelliJ刚刚用新名称创建了一个

  • 我有DynamoDB表,我想重命名它。似乎没有任何重命名表的命令或选项。以前有人给桌子重新命名过吗?

  • 在迁移等所有艰难的工作之后,只要意识到如果需要使用CNAME(例如media.abc.com)来服务内容。bucket名称需要以media.abc.com/s3/Amazon.com开头,以确保它完美地工作。 只需意识到S3不允许从控制台直接重命名。 有什么办法可以解决这个问题吗?

  • 问题内容: 我有一个具有以下内容的JSON对象: 我想将“ _id”键更改为“ id”,这样它将变成 如何使用Javascript,jQuery或Ruby,Rails做到这一点? 谢谢。 问题答案: 这将json更改为: 由于订单在JSON中的名称/值对中没有意义,因此与您想要的结果相同。

  • 在我的一个DynamoDb表中,我有一个名为“status”的列/键,它原来是一个保留关键字。不幸的是,不能删除整个表并重新初始化它。如何重命名密钥? 以下是导致异常的Lambda代码: 这里有一个例外: 2016-06-14 18:47:24UTC 2 ok错误:在调用UpdateItem操作时发生错误(ValidationExc0019):无效的Update表达式:属性名称是保留关键字;保留关

  • 有很多次,我们的DevOps人员创建了一个带有错误URL的Azure WebApp。 这迫使我们删除资源组(因为组包含web应用,SQL Azure等)并重新创造。 有没有办法通过powershell Azure API或某些隐藏的Azure门户功能重新命名/更新Web应用程序URL?