【问题标题】:AWS CloudFormation template for Glue with multiple predicate conditions具有多个谓词条件的 Glue 的 AWS CloudFormation 模板
【发布时间】:2021-04-30 08:09:47
【问题描述】:

我需要为 AWS Glue 编写 AWS CloudFormation 模板的代码,我正在为多个 Glue 作业创建单个模板。 我为第二份工作添加了谓词条件。不幸的是,尽管谓词接受多个条件,但它只接受前一个作业的一个状态,就像前一个作业状态成功、失败或停止一样,下一个作业仍然应该运行。但我需要它以多种状态运行,即使上一个作业具有任何成功/失败/停止状态下一个作业应该添加。

如果我给出多个条件,它会给出错误说存在重复的工作,因为我在所有条件下都给出了相同的工作名称

我在模板中写了下面的代码sn-p

'''
Resources:
  WF:
    Type: AWS::Glue::Workflow
    Properties:
        Description: workflow for Parallel Jobs
        Name: Sequence_Job_Triggers
  
  SequenceTrigger:
    Type: AWS::Glue::Trigger
    Properties:
      Name: Job_Trigger_1
      Type: ON_DEMAND
      Description: Description
      WorkflowName: !Ref WF
      Actions:
        - JobName: job1
  SequenceTrigger:
    Type: AWS::Glue::Trigger
    Properties:
      Name: Job_Trigger_2
      Type: CONDITIONAL
      Description: Description
      WorkflowName: !Ref WF
      Predicate:
        Conditions:
          - LogicalOperator: EQUALS
            JobName: job1
            State: SUCCEEDED
      Actions:
        - JobName: job2 
'''

【问题讨论】:

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


    【解决方案1】:

    你不能只创建两个触发器吗,至少这对我有用:

     SucceededSequenceTrigger:
        Type: AWS::Glue::Trigger
        Properties:
          Name: Succeeded_Job_Trigger_2
          Type: CONDITIONAL
          Description: Description
          WorkflowName: !Ref WF
          Predicate:
            Conditions:
              - LogicalOperator: EQUALS
                JobName: job1
                State: SUCCEEDED
          Actions:
            - JobName: job2 
    
      FailedSequenceTrigger:
        Type: AWS::Glue::Trigger
        Properties:
          Name: Failed_Job_Trigger_2
          Type: CONDITIONAL
          Description: Description
          WorkflowName: !Ref WF
          Predicate:
            Conditions:
              - LogicalOperator: EQUALS
                JobName: job1
                State: FAILED
          Actions:
            - JobName: job2 
    

    【讨论】:

    • 这对我有用,但它不会触发连续的工作。只运行第一个作业,其他作业不会被触发。
    猜你喜欢
    • 2018-12-25
    • 1970-01-01
    • 1970-01-01
    • 2018-06-22
    • 1970-01-01
    • 2021-04-19
    • 2011-05-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多