Add kamelet definition: azure-storage-datalake-source

This commit is contained in:
gitea_admin 2026-10-12 02:32:40 +00:00
parent ffe74cd9ce
commit 7400ec4ed5

357
kamelet.json Normal file
View File

@ -0,0 +1,357 @@
{
"apiVersion": "camel.apache.org/v1",
"kind": "Kamelet",
"metadata": {
"name": "azure-storage-datalake-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,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": "source"
}
},
"spec": {
"definition": {
"title": "Azure Storage Blob Data Lake Source",
"description": "Consume files from 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"
]
},
"delay": {
"title": "Delay",
"description": "The number of milliseconds before the next poll of the selected blob.",
"type": "integer",
"default": 500
},
"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"
}
}
},
"dataTypes": {
"out": {
"default": "binary",
"headers": {
"CamelAzureStorageDataLakeFileName": {
"title": "Azure Storage Datalake File Name",
"description": "The name of the file retrieved",
"type": "string"
},
"CamelAzureStorageDataLakeRawHttpHeaders": {
"title": "Azure Storage Data Lake Raw Http Headers",
"description": "Non parsed http headers that can be used by the user.",
"type": "object"
},
"CamelAzureStorageDataLakeAccessTier": {
"title": "Azure Storage Data Lake File Access Tier",
"description": "Access tier of file.",
"type": "object"
},
"CamelAzureStorageDataLakeAccessTierChangeTime": {
"title": "Azure Storage Data Lake Access Tier Change Time.",
"description": "Datetime when the access tier of the blob last changed.",
"type": "object"
},
"CamelAzureStorageDataLakeArchiveStatus": {
"title": "Azure Storage Data Lake Archive Status",
"description": "Archive status of file",
"type": "object"
},
"CamelAzureStorageDataLakeCacheControl": {
"title": "Azure Storage Data Lake File Cache Control",
"description": "Cache control specified for the file.",
"type": "string"
},
"CamelAzureStorageDataLakeContentDisposition": {
"title": "Azure Storage Data Lake File Content Disposition",
"description": "Content disposition specified for the file.",
"type": "string"
},
"CamelAzureStorageDataLakeContentEncoding": {
"title": "Azure Storage Data Lake File Content Encoding",
"description": "Content encoding specified for the file.",
"type": "string"
},
"CamelAzureStorageDataLakeContentLanguage": {
"title": "Azure Storage Data Lake File Content Language",
"description": "Content language specified for the file.",
"type": "string"
},
"CamelAzureStorageDataLakeContentType": {
"title": "Azure Storage Data Lake File Content Type",
"description": "Content Type specified for the file.",
"type": "string"
},
"CamelAzureStorageDataLakeCopyCompletionTime": {
"title": "Azure Storage Data Lake File Copy Completion time",
"description": "Conclusion time of the last attempted Copy Blob operation where this file was the destination file.",
"type": "object"
},
"CamelAzureStorageDataLakeCopyId": {
"title": "Azure Storage Data Lake File Copy Id",
"description": "String identifier for this copy operation.",
"type": "string"
},
"amelAzureStorageDataLakeCopyProgress": {
"title": "Azure Storage Data Lake File Copy Progress",
"description": "Contains the number of bytes copied and the total bytes in the source in the last attempted Copy Blob operation where this file was the destination file.",
"type": "string"
},
"CamelAzureStorageDataLakeCopySource": {
"title": "Azure Storage Data Lake File Copy Source",
"description": "URL up to 2 KB in length that specifies the source file or file used in the last attempted Copy Blob operation where this file was the destination file.",
"type": "string"
},
"CamelAzureStorageDataLakeCopyStatus": {
"title": "Azure Storage Data Lake File Copy Status",
"description": "Status of the last copy operation performed on the file.",
"type": "object"
},
"CamelAzureStorageDataLakeCopyStatusDescription": {
"title": "Azure Storage Data Lake File Copy Status Description",
"description": "The description of the copy’s status.",
"type": "string"
},
"CamelAzureStorageDataLakeCreationTime": {
"title": "Azure Storage Data Lake File Creation Time.",
"description": "Creation time of the file.",
"type": "object"
},
"CamelAzureStorageDataLakeEncryptionKeySha256": {
"title": "Azure Storage Data Lake File SHA-256 Hash",
"description": "The SHA-256 hash of the encryption key used to encrypt the file.",
"type": "string"
},
"CamelAzureStorageDataLakeETag": {
"title": "Azure Storage Data Lake File E Tag",
"description": "The E Tag of the file.",
"type": "string"
},
"CamelAzureStorageDataLakeFileSize": {
"title": "Azure Storage Data Lake File Size",
"description": "The File Size",
"type": "long"
},
"CamelAzureStorageDataLakeLastModified": {
"title": "Azure Storage Data Lake File Last Modified Date",
"description": "Datetime when the file was last modified.",
"type": "object"
},
"CamelAzureStorageDataLakeLeaseDuration": {
"title": "Azure Storage Data Lake File Lease Duration",
"description": "Type of lease on the file.",
"type": "object"
},
"CamelAzureStorageDataLakeLeaseState": {
"title": "Azure Storage Data Lake File Lease State",
"description": "State of the lease on the file.",
"type": "object"
},
"CamelAzureStorageDataLakeLeaseStatus": {
"title": "Azure Storage Data Lake File Lease Status",
"description": "Status of the lease on the file.",
"type": "object"
},
"CamelAzureStorageDataLakeServerEncrypted": {
"title": "Azure Storage Data Lake File Content Encrypted",
"description": "Flag indicating if the file’s content is encrypted on the server.",
"type": "boolean"
},
"CamelAzureStorageDataLakeDownloadLink": {
"title": "Azure Storage Data Lake File Download Link",
"description": "The link that can be used to download the file from data lake.",
"type": "string"
}
},
"types": {
"binary": {
"format": "application-octet-stream",
"description": "Default binary representation of the object retrieved from the Azure Data Lake.",
"mediaType": "application/octet-stream"
},
"cloudevents": {
"format": "azure-storage-datalake:application-cloudevents",
"description": "Data type transformer converts Azure Data Lake consumer response to CloudEvent v1_0 data format. The data type sets Camel specific CloudEvent headers with values extracted from Azure Data Lake consumer response.",
"headers": {
"CamelCloudEventID": {
"title": "CloudEvent ID",
"description": "The Camel exchange id set as event id",
"type": "string"
},
"CamelCloudEventType": {
"title": "CloudEvent Type",
"description": "The event type",
"default": "org.apache.camel.event.azure.storage.datalake.consume",
"type": "string"
},
"CamelCloudEventSource": {
"title": "CloudEvent Source",
"description": "The event source. By default, the Archive Status of the file with prefix \"azure.storage.datalake.\".",
"type": "string"
},
"CamelCloudEventSubject": {
"title": "CloudEvent Subject",
"description": "The event subject. Usually the Azure Storage Datalake E Tag of file.",
"type": "string"
},
"CamelCloudEventTime": {
"title": "CloudEvent Time",
"description": "The exchange creation timestamp as event time.",
"type": "string"
}
}
}
}
}
},
"dependencies": [
"camel:azure-storage-datalake",
"camel:kamelet",
"camel:core",
"camel:timer"
],
"template": {
"from": {
"uri": "azure-storage-datalake:{{accountName}}/{{fileSystemName}}",
"parameters": {
"clientId": "{{clientId}}",
"clientSecret": "{{clientSecret}}",
"tenantId": "{{tenantId}}",
"delay": "{{delay}}",
"credentialType": "{{credentialType}}"
},
"steps": [
{
"to": "kamelet:sink"
}
]
}
}
},
"propertiesSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"title": "Azure Storage Blob Data Lake Source",
"description": "Consume files from 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."
},
"delay": {
"type": "integer",
"title": "Delay",
"description": "The number of milliseconds before the next poll of the selected blob.",
"default": 500
},
"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"
}
}
}
}