Trigger a workload with an event
We already know how to create and expose a workload (Function and microservice). Now it's time to actually use an event to trigger a workload.
Create a Function
First, create a sample Function that prints out the received event to console:
- Kyma Dashboard
- kubectl
Create a Subscription
Next, to subscribe to events, we need a Subscription custom resource. We're going to subscribe to events of the type order.received.v1
.
All the published events of this type are then forwarded to an HTTP endpoint called Sink
. You can define this endpoint in the Subscription's spec.
- Kyma Dashboard
- kubectl
Trigger the workload with an event
We created the lastorder
Function and subscribed to the order.received.v1
event by creating a Subscription CR. Now it's time to publish your event and trigger the Function. In this example, we'll port-forward the Kyma Eventing Service to localhost.
- Port-forward the Kyma Eventing Service to localhost. We will use port
3000
. In your terminal, run:Click to copykubectl -n kyma-system port-forward service/eventing-event-publisher-proxy 3000:80 - Now publish an event to trigger your Function. In another terminal window, run:
- curl
- CloudEvents Conformance Tool
Verify the event delivery
To verify that the event was properly delivered, check the logs of the Function:
- Kyma Dashboard
- kubectl