最严格的 aws 资源名称限制是什么(例如字符和长度)?
What are the most restrictive aws resource name limitations (e.g. characters and length)?
aws 中的不同资源,例如 S3 存储桶、lambda 和角色,具有不同的最大长度和它们接受的不同字符集。
是否有一个非常严格的资源名称,如果你遵循它,你也将遵守所有其他资源的限制?
我正在寻找一组约束,这些约束将在全球范围内服从所有资源组强制实施的各种限制,但也尽可能宽松。
理想的答案是一个漂亮、明确的正则表达式。
1。 AWS Lambda
Function name must contain only letters, numbers, hyphens, or underscores
This field is too long. Maximum length is 140 characters.
This field is too short. Minimum length is 1 character.
来源:AWS Lambda“创建函数”页面 & API docs.
2。 S3 存储桶:
Bucket name must NOT contain uppercase characters or underscores
Bucket name must be between 3 and 63 characters long
来源:AWS S3“创建存储桶”页面 & API docs.
3。 RDS
Must contain 1 to 63 alphanumeric characters or hyphens.
First character must be a letter.
Cannot end with a hyphen or contain two consecutive hyphens.
来源:AWS RDS docs
所以仅添加上面的 3 个服务我们可以得出结论,最好是:
Only lowercase alphanumeric characters and hyphens.
Minimum of 3 characters and maximum of 63.
First character must be a letter, cannot end with a hyphen or contain two consecutive hyphens.
我还建议从最大长度中减去一个公共前缀(即公司名称首字母,“google-”)以避免 运行 在尝试创建存储桶时出现问题(或任何 AWS 宽名称)可能发生在有效的通用名称 = "john"
同时查看IAM用户名和角色长度限制(发现here),似乎与上述结论没有冲突。
正则表达式 #1(用于高级正则表达式引擎,支持前瞻)
/(?=.{3,63}$)(?!-)(?!.*--)[a-z0-9-]+(?<!-)/
阅读 this and this 以更好地理解上面的正则表达式。
正则表达式 #2
/(^[a-z\d]{1,2}((-[a-z\d])|([a-z\d]{1,2})){0,30}[a-z\d]$)|(^[a-z\d]((-[a-z\d])|([a-z\d]{1,2})){0,30}[a-z\d-]?[a-z\d]$)/
aws 中的不同资源,例如 S3 存储桶、lambda 和角色,具有不同的最大长度和它们接受的不同字符集。
是否有一个非常严格的资源名称,如果你遵循它,你也将遵守所有其他资源的限制?
我正在寻找一组约束,这些约束将在全球范围内服从所有资源组强制实施的各种限制,但也尽可能宽松。
理想的答案是一个漂亮、明确的正则表达式。
1。 AWS Lambda
Function name must contain only letters, numbers, hyphens, or underscores
This field is too long. Maximum length is 140 characters.
This field is too short. Minimum length is 1 character.
来源:AWS Lambda“创建函数”页面 & API docs.
2。 S3 存储桶:
Bucket name must NOT contain uppercase characters or underscores
Bucket name must be between 3 and 63 characters long
来源:AWS S3“创建存储桶”页面 & API docs.
3。 RDS
Must contain 1 to 63 alphanumeric characters or hyphens.
First character must be a letter.
Cannot end with a hyphen or contain two consecutive hyphens.
来源:AWS RDS docs
所以仅添加上面的 3 个服务我们可以得出结论,最好是:
Only lowercase alphanumeric characters and hyphens.
Minimum of 3 characters and maximum of 63.
First character must be a letter, cannot end with a hyphen or contain two consecutive hyphens.
我还建议从最大长度中减去一个公共前缀(即公司名称首字母,“google-”)以避免 运行 在尝试创建存储桶时出现问题(或任何 AWS 宽名称)可能发生在有效的通用名称 = "john"
同时查看IAM用户名和角色长度限制(发现here),似乎与上述结论没有冲突。
正则表达式 #1(用于高级正则表达式引擎,支持前瞻)
/(?=.{3,63}$)(?!-)(?!.*--)[a-z0-9-]+(?<!-)/
阅读 this and this 以更好地理解上面的正则表达式。
正则表达式 #2
/(^[a-z\d]{1,2}((-[a-z\d])|([a-z\d]{1,2})){0,30}[a-z\d]$)|(^[a-z\d]((-[a-z\d])|([a-z\d]{1,2})){0,30}[a-z\d-]?[a-z\d]$)/