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"}
- 何もトリガーされない - 悪い :/
何か案は?