azure-storage-datalake-sink/kamelet.json

209 lines
8.3 KiB
JSON

{
"apiVersion": "camel.apache.org/v1",
"kind": "Kamelet",
"metadata": {
"name": "azure-storage-datalake-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,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAyNi4wLjMsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4wIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiDQoJIHZpZXdCb3g9IjAgMCAxMTU4LjIgODYwLjQiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDExNTguMiA4NjAuNDsiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPHN0eWxlIHR5cGU9InRleHQvY3NzIj4NCgkuc3Qwe2ZpbGw6IzA5NUNBMjt9DQoJLnN0MXtmaWxsOiNGRkZGRkY7fQ0KCS5zdDJ7ZmlsbDojMzJCRUVEO30NCgkuc3Qze2ZpbGw6IzFCMUIyMDt9DQo8L3N0eWxlPg0KPHBhdGggY2xhc3M9InN0MCIgZD0iTTkyNy43LDE5Ny44SDYwOC44Yy0zLjQsMC4xLTYuOC0wLjktOS41LTNsLTkxLjItNjAuN2MtMi45LTEuNy02LjEtMi42LTkuNS0yLjZIMjMwLjVjLTkuMywwLTE3LDcuNC0xNy4yLDE2LjgNCgl2NTYzLjdjMC4yLDkuMyw3LjksMTYuOCwxNy4yLDE2LjhoNjk3LjFjOS4zLDAsMTctNy41LDE3LjItMTYuOHYtNDk3Qzk0NC45LDIwNS42LDkzNy4yLDE5Ny44LDkyNy43LDE5Ny44TDkyNy43LDE5Ny44eiIvPg0KPHBhdGggY2xhc3M9InN0MSIgZD0iTTQzOS4zLDE2NC4zSDI4Ni45Yy0zLjgsMC02LjksMy4xLTYuOSw2Ljl2MTkuNGMwLDMuOCwzLjEsNi45LDYuOSw2LjloMTUyLjNjMy44LDAsNi45LTMuMSw2LjktNi45DQoJYzAsMCwwLDAsMCwwdi0xOS40QzQ0Ni4xLDE2Ny4zLDQ0My4xLDE2NC4zLDQzOS4zLDE2NC4zeiIvPg0KPHBhdGggY2xhc3M9InN0MiIgZD0iTTMwOC40LDE2NC4zaC0yMy43Yy0yLjYsMC00LjcsMi4xLTQuNyw0Ljd2MjMuN2MwLDIuNiwyLjEsNC43LDQuNyw0LjdoMjMuN2MyLjYsMCw0LjctMi4xLDQuNy00LjdWMTY5DQoJQzMxMy4yLDE2Ni40LDMxMS4xLDE2NC4zLDMwOC40LDE2NC4zeiIvPg0KPHBhdGggY2xhc3M9InN0MyIgZD0iTTkyNy43LDE5N0g1NzkuMWMtNC42LTAuMS05LDEuOC0xMiw1LjJMNTA5LDI1OC4xYy0zLjMsMy03LjYsNC43LTEyLDQuN0gyMzAuNWMtOS41LDAtMTcuMiw3LjctMTcuMiwxNy4ybDAsMA0KCXY0MzAuM2MwLjIsOS4zLDcuOSwxNi44LDE3LjIsMTYuOGg2OTcuMWM5LjMsMCwxNy03LjQsMTcuMi0xNi44VjIxNWMwLjEtMi4zLTAuMy00LjctMS4xLTYuOUM5NDEuMywyMDEuNCw5MzQuOSwxOTcsOTI3LjcsMTk3eiIvPg0KPHBhdGggY2xhc3M9InN0MSIgZD0iTTYyOS45LDI4OC4yYy0xLjEtMC4zLTIuMy0wLjMtMy41LDBjMCwwLTMuOSwwLTUuNiwzbC0xMzYsMTk3LjVjLTEuMiwyLjEtMS4yLDQuOCwwLDYuOWMxLjMsMi40LDMuNyw0LDYuNSw0LjMNCgloODAuNWwtMzUuNiwxMTkuNmMtMC40LDAuNy0wLjYsMS41LTAuNiwyLjJjMCwwLjgsMC4xLDEuNiwwLjQsMi4zYzAuMywwLjcsMC43LDEuNCwxLjMsMS45YzAuNiwwLjYsMS4zLDEsMiwxLjNjMSwwLjQsMiwwLjQsMywwDQoJYzIuNiwwLDMuOSwwLDUuNi0zTDY4OCw0MjMuN3YtNC4zYy0wLjItMy45LTMuNC02LjktNy4zLTYuOWgtODYuMWwzNC45LTExNy41QzYzMS4yLDI5My4yLDYzMS4zLDI5MC4zLDYyOS45LDI4OC4yTDYyOS45LDI4OC4yeiIvPg0KPC9zdmc+DQo=",
"camel.apache.org/provider": "Apache Software Foundation",
"camel.apache.org/kamelet.group": "Azure Storage Blob Data Lake",
"camel.apache.org/kamelet.namespace": "Azure"
},
"labels": {
"camel.apache.org/kamelet.type": "sink"
}
},
"spec": {
"definition": {
"title": "Azure Storage Blob Data Lake Sink",
"description": "Send data to Azure Storage Blob Data Lake.",
"required": [
"accountName",
"clientId",
"clientSecret",
"tenantId",
"fileSystemName"
],
"type": "object",
"properties": {
"accountName": {
"title": "Account Name",
"description": "The Azure Storage Blob Data lake account name.",
"type": "string",
"x-descriptors": [
"urn:camel:group:credentials"
]
},
"clientId": {
"title": "Client Id",
"description": "The Azure Storage Blob Data lake client Id.",
"type": "string",
"format": "password",
"x-descriptors": [
"urn:camel:group:credentials"
]
},
"clientSecret": {
"title": "Client Secret",
"description": "The Azure Storage Blob Data lake client secret.",
"type": "string",
"format": "password",
"x-descriptors": [
"urn:camel:group:credentials"
]
},
"tenantId": {
"title": "Tenant Id",
"description": "The Azure Storage Blob Data lake tenant id.",
"type": "string",
"format": "password",
"x-descriptors": [
"urn:camel:group:credentials"
]
},
"fileSystemName": {
"title": "File System Name",
"description": "The Azure Storage Blob Data lake File system name.",
"type": "string",
"x-descriptors": [
"urn:camel:group:credentials"
]
},
"credentialType": {
"title": "Credential Type",
"description": "Determines the credential strategy to adopt.",
"type": "string",
"enum": [
"CLIENT_SECRET",
"SHARED_KEY_CREDENTIAL",
"AZURE_IDENTITY",
"AZURE_SAS",
"SERVICE_CLIENT_INSTANCE"
],
"default": "CLIENT_SECRET"
}
}
},
"dependencies": [
"camel:azure-storage-datalake",
"camel:kamelet",
"camel:core",
"camel:timer"
],
"template": {
"from": {
"uri": "kamelet:source",
"steps": [
{
"choice": {
"when": [
{
"simple": "${header[file]}",
"steps": [
{
"setHeader": {
"name": "CamelAzureStorageDataLakeFileName",
"simple": "${header[file]}"
}
}
]
},
{
"simple": "${header[ce-file]}",
"steps": [
{
"setHeader": {
"name": "CamelAzureStorageDataLakeFileName",
"simple": "${header[ce-file]}"
}
}
]
}
],
"otherwise": {
"steps": [
{
"setHeader": {
"name": "CamelAzureStorageDataLakeFileName",
"simple": "${exchangeId}"
}
}
]
}
}
},
{
"to": {
"uri": "azure-storage-datalake:{{accountName}}/{{fileSystemName}}",
"parameters": {
"clientId": "{{clientId}}",
"clientSecret": "{{clientSecret}}",
"tenantId": "{{tenantId}}",
"operation": "upload",
"credentialType": "{{credentialType}}"
}
}
}
]
}
}
},
"propertiesSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"title": "Azure Storage Blob Data Lake Sink",
"description": "Send data to Azure Storage Blob Data Lake.",
"required": [
"accountName",
"clientId",
"clientSecret",
"tenantId",
"fileSystemName"
],
"properties": {
"accountName": {
"type": "string",
"title": "Account Name",
"description": "The Azure Storage Blob Data lake account name."
},
"clientId": {
"type": "string",
"title": "Client Id",
"description": "The Azure Storage Blob Data lake client Id.",
"format": "password"
},
"clientSecret": {
"type": "string",
"title": "Client Secret",
"description": "The Azure Storage Blob Data lake client secret.",
"format": "password"
},
"tenantId": {
"type": "string",
"title": "Tenant Id",
"description": "The Azure Storage Blob Data lake tenant id.",
"format": "password"
},
"fileSystemName": {
"type": "string",
"title": "File System Name",
"description": "The Azure Storage Blob Data lake File system name."
},
"credentialType": {
"type": "string",
"title": "Credential Type",
"description": "Determines the credential strategy to adopt.",
"enum": [
"CLIENT_SECRET",
"SHARED_KEY_CREDENTIAL",
"AZURE_IDENTITY",
"AZURE_SAS",
"SERVICE_CLIENT_INSTANCE"
],
"default": "CLIENT_SECRET"
}
}
}
}