sqlserver-sink/kamelet.json

197 lines
12 KiB
JSON
Raw Permalink Normal View History

2026-10-12 02:36:46 +00:00
{
"apiVersion": "camel.apache.org/v1",
"kind": "Kamelet",
"metadata": {
"name": "sqlserver-sink",
"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,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gU3ZnIFZlY3RvciBJY29ucyA6IGh0dHA6Ly93d3cub25saW5ld2ViZm9udHMuY29tL2ljb24gLS0+DQo8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPg0KPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IiB2aWV3Qm94PSIwIDAgMTAwMCAxMDAwIiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCAxMDAwIDEwMDAiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPG1ldGFkYXRhPiBTdmcgVmVjdG9yIEljb25zIDogaHR0cDovL3d3dy5vbmxpbmV3ZWJmb250cy5jb20vaWNvbiA8L21ldGFkYXRhPg0KPGc+PHBhdGggZD0iTTQyNi45LDkwYzEwLjMsMC0yMS43LTgwLTIxLjctODBTMjkxLjksNjAuMywyODUuMSw2NkMyNzguMiw3MS44LDQxNi42LDkwLDQyNi45LDkweiIvPjxwYXRoIGQ9Ik0zNTYuOSwxNDkuNWw3Mi00NC42Yy0xNy40LDIuMy0xNTguNy0yOS43LTE1OC43LTI5LjdjMi4zLDYuOSw2OC42LDc0LjMsNjguNiw3NC4zTDM1Ni45LDE0OS41TDM1Ni45LDE0OS41eiIvPjxwYXRoIGQ9Ik00NjEuMiwxNjYuN2wtMjAuNi00OS4ybC01OS41LDM2LjZMNDYxLjIsMTY2LjdMNDYxLjIsMTY2Ljd6Ii8+PHBhdGggZD0iTTMwNi44LDE0Mi4xbC01MC4zLTU4LjljMCwwLTQwLDI3LjQtMzQuMywzNC4zQzIyNy45LDEyNC40LDMwNi44LDE0Mi4xLDMwNi44LDE0Mi4xTDMwNi44LDE0Mi4xeiIvPjxwYXRoIGQ9Ik0yNDguNSwxNDkuNWMyMC42LDE0LjksNjguNiw3Ny44LDY4LjYsNzcuOGwtMTguMy02MC42TDI0OC41LDE0OS41TDI0OC41LDE0OS41eiIvPjxwYXRoIGQ9Ik0zMzguOCwyNDQuNGw4Mi4zLTYxLjhsLTEwOS44LTE2QzMxMS40LDE2Ni43LDMzOC44LDIzMC43LDMzOC44LDI0NC40TDMzOC44LDI0NC40eiIvPjxwYXRoIGQ9Ik00MzMuNywxODguNGwtNzYuOSw2Ni4zYzIxLjUsNC42LDkxLjcsMzAuOSw5MS43LDMwLjlDNDUzLjIsMjEwLjEsNDMzLjcsMTg4LjQsNDMzLjcsMTg4LjRMNDMzLjcsMTg4LjR6Ii8+PHBhdGggZD0iTTQ2MS4yLDI4Mi4yYzAsMCwxMTIuMS02Mi45LDEyMC4xLTY2LjNsLTEzMi0yNy40QzQ0OS4zLDE4OC40LDQ3OC4zLDIyOS42LDQ2MS4yLDI4Mi4yTDQ2MS4yLDI4Mi4yeiIvPjxwYXRoIGQ9Ik01NjEuOCwzMzdjNDMuNS03NC4zLDQzLjUtMTE2LjYsNDMuNS0xMTYuNmwtMTIwLjQsNzcuOEM1MDUuMiwzMDMuOSw1NjEuOCwzMzcsNTYxLjgsMzM3TDU2MS44LDMzN3oiLz48cGF0aCBkPSJNNTg5LjMsMzM3YzU3LjItMjkuNywxODAuNy02NCwxODAuNy02NGMtMjYuMy0xOC4zLTE0OS44LTUyLjYtMTQ5LjgtNTIuNkM2MjEuMywyMzcuNiw1ODkuMywzMzcsNTg5LjMsMzM3TDU4OS4zLDMzN3oiLz48cGF0aCBkPSJNNTg5LjMsMzUzLjFjMzcuNCwyMS43LDc2LjYsODQuNiw3Ni42LDg0LjZjNzItNzAuOSwxMTUuNS0xNTIuMSwxMTUuNS0xNTIuMUM3NjQuMiwyODYuNyw1ODkuMywzNTMuMSw1ODkuMywzNTMuMUw1ODkuMywzNTMuMXoiLz48cGF0aCBkPSJNODAwLjgsMjg1LjZDNzgzLjcsMzMxLjMsNjk2LjgsNDMyLDY5Ni44LDQzMmM0NC42LTE4LjMsMjM2LjctMzQuMywyMzYuNy0zNC4zQzkxNi4zLDM2Mi4yLDgwMC44LDI4NS42LDgwMC44LDI4NS42TDgwMC44LDI4NS42eiIvPjxwYXRoIGQ9Ik00MjguOSwzMTEuOWMtMjQuMy0xNi03OS40LTI5LjctNzkuNC0yOS43YzYuMiwzLjQsNy4zLDk4LjMsNy4zLDk4LjNDMzg0LjEsMzU1LjMsNDI4LjksMzExLjksNDI4LjksMzExLjlMNDI4LjksMzExLjl6Ii8+PHBhdGggZD0iTTQzOS41LDMzMS4zYy04LDYuOS04Mi42LDY4LjYtODIuNiw2OC42YzEyLjMsOCw0MC4zLDMyLDQwLjMsMzJDNDI2LjksMzk0LjIsNDM5LjUsMzMxLjMsNDM5LjUsMzMxLjNMNDM5LjUsMzMxLjN6Ii8+PHBhdGggZD0iTTQ2MS4yLDMxOS45YzEuMSwxNy4yLTI2LjMsOTIuNi0yNi4zLDkyLjZsOTguMy01My43TDQ2MS4yLDMxOS45TDQ2MS4yLDMxOS45eiIvPjxwYXRoIGQ9Ik00MDguNiw0NDkuMWMxMS40LDkuMSwyMC4zLDY3LjUsMjAuMyw2Ny41YzEwLTE0LjksMTA0LjMtMTM0LjksMTA0LjMtMTM0LjlDNDU4LjksNDI1LjEsNDA4LjYsNDQ5LjEsNDA4LjYsNDQ5LjF6Ii8+PHBhdGggZD0iTTU2MS44LDM4MC41Yy01LjcsMTMuNy0xMDYuMywxMjUuOC0xMDYuMywxMjUuOGMyNi41LTEwLjMsMTkxLTYxLjgsMTkxLTYxLjhDNjI0LjcsNDExLjQsNTYxLjgsMzgwLjUsNTYxLjgsMzgwLjVMNTYxLjgsMzgwLjV6Ii8+PHBhdGggZD0iTTM4OS4yLDQ3NC4zYy03LjksMTMuNy0xNDYuNSwxMjguMS0xNDYuNSwxMjguMWMyMS43LTE0LjksMTY1LjgtODAsMTY1LjgtODBDNDEwLjksNDg4LDM4OS4yLDQ3NC4zLDM4OS4yLDQ3NC4zTDM4OS4yLDQ3NC4zeiIvPjxwYXRoIGQ9Ik0zMTEuNCw0OTUuOGMyNy40LTE3LjMsNjAuNi00Ni43LDYwLjYtNDYuN2MtOS4xLTExLjQtMjguNi0xNy4yLTI4LjYtMTcuMkMzNDIuMyw0NDIuMywzMTEuNCw0OTUuOCwzMTEuNCw0OTUuOHoiLz48cGF0aCBkPSJNMzY2LjMsNDgyLjNjLTQ5LjQsMjEuMS05MS41LDYwLTkxLjUsNjBsLTQ1LjcsNjBMMzY2LjMsNDgyLjNMMzY2LjMsNDgyLjN6Ii8+PHBhdGggZD0iTTU2NC4xLDQ5NS44bC04OC4xLDI5LjljMCwwLDY4LjYsNDEuMiw5My44LDUxLjVDNTY5LjgsNTc3LjIsNTcyLjEsNTI2LjUsNTY0LjEsNDk1LjhMNTY0LjEsNDk1Ljh6Ii8+PHBhdGggZD0iTTU2MS44LDU5MC45TDQ2MCw1MzAuM2MwLDAsMy43LDg2LjktMTAuNywxMjEuMkM0NDkuMyw2NTEuNSw1NDcsNjA1LjgsNTYxLjgsNTkwLjlMNTYxLjgsNTkwLjl6Ii8+PHBhdGggZD0iTTQ0OS4zLDY3MWMwLDAsNTUuMyw0Mi4zLDEwNi44LDU0LjljMCwwLDIxLjItNTcuMiwxNC0xMTguOUM1NzAuMSw2MDYuOSw0NzQsNjY0LjEsN
"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": "sink"
}
},
"spec": {
"definition": {
"title": "Microsoft SQL Server Sink",
"description": "Send data to a Microsoft SQL Server Database. This Kamelet expects a JSON-formatted body. Use key:value pairs to map the JSON fields and parameters.",
"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": 1433
},
"username": {
"title": "Username",
"description": "The username to access a secured SQL Server Database.",
"type": "string",
"x-descriptors": [
"urn:camel:group:credentials"
]
},
"password": {
"title": "Password",
"description": "The password to access a secured SQL Server Database.",
"type": "string",
"format": "password",
"x-descriptors": [
"urn:camel:group:credentials"
]
},
"query": {
"title": "Query",
"description": "The query to execute against the SQL Server Database.",
"type": "string",
"example": "INSERT INTO accounts (username,city) VALUES (:#username,:#city)"
},
"databaseName": {
"title": "Database Name",
"description": "The name of the SQL Server Database.",
"type": "string"
},
"encrypt": {
"title": "Encrypt Connection",
"description": "Encrypt the connection to SQL Server.",
"type": "boolean",
"default": false
},
"trustServerCertificate": {
"title": "Trust Server Certificate",
"description": "Trust Server Certificate",
"type": "boolean",
"default": true
}
}
},
"types": {
"in": {
"mediaType": "application/json"
}
},
"dependencies": [
"camel:jackson",
"camel:kamelet",
"camel:sql",
"mvn:org.apache.commons:commons-dbcp2:2.14.0"
],
"template": {
"beans": [
{
"name": "local-sqlserver-sink",
"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:sqlserver://{{serverName}}:{{serverPort}};databaseName={{databaseName}};encrypt={{encrypt}};trustServerCertificate={{trustServerCertificate}};",
"driverClassName": "com.microsoft.sqlserver.jdbc.SQLServerDriver"
}
}
],
"from": {
"uri": "kamelet:source",
"steps": [
{
"unmarshal": {
"json": {
"library": "Jackson"
}
}
},
{
"to": {
"uri": "{{local-sqlserver-sink}}:{{query}}",
"parameters": {
"dataSource": "#bean:{{dsBean}}"
}
}
}
]
}
}
},
"propertiesSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"title": "Microsoft SQL Server Sink",
"description": "Send data to a Microsoft SQL Server Database. This Kamelet expects a JSON-formatted body. Use key:value pairs to map the JSON fields and parameters.",
"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": 1433
},
"username": {
"type": "string",
"title": "Username",
"description": "The username to access a secured SQL Server Database."
},
"password": {
"type": "string",
"title": "Password",
"description": "The password to access a secured SQL Server Database.",
"format": "password"
},
"query": {
"type": "string",
"title": "Query",
"description": "The query to execute against the SQL Server Database."
},
"databaseName": {
"type": "string",
"title": "Database Name",
"description": "The name of the SQL Server Database."
},
"encrypt": {
"type": "boolean",
"title": "Encrypt Connection",
"description": "Encrypt the connection to SQL Server.",
"default": false
},
"trustServerCertificate": {
"type": "boolean",
"title": "Trust Server Certificate",
"description": "Trust Server Certificate",
"default": true
}
}
}
}