| # --------------------------------------------------------------------------- |
| # Licensed to the Apache Software Foundation (ASF) under one or more |
| # contributor license agreements. See the NOTICE file distributed with |
| # this work for additional information regarding copyright ownership. |
| # The ASF licenses this file to You under the Apache License, Version 2.0 |
| # (the "License"); you may not use this file except in compliance with |
| # the License. You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, software |
| # distributed under the License is distributed on an "AS IS" BASIS, |
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| # See the License for the specific language governing permissions and |
| # limitations under the License. |
| # --------------------------------------------------------------------------- |
| apiVersion: camel.apache.org/v1alpha1 |
| kind: Kamelet |
| metadata: |
| name: mysql-sink |
| annotations: |
| camel.apache.org/kamelet.support.level: "Stable" |
| camel.apache.org/catalog.version: "main-SNAPSHOT" |
| camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiIgdmVyc2lvbj0iMS4wIj4KIDxyZWN0IGZpbGw9IiMyNjU1N2MiIHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCIgeD0iLTMwIiB5PSItMzAiIHJ4PSIxLjQiIHJ5PSIxLjQiIHRyYW5zZm9ybT0ibWF0cml4KDAsLTEsLTEsMCwwLDApIi8+CiA8cGF0aCBvcGFjaXR5PSIuMiIgZD0ibTguMDI1NCA4LjAwMDFjLTAuNzgyNS0wLjAxNjYtMS4xNDk0IDAuNTI0NC0wLjk4ODMgMS40NTcgMC4wNTIgMC4zMDA2IDAuMzE1MiAwLjcyOTkgMC44ODI4IDEuNDQxOSAwLjYzMTIyIDAuNzkwOSAwLjg4NTE0IDEuMjIyNyAxLjE2MDIgMS45NzA3IDAuNDMzNiAxLjE3OTMgMC42MzQwMyAxLjU3NDggMC45ODYzMyAxLjk0MzQgMC4yNzM2NiAwLjI4NjMgMC4yNzM2OSAwLjI4NzEyIDAuMDg5ODQgMC44NzEwOS0wLjI4NTA3IDAuOTA1NTYtMC4zNDQwNyAyLjcyMDctMC4xMTUyMyAzLjU3NDIgMC4zNDI0OCAxLjI3NzQgMC43NjQwMiAxLjg1NzQgMS4zNTE2IDEuODU3NCAwLjQxOTY4IDAgMC43NjM2NC0wLjM1MDkyIDAuODg2NzItMC45MDQzIDAuMDQyNjgtMC4xOTE4NiAwLjEyMjQ5LTAuNDY2MDcgMC4xNzc3My0wLjYwOTM4IDAuMDk1MzUtMC4yNDcyOCAwLjEyMDkzLTAuMjI4MTggMC40OTQxNCAwLjM4MDg2IDAuMjE2MjggMC4zNTI5NiAwLjYyODY2IDAuODc4NjEgMC45MTYwMiAxLjE2OCAwLjY2MzggMC42Njg0NSAxLjU3NDkgMS40MjE3IDEuNjQwNiAxLjM1NzQgMC4wMjc3NS0wLjAyNzEzLTAuMjM4LTAuNDIxNzctMC41ODk4NC0wLjg3ODkxcy0xLjAxNTEtMS41MTg5LTEuNDc0Ni0yLjM1OTRjLTAuNTM1OTMtMC45ODAyOS0wLjg5OTctMS41Mjg2LTEuMDEzNy0xLjUyOTMtMC4zNzA0NS0wLjAwMjUtMC43MTU4OCAwLjU4MDA0LTAuOTE2MDIgMS41NDY5LTAuMjMwNTYgMS4xMTM4LTAuNjM2NzUgMC45MjcwOC0wLjk2NjgtMC40NDUzMS0wLjE5MDE5LTAuNzkwODUtMC4wOTEwNi0xLjg1NiAwLjI2MzY3LTIuODUzNSAwLjE2MTM3LTAuNDUzNzYgMC4yOTI5Ny0wLjg3MzczIDAuMjkyOTctMC45MzE2NHMtMC4yNTczMS0wLjU0MzQ4LTAuNTcyMjctMS4wODAxYy0wLjMxNS0wLjUzNy0wLjY4NTEtMS4yOTctMC44MjItMS42OS0wLjMzMjYtMC45NTQtMC40OTA1LTEuMjMyLTEuMTU4Mi0yLjA0My0wLjY4NzktMC44MzQ2LTAuNzUzLTEuMjIwMy0wLjIwNTEtMS4yMTY2IDAuNDI1NTQgMC4wMDI4MSAxLjExMjMgMC4yODk0NCAxLjgwMjcgMC43NTM5MSAwLjQzNzEgMC4yOTQwNCAwLjU4NTIzIDAuMzMzOTggMS4yODcxIDAuMzMzOTggMC44ODE0MiAwIDEuMDcwOSAwLjA3MjIgMi4yOTMgMC44NzY5NSAxLjI0NDUgMC44MTk1OCAyLjE3MjIgMS41ODEzIDIuODE0NSAyLjMxMjUgMC41NzA0IDAuNjQ5MzcgMC44ODIwMSAxLjIxMzggMi41NjA1IDQuNjU2MiAwLjY0NDMzIDEuMzIxNCAxLjIxNTggMS45NTkzIDIuMDAzOSAyLjIzMjQgMS4yMTczIDAuNDIxODUgMS42MzE3IDAuNjEzMTQgMi4xNjggMC45OTgwNWwwLjU2NjQxIDAuNDA2MjUtMC4zODA4NiAwLjA3NDIyYy0wLjIxMDMgMC4wNDAzMy0wLjY2ODQ3IDAuMTA2MTYtMS4wMTc2IDAuMTQ2NDgtMC43Mjc0MSAwLjA4NC0xLjIwMzEgMC4zODU3My0xLjIwMzEgMC43NjM2NyAwIDAuNDI1OTIgMS40NTEzIDEuNjQ1MyAyLjkwNjIgMi40NDE0IDAuNjk5MDMgMC4zODI0NyAxLjM3MTYgMC43NTkyNyAxLjQ5NDEgMC44Mzc4OSAwLjMyNTk4IDAuMjA5MjIgMC40MTQyNCAwLjE4Mzg5IDAuMzMwMDgtMC4wOTE4LTAuMTc2MjQtMC41NzczOC0wLjc3Mjc5LTEuMTM5OC0yLjQyOTctMi4yOTQ5LTAuOTcxOTctMC42Nzc2LTAuOTgxOTktMC42NTI0NCAwLjMxNjQxLTAuNzgxMjUgMC45MjUtMC4wOTEgMS4zOTItMC4yNDkgMS4zOTItMC40NzIgMC0wLjEwMi0wLjQ3LTAuNjQ0LTEuMDQ1LTEuMjAzLTAuOS0wLjg3Ni0xLjIwNC0xLjA5NC0yLjE5NS0xLjU3Ny0xLjM1LTAuNjU2LTEuODQyLTEuMTc3LTIuMTUzLTIuMjgzLTAuNDY0LTEuNjQ5LTEuNzEyLTMuNTg3LTMuMzcxLTUuMjMtMS43MTItMS42OTYtMy4zNDctMi42MzQ0LTQuODQ1LTIuNzgxNC0wLjYwOS0wLjA1OTgtMC45MjQtMC4xNTIyLTEuMjM5LTAuMzY1My0wLjUzMzItMC4zNjExLTEuNzcxNy0wLjc2ODQtMi4zNzY2LTAuNzgxMnptMi45NjI5IDMuMDAyYy0wLjEyMjY2LTAuMDA3OS0wLjIyOTQ1IDAuMDA4NS0wLjMwMjczIDAuMDU4NTktMC4yNzM0MSAwLjE4Njk5LTAuMjQwOTkgMC40MTUwNCAwLjA4MDA4IDAuNTU2NjQgMC4xNTA5MiAwLjA2NjU2IDAuMzY1MDEgMC4zMDE0NyAwLjQ3NjU2IDAuNTIxNDggMC4zNzUxIDAuNzM5NzggMC45NDk4NSAwLjI0NDUgMC42OTMzNi0wLjU5NzY2LTAuMDgwODUtMC4yNjU0Ni0wLjU3OTMtMC41MTU0Ny0wLjk0NzI3LTAuNTM5MDZ6Ii8+CiA8cGF0aCBmaWxsPSIjZmZmIiBkPSJtOC4wMjU0IDdjLTAuNzgyNS0wLjAxNjYtMS4xNDk0IDAuNTI0NC0wLjk4ODMgMS40NTcgMC4wNTIgMC4zMDA2IDAuMzE1MiAwLjczMDIgMC44ODI4IDEuNDQxNCAwLjYzMTIgMC43OTA2IDAuODg1MiAxLjIyMjYgMS4xNjAyIDEuOTcwNiAwLjQzMzYgMS4xNzkgMC42MzQgMS41NzUgMC45ODU5IDEuOTQzIDAuMjc0IDAuMjg3IDAuMjc0IDAuMjg4IDAuMDkgMC44NzItMC4yODQ4IDAuOTA1LTAuMzQzOCAyLjcyLTAuMTE1IDMuNTc0IDAuMzQyIDEuMjc3IDAuNzY0IDEuODU3IDEuMzUyIDEuODU3IDAuNDE5IDAgMC43NjMtMC4zNTEgMC44ODYtMC45MDQgMC4wNDMtMC4xOTIgMC4xMjMtMC40NjYgMC4xNzgtMC42MDkgMC4wOTUtMC4yNDggMC4xMjEtMC4yMjkgMC40OTQgMC4zOCAwLjIxNiAwLjM1MyAwLjYyOSAwLjg3OSAwLjkxNiAxLjE2OCAwLjY2NCAwLjY2OSAxLjU3NSAxLjQyMiAxLjY0MSAxLjM1OCAwLjAyOC0wLjAyNy0wLjIzOC0wLjQyMi0wLjU5LTAuODc5cy0xLjAxNS0xLjUxOS0xLjQ3NS0yLjM1OWMtMC41MzYtMC45ODEtMC44OTktMS41MjktMS4wMTMtMS41My0wLjM3MS0wLjAwMi0wLjcxNiAwLjU4LTAuOTE2IDEuNTQ3LTAuMjMxIDEuMTE0LTAuNjM3IDAuOTI3LTAuOTY3LTAuNDQ1LTAuMTktMC43OTEtMC4wOTEtMS44NTYgMC4yNjQtMi44NTQgMC4xNjEtMC40NTMgMC4yOTMtMC44NzMgMC4yOTMtMC45MzFzLTAuMjU4LTAuNTQ0LTAuNTczLTEuMDhjLTAuMzE1LTAuNTM3LTAuNjg1MS0xLjI5Ny0wLjgyMi0xLjY5LTAuMzMyNi0wLjk1NC0wLjQ5MDUtMS4yMzItMS4xNTgyLTIuMDQyOS0wLjY4NzktMC44MzQ4LTAuNzUzLTEuMjIwNC0wLjIwNTEtMS4yMTY4IDAuNDI1NSAwLjAwMjkgMS4xMTIzIDAuMjg5NSAxLjgwMjMgMC43NTM5IDAuNDM4IDAuMjk0MSAwLjU4NiAwLjMzNCAxLjI4OCAwLjMzNCAwLjg4MSAwIDEuMDcgMC4wNzIyIDIuMjkzIDAuODc3IDEuMjQ0IDAuODE5OCAyLjE3MiAxLjU4MTggMi44MTQgMi4zMTI4IDAuNTcgMC42NDkgMC44ODIgMS4yMTQgMi41NjEgNC42NTYgMC42NDQgMS4zMjEgMS4yMTUgMS45NTkgMi4wMDMgMi4yMzIgMS4yMTggMC40MjIgMS42MzIgMC42MTMgMi4xNjggMC45OThsMC41NjcgMC40MDctMC4zODEgMC4wNzRjLTAuMjEgMC4wNC0wLjY2OSAwLjEwNi0xLjAxOCAwLjE0Ni0wLjcyNyAwLjA4NC0xLjIwMyAwLjM4Ni0xLjIwMyAwLjc2NCAwIDAuNDI2IDEuNDUxIDEuNjQ1IDIuOTA2IDIuNDQxIDAuNyAwLjM4MyAxLjM3MiAwLjc2IDEuNDk1IDAuODM4IDAuMzI2IDAuMjEgMC40MTQgMC4xODQgMC4zMy0wLjA5MS0wLjE3Ny0wLjU3OC0wLjc3My0xLjE0LTIuNDMtMi4yOTUtMC45NzItMC42NzgtMC45ODItMC42NTMgMC4zMTYtMC43ODIgMC45MjYtMC4wOTIgMS4zOTMtMC4yNSAxLjM5My0wLjQ3MiAwLTAuMTAyLTAuNDctMC42NDQtMS4wNDUtMS4yMDMtMC45LTAuODc3LTEuMjA0LTEuMDk0LTIuMTk1LTEuNTc3LTEuMzUtMC42NTYtMS44NDItMS4xNzctMi4xNTMtMi4yODMtMC40NjQtMS42NS0xLjcxMi0zLjU4Ny0zLjM3MS01LjIzLTEuNzEyLTEuNjk2NS0zLjM0Ny0yLjYzNDUtNC44NDUtMi43ODE1LTAuNjA5LTAuMDU5OC0wLjkyNC0wLjE1MjItMS4yMzktMC4zNjUzLTAuNTMzMi0wLjM2MTEtMS43NzE3LTAuNzY4NC0yLjM3NjYtMC43ODEyem0yLjk2MjYgMy4wMDJjLTAuMTIyLTAuMDA3OS0wLjIyOSAwLjAwOC0wLjMwMiAwLjA1OS0wLjI3NCAwLjE4Ny0wLjI0MSAwLjQxNSAwLjA4IDAuNTU2IDAuMTUxIDAuMDY3IDAuMzY1IDAuMzAyIDAuNDc2IDAuNTIyIDAuMzc1IDAuNzM5IDAuOTUgMC4yNDQgMC42OTQtMC41OTgtMC4wODEtMC4yNjUtMC41OC0wLjUxNS0wLjk0OC0wLjUzOXoiLz4KIDxwYXRoIGZpbGw9IiNmZmYiIG9wYWNpdHk9Ii4xIiBkPSJtMy40MDA0IDJjLTAuNzc1NiAwLTEuNDAwNCAwLjYyNDgtMS40MDA0IDEuNDAwNHYxYzAtMC43NzU2IDAuNjI0OC0xLjQwMDQgMS40MDA0LTEuNDAwNGgyNS4yYzAuNzc1IDAgMS40IDAuNjI0OCAxLjQgMS40MDA0di0xYzAtMC43NzU2LTAuNjI1LTEuNDAwNC0xLjQtMS40MDA0aC0yNS4yeiIvPgogPHBhdGggb3BhY2l0eT0iLjIiIGQ9Im0yIDI4LjZ2MWMwIDAuNzc1IDAuNjI0OCAxLjQgMS40MDA0IDEuNGgyNS4yYzAuNzc1IDAgMS40LTAuNjI1IDEuNC0xLjR2LTFjMCAwLjc3NS0wLjYyNSAxLjQtMS40IDEuNGgtMjUuMmMtMC43NzUyIDAtMS40LTAuNjI1LTEuNC0xLjR6Ii8+Cjwvc3ZnPgo=" |
| camel.apache.org/provider: "Apache Software Foundation" |
| camel.apache.org/kamelet.group: "SQL" |
| labels: |
| camel.apache.org/kamelet.type: "sink" |
| spec: |
| definition: |
| title: "MySQL Sink" |
| description: |- |
| Send data to a MySQL Database. |
| |
| In your KameletBinding file, you must explicitly declare the SQL Server driver dependency in spec->integration->dependencies. |
| |
| - "mvn:mysql:mysql-connector-java:<version>" |
| |
| This Kamelet expects a JSON-formatted body. Use key:value pairs to map the JSON fields and parameters. For example, here is a query: |
| |
| 'INSERT INTO accounts (username,city) VALUES (:#username,:#city)' |
| |
| Here is example input for the example query: |
| |
| '{ "username":"oscerd", "city":"Rome"}' |
| required: |
| - serverName |
| - username |
| - password |
| - query |
| - databaseName |
| type: object |
| properties: |
| serverName: |
| title: Server Name |
| description: The server name for the data source. |
| type: string |
| example: localhost |
| serverPort: |
| title: Server Port |
| description: The server port for the data source. |
| type: string |
| default: 3306 |
| username: |
| title: Username |
| description: The username to access a secured MySQL Database. |
| type: string |
| x-descriptors: |
| - urn:camel:group:credentials |
| password: |
| title: Password |
| description: The password to access a secured MySQL Database. |
| type: string |
| format: password |
| x-descriptors: |
| - urn:alm:descriptor:com.tectonic.ui:password |
| - urn:camel:group:credentials |
| query: |
| title: Query |
| description: The query to execute against the MySQL Database. |
| type: string |
| example: 'INSERT INTO accounts (username,city) VALUES (:#username,:#city)' |
| databaseName: |
| title: Database Name |
| description: The name of the MySQL Database. |
| type: string |
| types: |
| in: |
| mediaType: application/json |
| dependencies: |
| - "camel:jackson" |
| - "camel:kamelet" |
| - "camel:sql" |
| - "mvn:org.apache.commons:commons-dbcp2:2.9.0" |
| template: |
| beans: |
| - name: dsBean |
| type: "#class:org.apache.commons.dbcp2.BasicDataSource" |
| property: |
| - key: username |
| value: '{{username}}' |
| - key: password |
| value: '{{password}}' |
| - key: url |
| value: 'jdbc:mysql://{{serverName}}:{{serverPort}}/{{databaseName}}' |
| - key: driverClassName |
| value: 'com.mysql.cj.jdbc.Driver' |
| from: |
| uri: "kamelet:source" |
| steps: |
| - unmarshal: |
| json: |
| library: Jackson |
| - to: |
| uri: "sql:{{query}}" |
| parameters: |
| dataSource: "#bean:{{dsBean}}" |