0

PubSub メッセージによってトリガーされることになっている 2 つの WorkflowTemplates (T1、T2) があります。これまでのところ - それはうまくいきます。しかし今、メッセージで送信された値に応じて T1 xor T2 をトリガーしたいと考えています。何らかの理由で、これを機能させることができません。ここに私の EventSource とセンサーがあります:

    apiVersion: argoproj.io/v1alpha1
    kind: EventSource
    metadata:
      name: pubsub-event-source-nyc
    spec:
      template:
        serviceAccountName: argo-events
      pubSub:
        examplex:
          jsonBody: true
          topic: argo-events-nyc
          subscriptionID: argo-events-nyc-sub
    
    ---
    
    apiVersion: argoproj.io/v1alpha1
    kind: Sensor
    metadata:
      name: pubsub-sensor-nyc
    spec:
      template:
        serviceAccountName: argo-events-sa
      dependencies:
        - name: pubsub-event-source-dep-a
          eventSourceName: pubsub-event-source-nyc
          eventName: examplex
          filters:
            data:
              - path: body.test
                type: string
                value:
                  - "a"
        - name: pubsub-event-source-dep-b
          eventSourceName: pubsub-event-source-nyc
          eventName: examplex
          filters:
            data:
              - path: body.test
                type: string
                value:
                  - "b"
      triggers:
        - template: #T1
            conditions: "pubsub-event-source-dep-a"
            name: argo-workflow-trigger-wnf59w3zv
            argoWorkflow:
              group: argoproj.io
              version: v1alpha1
              resource: workflows
              operation: submit
              source:
                resource:
                  apiVersion: argoproj.io/v1alpha1
                  kind: Workflow
                  metadata:
                    generateName: nyc-test-template-a-
                    namespace: argo
                  spec:
                    workflowTemplateRef:
                      name: nyc-test-template
        - template: #T2
            conditions: "pubsub-event-source-dep-b"
            name: argo-workflow-trigger-gtdz4ef
            argoWorkflow:
              group: argoproj.io
              version: v1alpha1
              resource: workflows
              operation: submit
              source:
                resource:
                  apiVersion: argoproj.io/v1alpha1
                  kind: Workflow
                  metadata:
                    generateName: nyc-test-template-b-
                    namespace: argo
                  spec:
                    workflowTemplateRef:
                      name: nyc-test-template

body.test = "a" の場合、最初のトリガー (T1) をアクティブにする必要があります。body.test = "b" の場合、2 番目のトリガー (T2) をアクティブにする必要があります。

さて、何が起こるかは次のとおりです。

  • 私が送信した場合{"test":"a"}- T1 のみがトリガーされます - 良い
  • 私が送信した場合{"test":"b"}- 何もトリガーされない - 悪い :/

何か案は?

4

0 に答える 0