适用于具有多个谓词条件的 Glue 的 AWS CloudFormation 模板

AWS CloudFormation template for Glue with multiple predicate conditions

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

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

我在模板中写了下面的代码片段

'''
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 
'''

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

 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