Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon cloudformation 云层形成!选择内!等于_Amazon Cloudformation - Fatal编程技术网

Amazon cloudformation 云层形成!选择内!等于

Amazon cloudformation 云层形成!选择内!等于,amazon-cloudformation,Amazon Cloudformation,我有这样的条件 Conditions: IsSqs: !Equals - !Select [2, !Split [':', !Ref EventSourceArn]] - "sqs" IsDynamo: !Equals - !Select [2, !Split [':', !Ref EventSourceArn]] - "dynamodb" 用于创建以下资源: EventSourceMappingForSqs: Type: AWS::Lamb

我有这样的条件

Conditions:
  IsSqs: !Equals
    - !Select [2, !Split [':', !Ref EventSourceArn]]
    - "sqs"
  IsDynamo: !Equals
    - !Select [2, !Split [':', !Ref EventSourceArn]]
    - "dynamodb"
用于创建以下资源:

  EventSourceMappingForSqs:
    Type: AWS::Lambda::EventSourceMapping
    Condition: IsSqs
    Properties:
      EventSourceArn: !Ref EventSourceArn
      # snip

  EventSourceMappingForDynamo:
    Type: AWS::Lambda::EventSourceMapping
    Condition: IsDynamo
    Properties:
      EventSourceArn: !Ref EventSourceArn
      # snip

我能够成功运行周围的模板,并且可以看到正确的
EventSourceMapping
是基于
EventSourceArn
的值创建的。i、 e.当我进入SQS队列ARN时,我得到了
EventSourceMappingForSqs

但是,他们说我使用了
!在
中选择
!不支持等于

您可以在所有其他条件函数中使用以下函数, 例如
Fn::Equals
Fn::Or

  • Fn::FindInMap
  • Ref
  • 其他条件函数
我可以或者应该信任我成功的模板,而忽略文档吗?或者我可能依赖于一个bug或意外行为


有没有一种替代的、符合文档要求的方法来做我想做的事情?

我认为你是安全的。我看不出任何逻辑上的理由来解释为什么它们不应该是合法的。另一种选择可能是使用
自定义资源
来创建资源,但我不认为这是一种好的选择。我认为您是安全的。我看不出任何逻辑上的理由来解释为什么它们不应该是合法的。另一种方法可能是使用
自定义资源
来创建资源,但我不认为这是一种好的方法。