generated from camel.apache.org/kamelet
101 lines
3.9 KiB
YAML
101 lines
3.9 KiB
YAML
apiVersion: camel.apache.org/v1
|
|
kind: Kamelet
|
|
metadata:
|
|
name: aws-redshift-source
|
|
annotations:
|
|
camel.apache.org/kamelet.support.level: "Stable"
|
|
camel.apache.org/catalog.version: "4.10.2"
|
|
camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PHN2ZyBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCAxNjE1IDE3ODMuNyIgdmlld0JveD0iMCAwIDE2MTUgMTc4My43IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGQ9Im04MDcuNSAxMzYzLjggNjc4LjMgMTYxLjV2LTEyNzAuNWwtNjc4LjMgMTYxLjV6IiBmaWxsPSIjMjA1Yjk3Ii8+PHBhdGggZD0ibTE0ODUuOCAyNTQuOCAxMjkuMiA2NC42djExNDEuM2wtMTI5LjIgNjQuNnptLTY3OC4zIDExMDktNjc4LjMgMTYxLjV2LTEyNzAuNWw2NzguMyAxNjEuNXoiIGZpbGw9IiM1MTkzY2UiLz48cGF0aCBkPSJtMTI5LjIgMjU0LjgtMTI5LjIgNjQuNnYxMTQxLjNsMTI5LjIgNjQuNnoiIGZpbGw9IiMyMDViOTciLz48cGF0aCBkPSJtOTc5LjggMTc4My43IDI1OC40LTEyOS4ydi0xNTI1LjNsLTI1OC40LTEyOS4yLTc5IDg0N3oiIGZpbGw9IiM1MTkzY2UiLz48cGF0aCBkPSJtNjM1LjIgMTc4My43LTI1OC40LTEyOS4ydi0xNTI1LjNsMjU4LjQtMTI5LjIgNzkgODQ3eiIgZmlsbD0iIzIwNWI5NyIvPjxwYXRoIGQ9Im02MzUuMiAwaDM0OC4xdjE3ODAuMWgtMzQ4LjF6IiBmaWxsPSIjMmU3M2I3Ii8+PC9zdmc+"
|
|
camel.apache.org/provider: "Apache Software Foundation"
|
|
camel.apache.org/kamelet.group: "AWS Redshift"
|
|
camel.apache.org/kamelet.namespace: "AWS"
|
|
labels:
|
|
camel.apache.org/kamelet.type: "source"
|
|
spec:
|
|
definition:
|
|
title: "AWS Redshift Source"
|
|
description: Query data from an AWS RedShift Database.
|
|
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: 5439
|
|
username:
|
|
title: Username
|
|
description: The username to access a secured AWS RedShift Database.
|
|
type: string
|
|
x-descriptors:
|
|
- urn:camel:group:credentials
|
|
password:
|
|
title: Password
|
|
description: The password to access a secured AWS RedShift Database.
|
|
type: string
|
|
format: password
|
|
x-descriptors:
|
|
- urn:camel:group:credentials
|
|
query:
|
|
title: Query
|
|
description: The query to execute against the AWS RedShift Database.
|
|
type: string
|
|
example: 'INSERT INTO accounts (username,city) VALUES (:#username,:#city)'
|
|
databaseName:
|
|
title: Database Name
|
|
description: The name of the AWS RedShift 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 from the AWS RedShift database.
|
|
type: integer
|
|
default: 500
|
|
types:
|
|
out:
|
|
mediaType: application/json
|
|
dependencies:
|
|
- "camel:jackson"
|
|
- "camel:kamelet"
|
|
- "camel:sql"
|
|
- "mvn:com.amazon.redshift:redshift-jdbc42:2.1.0.32"
|
|
- "mvn:org.apache.commons:commons-dbcp2:2.13.0"
|
|
template:
|
|
beans:
|
|
- name: local-sql-redshift-source
|
|
type: "#class:org.apache.camel.component.sql.SqlComponent"
|
|
properties:
|
|
autowiredEnabled: "false"
|
|
- name: dsBean
|
|
type: "#class:org.apache.commons.dbcp2.BasicDataSource"
|
|
properties:
|
|
username: '{{username}}'
|
|
password: '{{password}}'
|
|
url: 'jdbc:redshift://{{serverName}}:{{serverPort}}/{{databaseName}}'
|
|
driverClassName: 'com.amazon.redshift.jdbc.Driver'
|
|
from:
|
|
uri: "{{local-sql-redshift-source}}:{{query}}"
|
|
parameters:
|
|
dataSource: "#bean:{{dsBean}}"
|
|
onConsume: "{{?consumedQuery}}"
|
|
delay: "{{delay}}"
|
|
steps:
|
|
- marshal:
|
|
json:
|
|
library: Jackson
|
|
- to: "kamelet:sink"
|