You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "Claus Ibsen (Jira)" <ji...@apache.org> on 2021/08/29 14:19:00 UTC
[jira] [Resolved] (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 ]
Claus Ibsen resolved CAMEL-16894.
---------------------------------
Resolution: Won't Do
See the comments on the PR
> 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
> Affects Versions: 3.11.0
> 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-kamelets 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"
> // difference !! we can't defined includeQuery and includeSchemaChanges in source YAML above(debezium-mysql-source.kamelet.yaml)
> includeQuery: "true"
> includeSchemaChanges:"false"
> ....
> {code}
> The includeQuery and includeSchemaChanges may be affected as same as uri params like databaseServerName in runtime env
--
This message was sent by Atlassian Jira
(v8.3.4#803005)