generated from camel.apache.org/kamelet
96 lines
7.9 KiB
YAML
96 lines
7.9 KiB
YAML
|
|
apiVersion: camel.apache.org/v1
|
||
|
|
kind: Kamelet
|
||
|
|
metadata:
|
||
|
|
name: snowflake-source
|
||
|
|
annotations:
|
||
|
|
camel.apache.org/kamelet.support.level: "Preview"
|
||
|
|
camel.apache.org/catalog.version: "4.10.2"
|
||
|
|
camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjIiIGJhc2VQcm9maWxlPSJ0aW55LXBzIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNTY1IDE1NTkiIHdpZHRoPSIxNTY1IiBoZWlnaHQ9IjE1NTkiPgoJPHRpdGxlPmxvZ28tYmx1ZS1zdmcgY29weS1zdmc8L3RpdGxlPgoJPGRlZnM+CgkJPGNsaXBQYXRoIGNsaXBQYXRoVW5pdHM9InVzZXJTcGFjZU9uVXNlIiBpZD0iY3AxIj4KCQkJPHBhdGggZD0iTTAuMjQgMEw2ODkzLjI2IDBMNjg5My4yNiAxNTU4LjIyTDAuMjQgMTU1OC4yMkwwLjI0IDBaIiAvPgoJCTwvY2xpcFBhdGg+Cgk8L2RlZnM+Cgk8c3R5bGU+CgkJdHNwYW4geyB3aGl0ZS1zcGFjZTpwcmUgfQoJCS5zaHAwIHsgZmlsbDogIzI5YjVlOCB9IAoJPC9zdHlsZT4KCTxnIGlkPSJIT01FUEFHRSI+CgkJPGcgaWQ9IlNub3dmbGFrZS1Ib21lcGFnZS1wbGF0Zm9ybS1hbHQtMy1Db3B5Ij4KCQkJPGcgaWQ9IkNvbXBvbmVudHMtLy1OYXZpZ2F0aW9uLS8tTWFpbiI+CgkJCQk8ZyBpZD0iTG9nby0vLVNub3dmbGFrZS1CbHVlIj4KCQkJCQk8ZyBpZD0iTGF5ZXIiPgoJCQkJCQk8ZyBpZD0iTWFzayI+CgkJCQkJCTwvZz4KCQkJCQkJPGcgaWQ9IkNsaXAtUGF0aDogQ2xpcC1QYXRoOiBGaWxsLTEiIGNsaXAtcGF0aD0idXJsKCNjcDEpIj4KCQkJCQkJCTxnIGlkPSJDbGlwLVBhdGg6IEZpbGwtMSI+CgkJCQkJCQkJPHBhdGggaWQ9IkZpbGwtMSIgZmlsbC1ydWxlPSJldmVub2RkIiBjbGFzcz0ic2hwMCIgZD0iTTUyMi42MyA4MDcuNTdDNTE1LjYzIDgzMC4wNyA1MDAuNDQgODUwLjA2IDQ3OC4wNyA4NjIuODRMMTQ2LjcyIDEwNTIuNjlDOTkuOTIgMTA3OS4zOSA0MC4zIDEwNjMuNTYgMTMuNDQgMTAxNy4zOEMtMTMuNTkgOTcwLjk0IDIuMzIgOTExLjg2IDQ5LjA4IDg4NS4wOEwyMzQuMjYgNzc5LjE3TDQ5LjA4IDY3Mi45OEMyLjMyIDY0Ni4yNCAtMTMuNjcgNTg3LjE1IDEzLjQ0IDU0MC44OEM0MC4zIDQ5NC41OCA5OS45MiA0NzguNyAxNDYuNzIgNTA1LjRMNDc4LjA3IDY5NS4xM0M1MDEuMzcgNzA4LjQ2IDUxNi45NCA3MjkuNiA1MjMuNDggNzUzLjI0QzUyNS42OCA3NjAuODQgNTI2LjY2IDc2OC40NCA1MjcuMDQgNzc2LjA4QzUyNy4zIDc4Ni42IDUyNS45NCA3OTcuMjYgNTIyLjYzIDgwNy41N1pNNjEyLjU0IDk4NS4zOEM2NjMgOTg4Ljk4IDcwMi44NCAxMDMwLjg0IDcwMi44NCAxMDgxLjc3TDcwMi44NCAxNDYxLjM2QzcwMi44NCAxNTE0Ljg5IDY1OS4wNSAxNTU4LjIyIDYwNS4yOSAxNTU4LjIyQzU1MS4yNyAxNTU4LjIyIDUwNy42NSAxNTE0Ljg5IDUwNy42NSAxNDYxLjM2TDUwNy42NSAxMjQ5LjA1TDMyMS44NCAxMzU1LjI5QzI3NS4yNSAxMzgyLjIgMjE1LjY3IDEzNjYuMjggMTg4LjYgMTMyMC4wNkMxNjEuNyAxMjczLjc1IDE3Ny42MSAxMjE0LjM3IDIyNC4yOSAxMTg3LjYzTDU1NS45IDk5OC4wMkM1NzMuNzIgOTg3LjcxIDU5My40OSA5ODMuNzYgNjEyLjU0IDk4NS4zOFpNOTUyLjE3IDU3Mi44NUM5MDEuNTkgNTY5LjE1IDg2MS44MyA1MjcuMjIgODYxLjgzIDQ3Ni4zM0w4NjEuODMgOTYuNjlDODYxLjgzIDQzLjM0IDkwNS4zNyAwIDk1OS40MyAwQzEwMTMuNDQgMCAxMDU3LjA3IDQzLjM0IDEwNTcuMDcgOTYuNjlMMTA1Ny4wNyAzMDkuMTNMMTI0Mi43NSAyMDIuNzJDMTI4OS40MyAxNzUuOTggMTM0OS4wNCAxOTEuODUgMTM3NS45NSAyMzguMDhDMTQwMi44IDI4NC41NiAxMzg2Ljk4IDM0My42OCAxMzQwLjI2IDM3MC40MkwxMDA4LjY5IDU2MC4yQzk5MC44NyA1NzAuMzggOTcxLjE0IDU3NC4zNyA5NTIuMTcgNTcyLjg1Wk0yMjQuMjkgMzcwLjQyQzE3Ny42MSAzNDMuNjggMTYxLjcgMjg0LjU2IDE4OC42IDIzOC4wOEMyMTUuNjcgMTkxLjg1IDI3NS4yNSAxNzUuOTggMzIxLjg0IDIwMi43Mkw1MDcuNjUgMzA5LjEzTDUwNy42NSA5Ni42OUM1MDcuNjUgNDMuMzQgNTUxLjI3IDAgNjA1LjI5IDBDNjU5LjA1IDAgNzAyLjg0IDQzLjM0IDcwMi44NCA5Ni42OUw3MDIuODQgNDc2LjMzQzcwMi44NCA1MjcuMjIgNjYzIDU2OS4xNSA2MTIuNTQgNTcyLjg1QzU5My40OSA1NzQuMzcgNTczLjcyIDU3MC4zOCA1NTUuOSA1NjAuMkwyMjQuMjkgMzcwLjQyWk04MTkuODMgOTUyLjc0QzgxNS44OCA5NTYuNzcgODA4LjI4IDk2MC4wNCA4MDIuNTEgOTYwLjA0TDc2MS45OSA5NjAuMDRDNzU2LjQzIDk2MC4wNCA3NDguNzEgOTU2Ljc3IDc0NC42OCA5NTIuNzRMNjA2Ljk0IDgxNi4yN0M2MDMgODEyLjQxIDU5OS44MSA4MDQuNjggNTk5LjgxIDc5OS4yNUw1OTkuODEgNzU4Ljk3QzU5OS44MSA3NTMuNDEgNjAzIDc0NS42OSA2MDYuOTQgNzQxLjc4TDc0NC42OCA2MDUuMjdDNzQ4LjcxIDYwMS4yOSA3NTYuNDMgNTk4LjEgNzYxLjk5IDU5OC4xTDgwMi41MSA1OTguMUM4MDguMTYgNTk4LjEgODE1Ljg4IDYwMS4yOSA4MTkuODMgNjA1LjI3TDk1Ny42NSA3NDEuNzhDOTYxLjU5IDc0NS42OSA5NjQuNzcgNzUzLjQxIDk2NC43NyA3NTguOTdMOTY0Ljc3IDc5OS4yNUM5NjQuNzcgODA0LjY4IDk2MS41OSA4MTIuNDEgOTU3LjY1IDgxNi4yN0w4MTkuODMgOTUyLjc0Wk04NDcuNDkgNzc4LjM3Qzg0Ny40OSA3NzIuODUgODQ0LjE0IDc2NS4xNyA4NDAuMTkgNzYxLjA5TDgwMC4yNiA3MjEuN0M3OTYuMzYgNzE3LjggNzg4LjYgNzE0LjU3IDc4My4wNCA3MTQuNTdMNzgxLjQ3IDcxNC41N0M3NzUuOTEgNzE0LjU3IDc2OC4xOSA3MTcuOCA3NjQuMzIgNzIxLjdMNzI0LjQgNzYxLjA5QzcyMC40MSA3NjUuMTcgNzE3LjM1IDc3Mi44NSA3MTcuMzUgNzc4LjM3TDcxNy4zNSA3NzkuOTRDNzE3LjM1IDc4NS4zNyA3MjAuNDEgNzkyLjk3IDcyNC40IDc5Ni45Nkw3NjQuMzIgODM2LjQzQzc2OC4yMyA4NDAuMzQgNzc1LjkxIDg0My41NiA3ODEuNDcgODQzLjU2TDc4My4wNCA4NDMuNTZDNzg4LjYgODQzLjU2IDc5Ni4zNiA4NDAuMzQgODAwLjI2IDgzNi40M0w4NDAuMTkgNzk2Ljk2Qzg0NC4xNCA3OTIuOTcgODQ3LjQ5IDc4NS4zNyA4NDcuNDkgNzc5Ljk0TDg0Ny40OSA3NzguMzdaTTEzNDAuMjYgMTE4Ny42M0MxMzg2Ljk4I
|
||
|
|
camel.apache.org/provider: "Apache Software Foundation"
|
||
|
|
camel.apache.org/kamelet.group: "SQL"
|
||
|
|
camel.apache.org/kamelet.namespace: "Database"
|
||
|
|
labels:
|
||
|
|
camel.apache.org/kamelet.type: "source"
|
||
|
|
spec:
|
||
|
|
definition:
|
||
|
|
title: "Snowflake Source"
|
||
|
|
description: |-
|
||
|
|
Query data from a Snowflake Database.
|
||
|
|
required:
|
||
|
|
- instanceUrl
|
||
|
|
- username
|
||
|
|
- password
|
||
|
|
- query
|
||
|
|
type: object
|
||
|
|
properties:
|
||
|
|
instanceUrl:
|
||
|
|
title: Instance URL
|
||
|
|
description: The Instance url
|
||
|
|
type: string
|
||
|
|
example: instance.snowflakecomputing.com
|
||
|
|
username:
|
||
|
|
title: Username
|
||
|
|
description: The username to access a secured Snowflake Database.
|
||
|
|
type: string
|
||
|
|
x-descriptors:
|
||
|
|
- urn:camel:group:credentials
|
||
|
|
password:
|
||
|
|
title: Password
|
||
|
|
description: The password to access a secured Snowflake Database.
|
||
|
|
type: string
|
||
|
|
format: password
|
||
|
|
x-descriptors:
|
||
|
|
- urn:camel:group:credentials
|
||
|
|
query:
|
||
|
|
title: Query
|
||
|
|
description: The query to execute against the Snowflake Database.
|
||
|
|
type: string
|
||
|
|
example: 'INSERT INTO accounts (username,city) VALUES (:#username,:#city)'
|
||
|
|
databaseName:
|
||
|
|
title: Database Name
|
||
|
|
description: The name of the Snowflake Database.
|
||
|
|
type: string
|
||
|
|
consumedQuery:
|
||
|
|
title: Consumed Query
|
||
|
|
description: A query to run on a tuple consumed.
|
||
|
|
type: string
|
||
|
|
example: 'DELETE FROM accounts where user_id = :#user_id'
|
||
|
|
delay:
|
||
|
|
title: Delay
|
||
|
|
description: The number of milliseconds before the next poll
|
||
|
|
type: integer
|
||
|
|
default: 500
|
||
|
|
types:
|
||
|
|
out:
|
||
|
|
mediaType: application/json
|
||
|
|
dependencies:
|
||
|
|
- "camel:jackson"
|
||
|
|
- "camel:kamelet"
|
||
|
|
- "camel:sql"
|
||
|
|
- "mvn:net.snowflake:snowflake-jdbc:3.22.0"
|
||
|
|
- "mvn:org.apache.commons:commons-dbcp2:2.13.0"
|
||
|
|
template:
|
||
|
|
beans:
|
||
|
|
- name: local-sql-snowflake-source
|
||
|
|
type: "#class:org.apache.camel.component.sql.SqlComponent"
|
||
|
|
properties:
|
||
|
|
autowiredEnabled: "false"
|
||
|
|
- name: dsBean
|
||
|
|
type: "#class:net.snowflake.client.jdbc.SnowflakeBasicDataSource"
|
||
|
|
properties:
|
||
|
|
user: '{{username}}'
|
||
|
|
password: '{{password}}'
|
||
|
|
url: 'jdbc:snowflake://{{instanceUrl}}'
|
||
|
|
databaseName: '{{?databaseName}}'
|
||
|
|
from:
|
||
|
|
uri: "{{local-sql-snowflake-source}}:{{query}}"
|
||
|
|
parameters:
|
||
|
|
dataSource: "#bean:{{dsBean}}"
|
||
|
|
onConsume: "{{?consumedQuery}}"
|
||
|
|
delay: "{{delay}}"
|
||
|
|
steps:
|
||
|
|
- marshal:
|
||
|
|
json:
|
||
|
|
library: Jackson
|
||
|
|
- to: "kamelet:sink"
|