在部署带有错误关键字的大型SAM模板后,我得到了一个错误。
我写了ServerSideEncryptionByDefault
(缺少ServerSideEncryptionDefault
)而不是By
。
Type: AWS::S3::Bucket
Properties:
BucketEncryption:
ServerSideEncryptionConfiguration:
- ServerSideEncryptionDefault:
SSEAlgorithm: AES256
获取此错误的周转时间约为一分钟,因为CloudFormation首先处理所有其他资源,并在我的部署后期发现此错误。
在开始部署之前,是否可以让lint或其他工具检查代码?
我只发现sam validate
,但找不到这些错误(https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-cli-command-reference-sam-validate.html)。
答案 0 :(得分:1)
The CloudFormation Linter抓住了这一点:
E3002 Invalid Property Resources/Bucket/Properties/BucketEncryption/ServerSideEncryptionConfiguration/0/ServerSideEncryptionDefault
The CloudFormation Linter Visual Studio Code extension对保存的每个文件都运行linter(如果已安装)