【问题标题】:Cloudformation's condition statement (Glue's subnet)Cloudformation 条件语句(Glue 的子网)
【发布时间】:2021-09-29 20:31:56
【问题描述】:

我需要我的 Glue 作业来使用基于运行环境的特定子网。SubnetId 下面的行会引发语法错误。我在 aws 的文档中读到,可以使用 !Ref 解决真/假评估,问题似乎与条件的语法有关。

SubnetId: !If [!Ref UseProdCondition, !Ref PrivateSubnetAz2, !Ref PrivateSubnetAz3]

  GlueJDBCConnection:
    Type: AWS::Glue::Connection
    UseProdCondition: !Equals [!Ref "${AppEnv}", "production"]
    Properties:
      CatalogId: !Ref AWS::AccountId
      ConnectionInput:
        ConnectionType: "JDBC"
        ConnectionProperties:
          USERNAME: !Ref Username
          PASSWORD: !Ref Password
          JDBC_CONNECTION_URL: !Ref GlueJDBCStringTarget
          sslMode: 'REQUIRED'
        PhysicalConnectionRequirements:
          AvailabilityZone:
            Ref: AvailabilityZone2
          SecurityGroupIdList:
            - Fn::GetAtt: GlueJobSecurityGroup.GroupId
          SubnetId: !If [!Ref UseProdCondition, !Ref PrivateSubnetAz2, !Ref PrivateSubnetAz3] 
        Name: !Ref JDBCConnectionName

【问题讨论】:

标签: amazon-web-services yaml amazon-cloudformation aws-glue


【解决方案1】:

条件需要定义为单独的资源,后面会在具体资源中引用。

感谢@MisterSmith!

AWSTemplateFormatVersion: 2010-09-09
Description: AWS Glue Spark Job

Conditions:
  UseProdCondition: !Equals [!Ref AppEnv, "production"]


 GlueJDBCConnection:
   Type: AWS::Glue::Connection
   Properties:
     CatalogId: !Ref AWS::AccountId
     ConnectionInput:
       ConnectionType: "JDBC"
       ConnectionProperties:
         USERNAME: !Ref Username
         PASSWORD: !Ref Password
         JDBC_CONNECTION_URL: !Ref GlueJDBCStringTarget
         sslMode: 'REQUIRED'
       PhysicalConnectionRequirements:
         AvailabilityZone:
           Ref: AvailabilityZone2
         SecurityGroupIdList:
           - Fn::GetAtt: GlueJobSecurityGroup.GroupId
         #SubnetId: !Ref PrivateSubnetAz2
         SubnetId: !If [UseProdCondition, !Ref PrivateSubnetAz2, !Ref PrivateSubnetAz3]
       Name: !Ref RTMIJDBCConnectionName

【讨论】:

    猜你喜欢
    • 2021-09-09
    • 2021-07-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-10
    • 2023-02-23
    • 1970-01-01
    • 2023-03-15
    相关资源
    最近更新 更多