You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by "christophd (via GitHub)" <gi...@apache.org> on 2023/03/01 19:29:52 UTC
[GitHub] [camel-kamelets] christophd commented on pull request #1328: chore: Add data-type-action Kamelet
christophd commented on PR #1328:
URL: https://github.com/apache/camel-kamelets/pull/1328#issuecomment-1450735347
Let me explain a bit on these changes. With the new data-type action Kamelet users are able to explicitly apply a given data type conversion in a Kamelet Binding:
```yaml
apiVersion: camel.apache.org/v1alpha1
kind: KameletBinding
metadata:
name: data-type-action-binding
spec:
source:
ref:
kind: Kamelet
apiVersion: camel.apache.org/v1alpha1
name: timer-source
properties:
period: 5000
contentType: application/json
message: >
${input}
steps:
- ref:
kind: Kamelet
apiVersion: camel.apache.org/v1alpha1
name: data-type-action
properties:
scheme: "http"
format: "cloudevents"
sink:
uri: http://test-service/result
```
Here for example the data type applies the [Http CloudEvents binding](https://github.com/cloudevents/spec/blob/v1.0.2/cloudevents/bindings/http-protocol-binding.md) on a timer-source event. The data type is able to work with Camel specific CloudEvent headers and also sets some CloudEvents defaults. The resulting Http request looks like this (with proper CloudEvents headers set):
```
POST /someresource HTTP/1.1
Host: webhook.example.com
ce-specversion: 1.0
ce-type: org.apache.camel.event
ce-time: {{exchange-timestamp}}
ce-id: {(exchange-id})
ce-source: org.apache.camel
Content-Type: application/json; charset=utf-8
Content-Length: xxx
{
... application data ...
}
```
The combination with other data types (e.g. AWS-S3 Cloudevents data tpye) creates proper CloudEvent data from AWS-S3 to Http for example where the AWS-S3 data type creates proper Camel CloudEvents headers on the exchange and the Http CloudEvents data type translates these to proper Http headers.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@camel.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org