'Define key value pair for Argo-Events sensor trigger payload
I'm trying to fill the Argo-Events Sensor Nats trigger payload with custom key value pairs. These values are not part of the dependency. Anyone knows a way to do this?
From docs:
Payload is the list of key-value extracted from an event payload to construct the request payload.
Sensor definition:
apiVersion: argoproj.io/v1alpha1
kind: Sensor
metadata:
name: minio-sensor
spec:
dependencies:
- name: test-dep
eventSourceName: minio
eventName: example
triggers:
- template:
name: nats-trigger
nats:
# NATS Server URL
url: nats.argo-events.svc:4222
# Name of the subject
subject: minio-events
payload:
- someKey: someValue
- src:
dependencyName: test-dep
dataKey: notification.0.s3.object.key
dest: fileName
Solution 1:[1]
Finally found a solution. Two actually. (Best use Argo-Events version >= 1.6.0)
- Modify event body for dependency.
apiVersion: argoproj.io/v1alpha1
kind: Sensor
metadata:
name: minio-sensor
spec:
dependencies:
- name: test-dep
eventSourceName: minio
eventName: example
transform:
script: |-
event.body.someKey='someValue'
return event
triggers:
- template:
name: nats-trigger
nats:
# NATS Server URL
url: nats.argo-events.svc:4222
# Name of the subject
subject: minio-events
payload:
- src:
dependencyName: test-dep
dataKey: body.someKey
dest: someKey
- src:
dependencyName: test-dep
dataKey: notification.0.s3.object.key
dest: fileName
- Use default value for non-existing path.
apiVersion: argoproj.io/v1alpha1
kind: Sensor
metadata:
name: minio-sensor
spec:
dependencies:
- name: test-dep
eventSourceName: minio
eventName: example
triggers:
- template:
name: nats-trigger
nats:
# NATS Server URL
url: nats.argo-events.svc:4222
# Name of the subject
subject: minio-events
payload:
- src:
dependencyName: test-dep
dataKey: body.non-existing
value: someValue
dest: someKey
- src:
dependencyName: test-dep
dataKey: notification.0.s3.object.key
dest: fileName
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|---|
| Solution 1 | nice_pink |
