【发布时间】:2018-05-23 06:06:19
【问题描述】:
我正在尝试通过 cloudformation 创建一个 s3 存储桶。我尝试使用正则表达式 ^([0-9a-z.-]){3,63}$,但它也接受根据新的 s3 命名约定无效的模式“...”和“---”。 (参考:https://docs.aws.amazon.com/AmazonS3/latest/dev/BucketRestrictions.html)请帮忙?
【问题讨论】:
-
对我来说,这些规则看起来既复杂又凌乱。为什么需要验证 S3 存储桶名称?您是否允许您的用户直接创建存储桶?
-
允许使用哪些名称? 3-63 个字符 [0-9a-z.-] 除了两个名字,... 和 --- ? .., ...., --, ---, ..- 之类的名称是否允许?
-
@user31264 名称应以小写字母或数字开头和结尾。您可以在中间使用连字符
-
@TimBiegeleisen 是的,用户正在使用 cloudformation 创建存储桶。
-
@FellowBeginner 请注意,尽管存储桶名称允许包含点,但我强烈建议不要这样做。存储桶名称中有许多涉及点的“陷阱”,包括无法在存储桶上启用 S3 Transfer Acceleration,以及如果您根本不使用点就可以轻松避免的 HTTPS 证书问题。如果您在启动堆栈时让其他用户编造存储桶名称,他们可能不知道这些怪癖。