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)