You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "winger (Jira)" <ji...@apache.org> on 2021/08/26 12:09:00 UTC
[jira] [Updated] (CAMEL-16894) Support read properties from camel
component for kamelets
[ https://issues.apache.org/jira/browse/CAMEL-16894?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
winger updated CAMEL-16894:
---------------------------
Description:
As example, it will be possible to use a Kamelet to create a[ Debezium Source Connectors |https://camel.apache.org/components/latest/debezium-summary.html]
*Definition*
Definite DBZ MySQL Connector named +debezium-mysql-source.kamelet.yaml+
{code:java}
apiVersion: camel.apache.org/v1alpha1
kind: Kamelet
metadata:
name: debezium-mysql-source
annotations:
camel.apache.org/kamelet.support.level: "Preview"
// other ...
labels:
camel.apache.org/kamelet.type: "source"
spec:
definition:
title: "Debezium MySQL"
required:
- databaseServerId
- databaseServerName
// others...
properties:
databaseServerId:
//...
databaseServerName:
//...
// others ...
dependencies:
// ...
flow:
from:
uri: debezium-mysql:{{databaseServerName}}
parameters:
databaseServerName: "{{databaseServerName}}"
databaseServerId: "{{databaseServerId}}"
// others...
steps:
- to: "kamelet:sink"
{code}
As example:
{code:java}
from("debezium-mysql:dbz-test-1?databaseServerName=dbz-test-1&databaseServerId=5401&...")
.log("Event received from Debezium : ${body}")
{code}
Using the Kamelet example above, the message property can then be given:
1. by setting a URI Param named databaseServerName and databaseServerId
OR
2. by setting the property camel.kamelet.debezium-mysql-source.source.databaseServerName and camel.kamelet.debezium-mysql-source.source.databaseServerId
It will be very useful when build this with camel-k projects.
For example create a YAML file like the following one:
{code:java}
apiVersion: camel.apache.org/v1alpha1
kind: KameletBinding
metadata:
name: debezium-mysql-source-binding
spec:
source:
ref:
kind: Kamelet
apiVersion: camel.apache.org/v1alpha1
name: debezium-mysql-source
properties:
databaseServerId: 5401
databaseServerName: "dbz-test-1"
additionalProperties.transactional.id: 12345
additionalProperties.max.batch.size: 4096
....
{code}
it also works fine.
was:
As example, it will be possible to use a Kamelet to create a[ Debezium Source Connectors |[https://camel.apache.org/components/latest/debezium-summary.html]]
*Definition*
Definite DBZ MySQL Connector named +debezium-mysql-source.kamelet.yaml+
{code:java}
apiVersion: camel.apache.org/v1alpha1
kind: Kamelet
metadata:
name: debezium-mysql-source
annotations:
camel.apache.org/kamelet.support.level: "Preview"
// other ...
labels:
camel.apache.org/kamelet.type: "source"
spec:
definition:
title: "Debezium MySQL"
required:
- databaseServerId
- databaseServerName
// others...
properties:
databaseServerId:
//...
databaseServerName:
//...
// others ...
dependencies:
// ...
flow:
from:
uri: debezium-mysql:{{databaseServerName}}
parameters:
databaseServerName: "{{databaseServerName}}"
databaseServerId: "{{databaseServerId}}"
// others...
steps:
- to: "kamelet:sink"
{code}
As example:
{code:java}
from("debezium-mysql:dbz-test-1?databaseServerName=dbz-test-1&databaseServerId=5401&...")
.log("Event received from Debezium : ${body}")
{code}
Using the Kamelet example above, the message property can then be given:
1. by setting a URI Param named databaseServerName and databaseServerId
OR
2. by setting the property camel.kamelet.debezium-mysql-source.source.databaseServerName and camel.kamelet.debezium-mysql-source.source.databaseServerId
It will be very useful when build this with camel-k projects.
For example create a YAML file like the following one:
{code:java}
apiVersion: camel.apache.org/v1alpha1
kind: KameletBinding
metadata:
name: debezium-mysql-source-binding
spec:
source:
ref:
kind: Kamelet
apiVersion: camel.apache.org/v1alpha1
name: debezium-mysql-source
properties:
databaseServerId: 5401
databaseServerName: "dbz-test-1"
additionalProperties.transactional.id: 12345
additionalProperties.max.batch.size: 4096
....
{code}
it also works fine.
> Support read properties from camel component for kamelets
> ---------------------------------------------------------
>
> Key: CAMEL-16894
> URL: https://issues.apache.org/jira/browse/CAMEL-16894
> Project: Camel
> Issue Type: Improvement
> Components: camel-debezium
> Reporter: winger
> Priority: Major
>
> As example, it will be possible to use a Kamelet to create a[ Debezium Source Connectors |https://camel.apache.org/components/latest/debezium-summary.html]
> *Definition*
> Definite DBZ MySQL Connector named +debezium-mysql-source.kamelet.yaml+
> {code:java}
> apiVersion: camel.apache.org/v1alpha1
> kind: Kamelet
> metadata:
> name: debezium-mysql-source
> annotations:
> camel.apache.org/kamelet.support.level: "Preview"
> // other ...
> labels:
> camel.apache.org/kamelet.type: "source"
> spec:
> definition:
> title: "Debezium MySQL"
> required:
> - databaseServerId
> - databaseServerName
> // others...
> properties:
> databaseServerId:
> //...
> databaseServerName:
> //...
> // others ...
> dependencies:
> // ...
> flow:
> from:
> uri: debezium-mysql:{{databaseServerName}}
> parameters:
> databaseServerName: "{{databaseServerName}}"
> databaseServerId: "{{databaseServerId}}"
> // others...
> steps:
> - to: "kamelet:sink"
> {code}
> As example:
> {code:java}
> from("debezium-mysql:dbz-test-1?databaseServerName=dbz-test-1&databaseServerId=5401&...")
> .log("Event received from Debezium : ${body}")
> {code}
> Using the Kamelet example above, the message property can then be given:
> 1. by setting a URI Param named databaseServerName and databaseServerId
> OR
> 2. by setting the property camel.kamelet.debezium-mysql-source.source.databaseServerName and camel.kamelet.debezium-mysql-source.source.databaseServerId
> It will be very useful when build this with camel-k projects.
> For example create a YAML file like the following one:
> {code:java}
> apiVersion: camel.apache.org/v1alpha1
> kind: KameletBinding
> metadata:
> name: debezium-mysql-source-binding
> spec:
> source:
> ref:
> kind: Kamelet
> apiVersion: camel.apache.org/v1alpha1
> name: debezium-mysql-source
> properties:
> databaseServerId: 5401
> databaseServerName: "dbz-test-1"
> additionalProperties.transactional.id: 12345
> additionalProperties.max.batch.size: 4096
> ....
> {code}
> it also works fine.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)