Chapter 41. JSLT Action
Apply a JSLT query or transformation on JSON.
41.1. Configuration Options
The following table summarizes the configuration options available for the jslt-action
Kamelet:
Property | Name | Description | Type | Default | Example |
---|---|---|---|---|---|
template * | Template | The inline template for JSLT Transformation | string |
|
Fields marked with an asterisk (*) are mandatory.
41.2. Dependencies
At runtime, the jslt-action
Kamelet relies upon the presence of the following dependencies:
- camel:jslt
- camel:kamelet
41.3. Usage
This section describes how you can use the jslt-action
.
41.3.1. Knative Action
You can use the jslt-action
Kamelet as an intermediate step in a Knative binding.
jslt-action-binding.yaml
apiVersion: camel.apache.org/v1alpha1 kind: KameletBinding metadata: name: jslt-action-binding spec: source: ref: kind: Kamelet apiVersion: camel.apache.org/v1alpha1 name: timer-source properties: message: {"foo" : "bar"} steps: - ref: kind: Kamelet apiVersion: camel.apache.org/v1alpha1 name: jslt-action properties: template: "file://template.json" sink: ref: kind: Channel apiVersion: messaging.knative.dev/v1 name: mychannel
41.3.1.1. Prerequisite
Make sure you have "Red Hat Integration - Camel K" installed into the OpenShift cluster you are connected to.
41.3.1.2. Procedure for using the cluster CLI
-
Save the
jslt-action-binding.yaml
file to your local drive, and then edit it as needed for your configuration. Run the action by using the following command:
oc apply -f jslt-action-binding.yaml
41.3.1.3. Procedure for using the Kamel CLI
Configure and run the action by using the following command:
kamel bind timer-source?message=Hello --step jslt-action -p "step-0.template=file://template.json" channel:mychannel
This command creates the KameletBinding in the current namespace on the cluster.
If the template points to a file that is not in the current directory, and if file://
or classpath://
is used, supply the transformation using the secret or the configmap.
To view examples, see with secret and with configmap. For details about necessary traits, see Mount trait and JVM classpath trait.
41.3.2. Kafka Action
You can use the jslt-action
Kamelet as an intermediate step in a Kafka binding.
jslt-action-binding.yaml
apiVersion: camel.apache.org/v1alpha1 kind: KameletBinding metadata: name: jslt-action-binding spec: source: ref: kind: Kamelet apiVersion: camel.apache.org/v1alpha1 name: timer-source properties: message: {"foo" : "bar"} steps: - ref: kind: Kamelet apiVersion: camel.apache.org/v1alpha1 name: jslt-action properties: template: "file://template.json" sink: ref: kind: KafkaTopic apiVersion: kafka.strimzi.io/v1beta1 name: my-topic
41.3.2.1. Prerequisites
Ensure that you have installed the AMQ Streams operator in your OpenShift cluster and create a topic named my-topic
in the current namespace. Also, you must have "Red Hat Integration - Camel K" installed into the OpenShift cluster you are connected to.
41.3.2.2. Procedure for using the cluster CLI
-
Save the
jslt-action-binding.yaml
file to your local drive, and then edit it as needed for your configuration. Run the action by using the following command:
oc apply -f jslt-action-binding.yaml
41.3.2.3. Procedure for using the Kamel CLI
Configure and run the action by using the following command:
kamel bind timer-source?message=Hello --step jslt-action -p "step-0.template=file://template.json" kafka.strimzi.io/v1beta1:KafkaTopic:my-topic
This command creates the KameletBinding in the current namespace on the cluster.
41.4. Kamelet source file
https://github.com/openshift-integration/kamelet-catalog/blob/main/jslt-action.kamelet.yaml