From d44393215d2d59df73408898a3149ae88ff8fbe2 Mon Sep 17 00:00:00 2001 From: gitea_admin Date: Wed, 11 Mar 2026 14:24:19 +0000 Subject: [PATCH] Add kamelet definition: azure-storage-files-source --- kamelet.yaml | 172 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 172 insertions(+) create mode 100644 kamelet.yaml diff --git a/kamelet.yaml b/kamelet.yaml new file mode 100644 index 0000000..4255972 --- /dev/null +++ b/kamelet.yaml @@ -0,0 +1,172 @@ + +apiVersion: camel.apache.org/v1 +kind: Kamelet +metadata: + name: azure-storage-files-source + annotations: + camel.apache.org/kamelet.support.level: "Stable" + camel.apache.org/catalog.version: "4.10.2" + camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIwIDAgOTEgODEiIGZpbGw9IiNmZmYiIGZpbGwtcnVsZT0iZXZlbm9kZCIgc3Ryb2tlPSIjMDAwIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjx1c2UgeGxpbms6aHJlZj0iI0EiIHg9Ii41IiB5PSIuNSIvPjxzeW1ib2wgaWQ9IkEiIG92ZXJmbG93PSJ2aXNpYmxlIj48cGF0aCBkPSJNNjcuNTU4IDBIMjIuNDQxTDAgNDBsMjIuNDQxIDQwaDQ1LjExN0w5MCA0MCA2Ny41NTggMHptLjIzNCA1Ny45NjRjMCAzLjM1My0yLjgwNSA2LjIyNy02LjA3OCA2LjIyN0gyOC41MmMtMy4yNzMgMC02LjA3OC0yLjg3NC02LjA3OC02LjIyN1YyMi4yNzZjMC0zLjM1MyAyLjgwNS02LjIyOCA2LjA3OC02LjIyOGgyOS45MjJsOS4zNTEgOS41ODF2MzIuMzM1ek00MS42MSA0Ni40NjdjMC0uNDc5LS4yMzQtLjcxOC0uMjM0LS45NThzLS4yMzQtLjQ3OS0uNDY3LS43MTgtLjIzNC0uMjQtLjQ2OC0uMjRoLS43MDFjLS40NjggMC0uNzAyIDAtLjkzNS4yNHMtLjQ2OC40NzktLjcwMS45NTgtLjIzNC45NTgtLjIzNCAxLjQzN3Y0LjU1MWMwIC43MTkuMjM0IDEuMTk3LjQ2OCAxLjQzNy4yMzQuNDc5LjQ2OC43MTkuNzAxLjcxOS4yMzQuMjQuNDY4LjI0LjkzNS4yNC4yMzQgMCAuNDY4IDAgLjcwMS0uMjRhLjUxLjUxIDAgMCAwIC40NjgtLjQ3OWMuMjM0LS4yNC4yMzQtLjQ3OS40NjctLjcxOCAwLS4yNC4yMzQtLjQ3OS4yMzQtLjk1OCAwLS4yMzkgMC0uNzE5LjIzMy0xLjE5OHYtMy4xMTRjLS40NjctLjI0LS40NjctLjQ3OS0uNDY3LS45NTh6bTEwLjUyLTE4LjY4M2MwLS40NzktLjIzNC0uNzE4LS4yMzQtLjk1OHMtLjIzNC0uNDc5LS40NjgtLjcxOS0uMjM0LS4yNC0uNDY4LS4yNGgtLjcwMWMtLjQ2NyAwLS43MDEgMC0uOTM1LjI0cy0uNDY4LjQ3OS0uNzAyLjk1OC0uMjMzLjk1OC0uMjMzIDEuNDM3djQuNTUxYzAgLjcxOS4yMzMgMS4xOTguNDY3IDEuNDM3LjIzNC40NzkuNDY4LjcxOS43MDEuNzE5LjIzNC4yNC40NjcuMjQuOTM1LjI0LjIzNCAwIC40NjcgMCAuNzAxLS4yNGEuNTEuNTEgMCAwIDAgLjQ2OC0uNDc5Yy4yMzQtLjI0LjIzNC0uNDc5LjQ2OC0uNzE5IDAtLjIzOS4yMzQtLjQ3OS4yMzQtLjk1OCAwLS4yMzkgMC0uNzE4LjIzNC0xLjE5OHYtMy4xMTRjLS4yMzQgMC0uMjM0LS40NzktLjQ2Ny0uOTU4em00LjY3NS04LjM4M0gyOC41MTljLTEuNjM2IDAtMi44MDUgMS4xOTgtMi44MDUgMi44NzR2MzUuNjg5YzAgMS42NzcgMS4xNjkgMi44NzQgMi44MDUgMi44NzRoMzMuMTk1YTIuODggMi44OCAwIDAgMCAyLjgwNS0yLjg3NFYyNy4zMDVoLTcuNDh2LTcuOTA0ek0zNiAyNi41ODd2LS40NzlsLjIzNC0uMjQgMi44MDUtMS45MTZoMi41NzF2MTEuNDk3aDIuMzM4bC4yMzMuMjRjLjIzNC4yMzkgMCAuMjM5IDAgLjIzOXYxLjE5N3MwIC4yNC0uMjMzLjI0aC03LjcxNGwtLjIzNC0uMjR2LTEuNDM3czAtLjI0LjIzNC0uMjRoMi44MDV2LTguODYybC0yLjEwNCAxLjE5OGMtLjIzNCAwLS4yMzQuMjM5LS40NjcuMjM5aC0uMjM0czAtLjIzOS0uMjM0LS4yMzl2LTEuMTk4em04LjE4MiAyNS42MjljLS4yMzMuOTU4LS40NjcgMS42NzctLjkzNSAyLjE1Ni0uNDY4LjcxOC0uOTM1IDEuMTk4LTEuNDAzIDEuNDM3LS43MDEuMjM5LTEuNDAzLjQ3OS0yLjMzOC40NzlzLTEuNjM2LS4yNC0yLjMzOC0uNDc5YTIuMTMgMi4xMyAwIDAgMS0xLjQwMy0xLjQzN2MtLjIzNC0uNzE4LS43MDEtMS40MzctLjcwMS0yLjE1Ni0uMjM0LS45NTgtLjIzNC0xLjkxNi0uMjM0LTIuODc0IDAtMS4xOTggMC0yLjE1Ni4yMzQtMi44NzQuMjM0LS45NTguNDY3LTEuNjc3LjkzNS0yLjE1NnMuOTM1LTEuMTk4IDEuNDAzLTEuNDM3Yy43MDEtLjI0IDEuNDAzLS40NzkgMi4zMzgtLjQ3OXMxLjYzNi4yMzkgMi4zMzcuNDc5YTIuMTMgMi4xMyAwIDAgMSAxLjQwMyAxLjQzN2MuMjM0LjcxOS43MDEgMS40MzcuNzAxIDIuMTU2LjIzNC45NTguMjM0IDEuOTE2LjIzNCAyLjg3NCAwIDEuMTk4IDAgMi4xNTYtLjIzNCAyLjg3NHptMTAuNTIgMy4zNTN2LjI0czAgLjIzOS0uMjM0LjIzOWgtNy43MTRsLS4yMzQtLjIzOXYtMS40MzdzMC0uMjM5LjIzNC0uMjM5aDIuODA1di04Ljg2MmwtMi4xMDQgMS4xOThjLS4yMzQgMC0uMjM0LjIzOS0uNDY4LjIzOWgtLjIzNHMwLS4yMzktLjIzNC0uMjM5VjQ0Ljc5bC4yMzQtLjI0IDIuODA1LTEuOTE2aDIuNTcydjExLjQ5N2gyLjMzOGwuMjM0LjIzOXYxLjE5OHptLjIzNC0yMi4wMzZjLS4yMzQuOTU4LS40NjggMS42NzctLjkzNSAyLjE1Ni0uNDY4LjcxOC0uOTM1IDEuMTk4LTEuNDAzIDEuNDM3LS43MDEuMjQtMS40MDMuNDc5LTIuMzM4LjQ3OXMtMS42MzYtLjI0LTIuMzM4LS40NzlhMi4xMyAyLjEzIDAgMCAxLTEuNDAzLTEuNDM3Yy0uMjM0LS40NzktLjcwMS0xLjQzNy0uNzAxLTIuMTU2cy0uMjM0LTEuOTE2LS4yMzQtMi44NzRjMC0xLjE5OCAwLTIuMTU2LjIzNC0yLjg3NC4yMzQtLjk1OC40NjgtMS42NzcuOTM1LTIuMTU2LjQ2OC0uNzE4LjkzNS0xLjE5OCAxLjQwMy0xLjQzNy43MDEtLjI0IDEuNDAzLS40NzkgMi4zMzgtLjQ3OXMxLjYzNi4yNCAyLjMzOC40NzlhMi4xMyAyLjEzIDAgMCAxIDEuNDAzIDEuNDM3Yy4yMzQuNzE4LjcwMSAxLjQzNy43MDEgMi4xNTYuMjM0Ljk1OC4yMzQgMS45MTYuMjM0IDIuODc0IDAgMS4xOTgtLjIzNCAyLjE1Ni0uMjM0IDIuODc0eiIgZmlsbD0iIzAwNzhkNyIgc3Ryb2tlPSJub25lIi8+PC9zeW1ib2w+PC9zdmc+" + camel.apache.org/provider: "Apache Software Foundation" + camel.apache.org/kamelet.group: "Azure Storage Blob" + camel.apache.org/kamelet.namespace: "Azure" + labels: + camel.apache.org/kamelet.type: "source" +spec: + definition: + title: "Azure Storage File Source" + description: |- + Consume files from Azure Storage File Shares. + required: + - accountName + - shareName + type: object + properties: + accountName: + title: Account Name + description: The Azure Storage File Share account name. + type: string + x-descriptors: + - urn:camel:group:credentials + shareName: + title: Share Name + description: The Azure Storage File Share share name. + type: string + sharedKey: + title: Shared Access Key + description: The Azure Storage Blob access key. + type: string + format: password + 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 + deleteAfterRead: + title: Auto-delete Blob + description: Specifies to delete blobs after consuming them + type: boolean + default: false + credentialType: + title: Credential Type + description: Determines the credential strategy to adopt. + type: string + enum: ["SHARED_ACCOUNT_KEY", "AZURE_IDENTITY", "SHARED_KEY_CREDENTIAL", "AZURE_SAS"] + default: "SHARED_ACCOUNT_KEY" + directoryName: + title: Directory Name + description: The directory from where the consumer will start reading files. + type: string + default: "." + recursive: + title: Recursive Mode + description: If a directory, the consumer will look for files in all the sub-directories as well. + type: boolean + default: false + dataTypes: + out: + default: binary + headers: + CamelFileLength: + title: Azure Storage Files File Length + description: A long value containing the file size + type: long + CamelFileLastModified: + title: Azure Storage Files File Last Modified Date + description: A Long value containing the last modified timestamp of the file. + type: long + CamelFileNameOnly: + title: Azure Storage Files File Name Only + description: Only the file name (the name with no leading paths). + type: string + CamelFileName: + title: Azure Storage Files File Name + description: |- + Name of the consumed file as a relative file path with offset from the starting directory configured on the endpoint. + type: string + CamelFileNameConsumed: + title: Azure Storage Files Consumed File Name + description: The name of the file that has been consumed. + type: string + CamelFileAbsolute: + title: Azure Storage Files Consumed Absolute Format + description: |- + A boolean option specifying whether the consumed file denotes an absolute path or not. + Should normally be false for relative paths. Absolute paths should normally not be used but we added to the move option to allow moving files to absolute paths. + But can be used elsewhere as well. + type: boolean + CamelFileAbsolutePath: + title: Azure Storage Files Consumed Absolute Path + description: The absolute path to the file. For relative files this path holds the relative path instead. + type: string + CamelFileExtendedAttributes: + title: Azure Storage Files Extended Attributes + description: Additional Metadata of the file of type Map + type: object + CamelFileContentType: + title: Content Type + description: The content type of the retrieved object. + default: application/octet-stream + type: string + CamelFilePath: + title: Azure Storage Files File Path + description: The file path. For relative files this is the starting directory the relative filename. For absolute files this is the absolute path. + type: string + CamelFileRelativePath: + title: Azure Storage Files File Relative Path + description: The relative path. + type: string + CamelFileParent: + title: Azure Storage Files File Relative Path + description: The parent path. + type: string + types: + binary: + format: "application-octet-stream" + description: Default binary representation of the File retrieved from Azure Storage Files. + mediaType: application/octet-stream + cloudevents: + format: "azure-files:application-cloudevents" + description: |- + Data type transformer converts Azure Storage Files poll response to CloudEvent v1_0 data format. The data type sets + Camel specific CloudEvent headers with values extracted from Azure Storage Files poll 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.files.poll" + type: string + CamelCloudEventSource: + title: CloudEvent Source + description: The event source. By default, the Host name of the share with prefix "azure.storage.files.". + type: string + CamelCloudEventSubject: + title: CloudEvent Subject + description: The event subject. Usually the Azure Storage Files file name. + type: string + CamelCloudEventTime: + title: CloudEvent Time + description: The exchange creation timestamp as event time. + type: string + dependencies: + - "camel:azure-files" + - "camel:kamelet" + - "camel:core" + - "camel:timer" + template: + from: + uri: "azure-files:{{accountName}}/{{shareName}}/{{directoryName}}" + parameters: + sharedKey: "{{?sharedKey}}" + credentialType: "{{credentialType}}" + delay: "{{delay}}" + delete: "{{deleteAfterRead}}" + recursive: "{{recursive}}" + steps: + - to: "kamelet:sink"