CloudFormation ECRImageURI参数taskcat试运行报约束不满足错误如何解决
问题原因分析
- 参数长度限制触发校验失败
你给ECRImageURI参数设置了MaxLength: '64'的约束,但你提供的默认值http://464139160630.dkr.ecr.us-east-2.amazonaws.com/www.pulliam.sh:latest实际长度已经超过64位上限。报错信息中返回的Allow all characters只是约束描述字段,并不代表是正则规则校验失败。 - ECR镜像URI格式不规范
标准ECR镜像URI不需要携带http://前缀,该前缀属于冗余内容,去掉前缀后对应URI长度刚好符合当前设置的64位长度限制。
解决方案
- 修正ECR镜像URI格式,删除默认值中的
http://前缀,修改后默认值为:464139160630.dkr.ecr.us-east-2.amazonaws.com/www.pulliam.sh:latest - 如果后续需要适配更长的镜像URI(比如携带镜像哈希值、多层级仓库路径等场景),可以将
MaxLength调整为256,覆盖绝大多数ECR URI的使用场景。 - 调整后重新执行taskcat测试即可,该问题不属于taskcat异常,是CloudFormation参数约束校验的正常触发。
内容的提问来源于stack exchange,提问作者Timothy Pulliam
相关产品推荐
相关产品推荐

