在使用错误的关键字部署大型 SAM 模板后,我刚刚收到错误。
我写的是ServerSideEncryptionDefault
,而不是ServerSideEncryptionByDefault
(缺少By
)。
Type: AWS::S3::Bucket
Properties:
BucketEncryption:
ServerSideEncryptionConfiguration:
- ServerSideEncryptionDefault:
SSEAlgorithm: AES256
出现此错误的周转时间约为一分钟,因为 CloudFormation 首先处理所有其他资源,并在我的部署后期发现此错误。
在开始部署之前是否可以使用 linter 或其他工具检查代码?
我只发现 sam validate
没有发现此类错误 ( https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-cli-command-reference-sam-validate.html )。
最佳答案
The CloudFormation Linter捕捉到这个:
E3002 无效属性资源/Bucket/Properties/BucketEncryption/ServerSideEncryptionConfiguration/0/ServerSideEncryptionDefault
The CloudFormation Linter Visual Studio Code extension如果您已安装,则在保存的每个文件上运行 linter
关于aws-lambda - 验证 AWS-SAM 模板/减少发现错误的周转时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59015855/