aws-lambda - 验证 AWS-SAM 模板/减少发现错误的周转时间

标签 aws-lambda aws-cloudformation serverless aws-sam

在使用错误的关键字部署大型 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/

相关文章:

aws-lambda - TypeGraphQl:与 Netlify 函数/AWS Lambda 一起使用

amazon-web-services - 无服务器 SaaS 系统的 AWS 引用解决方案 - 错误 : Template file not found - template. yml

node.js - 根据当前阶段更改变量

python-3.x - AWS CDK API 网关 - 如何在不创建默认部署的情况下部署 API(python)

amazon-web-services - 如何使用 proxy+ 处理 api 网关上的根资源以返回正文?

javascript - 发电机 : Query only every 10th value

amazon-web-services - AWS JIRA CloudFormation

javascript - AWS 自定义资源无法识别成功或失败信号

azure - 函数运行时无法启动。 Microsoft.Azure.ServiceBus : Value for the connection string parameter name '@Microsoft. KeyVault

python-3.x - 为什么我得到 : Unable to import module 'handler' : No module named 'paramiko' ?