【问题标题】:AWS SAM - 'Encountered unsupported property CodeUri' error when deploying packaged templateAWS SAM - 部署打包模板时出现“遇到不受支持的属性 CodeUri”错误
【发布时间】:2019-02-04 02:05:44
【问题描述】:

将 CloudFormation 模板迁移到 AWS SAM 方法后,在部署使用 aws cloudformation package 创建的模板时,在 CloudFormation 中出现错误

遇到不支持的属性 CodeUri

在模板中包含的所有 Lambda 函数上。

经过调查,很明显 CodeUri 属性没有从打包的模板中删除,AWS::Lambda::Function 类型不支持 CodeUri 属性,尽管作为打包过程的一部分将适当的资源上传到 S3 (所以打包这样的作品)。

【问题讨论】:

    标签: amazon-web-services aws-sam


    【解决方案1】:

    AWS SAM 不删除 CodeUri 的原因是资源类型不正确 - 它应该是 AWS::Serverless::Function 而不是 AWS::Lambda::Function

    此更改后,CodeUri 将从打包的模板中删除。

    【讨论】:

    【解决方案2】:

    您只需使用CodeS3BucketS3Key 键以适当的格式设置函数文件的路径:

    Function:
      Type: 'AWS::Lambda::Function'
      Properties
        //other properties
        Code:
          S3Bucket: bucketName
          S3Key: myFunction.jar
    

    文档:https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-code

    就我而言,我正在使用现有资源(导入资源)创建一个堆栈,并且不支持带有 CodeUriAWS::Serverless::Function 类型。

    【讨论】:

      猜你喜欢
      • 2018-10-13
      • 2020-06-28
      • 2021-05-10
      • 2022-01-14
      • 2023-03-07
      • 1970-01-01
      • 2021-04-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多