在无服务器资源条件

问题描述 投票:0回答:1

我想补充有条件地基于一个的环境变量的存在的AWS资源。我试图serverless-cloudformation-parameter-setter但我得到的部署一般性错误,我看不出有什么我需要做什么来解决这个问题

我想部署一个简单的λ+ SQS栈和如果的环境变量也被定义订阅队列通过的环境变量表示的主题 - 或者,如果没有定义变量,然后不做那部分,只是一些拉姆达和队列

这是我的尝试:

plugins:
- serverless-cloudformation-parameter-setter

provider:
  name: aws
  runtime: nodejs8.10
  region: eu-west-1

functions:
  update:
    handler: index.update
    events:
    - sqs:
        arn:
          Fn::GetAtt:
          - Queue
          - Arn

custom:
  cf-parameters:
    SourceTopicArn: "${env:UPDATE_SNS_ARN}"

resources:
  Parameters:
    SourceTopicArn:
      Type: string
  Resources:
    Queue:
      Type: "AWS::SQS::Queue"
    Subscription:
      Type: "AWS::SNS::Subscription"
      Condition: SourceTopicArn
      Properties:
        TopicArn:
          Ref: SourceTopicArn
        Endpoint:
          Ref: Queue

我收到的错误是:The CloudFormation template is invalid: Template format error: Unrecognized parameter type: string

如果我删除所有参数的东西,它工作正常

amazon-sqs amazon-sns serverless
1个回答
1
投票

Type必须是String,不string。看到文档的supported parameter data types section

© www.soinside.com 2019 - 2024. All rights reserved.