209 lines
8.3 KiB
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"
|
|
}
|
|
}
|
|
}
|
|
} |