Add kamelet definition: aws-redshift-source
This commit is contained in:
parent
0b8b6539f2
commit
793afb8200
197
kamelet.json
Normal file
197
kamelet.json
Normal file
@ -0,0 +1,197 @@
|
||||
{
|
||||
"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.22.1",
|
||||
"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.2.7",
|
||||
"mvn:org.apache.commons:commons-dbcp2:2.14.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"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"propertiesSchema": {
|
||||
"$schema": "http://json-schema.org/draft-07/schema#",
|
||||
"type": "object",
|
||||
"title": "AWS Redshift Source",
|
||||
"description": "Query data from an AWS Redshift Database.",
|
||||
"required": [
|
||||
"serverName",
|
||||
"username",
|
||||
"password",
|
||||
"query",
|
||||
"databaseName"
|
||||
],
|
||||
"properties": {
|
||||
"serverName": {
|
||||
"type": "string",
|
||||
"title": "Server Name",
|
||||
"description": "The server name for the data source."
|
||||
},
|
||||
"serverPort": {
|
||||
"type": "string",
|
||||
"title": "Server Port",
|
||||
"description": "The server port for the data source.",
|
||||
"default": 5439
|
||||
},
|
||||
"username": {
|
||||
"type": "string",
|
||||
"title": "Username",
|
||||
"description": "The username to access a secured AWS Redshift Database."
|
||||
},
|
||||
"password": {
|
||||
"type": "string",
|
||||
"title": "Password",
|
||||
"description": "The password to access a secured AWS Redshift Database.",
|
||||
"format": "password"
|
||||
},
|
||||
"query": {
|
||||
"type": "string",
|
||||
"title": "Query",
|
||||
"description": "The query to execute against the AWS Redshift Database."
|
||||
},
|
||||
"databaseName": {
|
||||
"type": "string",
|
||||
"title": "Database Name",
|
||||
"description": "The name of the AWS Redshift Database."
|
||||
},
|
||||
"consumedQuery": {
|
||||
"type": "string",
|
||||
"title": "Consumed Query",
|
||||
"description": "A query to run on a tuple consumed."
|
||||
},
|
||||
"delay": {
|
||||
"type": "integer",
|
||||
"title": "Delay",
|
||||
"description": "The number of milliseconds before the next poll from the AWS Redshift database.",
|
||||
"default": 500
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user