首页 > 解决方案 > CloudFormation - SAM 模板的结构无效。“资源”部分是必需的

问题描述

我正在尝试使用代码管道部署 lambda,并使用 sam yml 进行代码部署,但它失败并出现以下错误:FAILED - Transform AWS::Serverless-2016-10-31 failed with: Invalid Serverless Application Specification document。发现的错误数量: 1. SAM 模板的结构无效。“资源”部分是必需的

sam.yml 是:

AWSTemplateFormatVersion: '2010-09-09'
Transform: 'AWS::Serverless-2016-10-31'
Description: Lambda1
Resources:
callDetails:
Type: 'AWS::Serverless::Function'
Properties:
  Handler: lambda_function.lambda_handler
  Runtime: python3.6
  CodeUri: .
  Description: 'Lambda Function'
  MemorySize: 128
  Timeout: 30
  Role: 'arn:aws:iam::XXXXXX:role/YYYYYYYYY'
  Environment:
    Variables:
      REGION: ap-southeast-2

buildspec.yml 具有以下命令 - aws cloudformation package --template-file samTemplate.yaml --s3-bucket XXXX --output-template-file outputSamTemplate.yaml

输出SamTemplate:

enter code here

AWSTemplateFormatVersion: '2010-09-09'
Description: Lambda Function
Resources:
 callDetails:
  Properties:
   CodeUri: s3://TTTTTTTTTTTTT/CCCCCCCCC
   Description: callDetails Lambda Function
   Environment:
     Variables:
       REGION: ap-southeast-2
   Handler: lambda_function.lambda_handler
   MemorySize: 128
   Role: arn:aws:iam::XXXXX:role/validationsLambdas
   Runtime: python3.6
   Timeout: 30
  Type: AWS::Serverless::Function
 Transform: AWS::Serverless-2016-10-31

标签: amazon-cloudformation

解决方案


就我而言,我有一些 yml 文件的资源块为空,删除这些文件解决了这个问题。


推荐阅读