Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -6,17 +6,20 @@ In this Kamelet, you can use these Azure authentication methods:

- Azure Identity mechanism: `AZURE_IDENTITY`
- Plain Shared Account Key: `SHARED_ACCOUNT_KEY`
- Client Secret Credentials: `CLIENT_SECRET`

The order of evaluation for `AZURE_IDENTITY` is the following:

- Enviroment
- Workload Identity
- Managed Identity
- Azure Developer CLI
- Workload Identity
- Managed Identity
- Azure Developer CLI
- IntelliJ
- Azure CLI
- Azure Powershell

For `CLIENT_SECRET` you'll need to provide `clientId`, `clientSecret`, and `tenantId` properties.

For more information, see the https://learn.microsoft.com/en-us/java/api/overview/azure/identity-readme[Azure Identity documentation]

=== Optional Headers
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,22 @@

=== Authentication methods

In this Kamelet you have to use the shared account key of your Azure Storage Blob Container.
In this Kamelet, you can use these Azure authentication methods:

- Azure Identity mechanism: `AZURE_IDENTITY`
- Plain Shared Account Key: `SHARED_ACCOUNT_KEY`
- Client Secret Credentials: `CLIENT_SECRET`

The order of evaluation for `AZURE_IDENTITY` is the following:

- Enviroment
- Workload Identity
- Managed Identity
- Azure Developer CLI
- IntelliJ
- Azure CLI
- Azure Powershell

For `CLIENT_SECRET` you'll need to provide `clientId`, `clientSecret`, and `tenantId` properties.

For more information, see the https://learn.microsoft.com/en-us/java/api/overview/azure/identity-readme[Azure Identity documentation]
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,14 @@
For this Kamelet the Connection string is the basic method for authenticating to the Azure Servicebus Queue.

To use this Kamelet you'll need to set up Events on your Azure Storage Blob account and select as an endpoint an Azure Servicebus Queue.

For the Azure Storage Blob access, you can use these Azure authentication methods:

- Azure Identity mechanism: `AZURE_IDENTITY`
- Plain Shared Account Key: `SHARED_ACCOUNT_KEY`
- Shared Key Credential: `SHARED_KEY_CREDENTIAL`
- Client Secret Credentials: `CLIENT_SECRET`

For `CLIENT_SECRET` you'll need to provide `clientId`, `clientSecret`, and `tenantId` properties.

For more information, see the https://learn.microsoft.com/en-us/java/api/overview/azure/identity-readme[Azure Identity documentation]
Original file line number Diff line number Diff line change
Expand Up @@ -6,17 +6,20 @@ In this Kamelet, you can use these Azure authentication methods:

- Azure Identity mechanism: `AZURE_IDENTITY`
- Plain Shared Account Key: `SHARED_ACCOUNT_KEY`
- Client Secret Credentials: `CLIENT_SECRET`

The order of evaluation for `AZURE_IDENTITY` is the following:

- Enviroment
- Workload Identity
- Managed Identity
- Azure Developer CLI
- Workload Identity
- Managed Identity
- Azure Developer CLI
- IntelliJ
- Azure CLI
- Azure Powershell

For `CLIENT_SECRET` you'll need to provide `clientId`, `clientSecret`, and `tenantId` properties.

For more information, see the https://learn.microsoft.com/en-us/java/api/overview/azure/identity-readme[Azure Identity documentation]

=== Optional Headers
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,15 +6,18 @@ In this Kamelet, you can use these Azure authentication methods:

- Azure Identity mechanism: `AZURE_IDENTITY`
- Plain Shared Account Key: `SHARED_ACCOUNT_KEY`
- Client Secret Credentials: `CLIENT_SECRET`

The order of evaluation for `AZURE_IDENTITY` is the following:

- Enviroment
- Workload Identity
- Managed Identity
- Azure Developer CLI
- Workload Identity
- Managed Identity
- Azure Developer CLI
- IntelliJ
- Azure CLI
- Azure Powershell

For `CLIENT_SECRET` you'll need to provide `clientId`, `clientSecret`, and `tenantId` properties.

For more information, see the https://learn.microsoft.com/en-us/java/api/overview/azure/identity-readme[Azure Identity documentation]
26 changes: 25 additions & 1 deletion kamelets/azure-storage-blob-append-sink.kamelet.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -54,11 +54,32 @@ spec:
format: password
x-descriptors:
- urn:camel:group:credentials
clientId:
title: Client Id
description: The Azure Storage Blob client Id.
type: string
format: password
x-descriptors:
- urn:camel:group:credentials
clientSecret:
title: Client Secret
description: The Azure Storage Blob client secret.
type: string
format: password
x-descriptors:
- urn:camel:group:credentials
tenantId:
title: Tenant Id
description: The Azure Storage Blob tenant id.
type: string
format: password
x-descriptors:
- urn:camel:group:credentials
credentialType:
title: Credential Type
description: Determines the credential strategy to adopt.
type: string
enum: ["SHARED_ACCOUNT_KEY", "AZURE_IDENTITY"]
enum: ["SHARED_ACCOUNT_KEY", "AZURE_IDENTITY", "CLIENT_SECRET"]
default: "SHARED_ACCOUNT_KEY"
dependencies:
- "camel:core"
Expand Down Expand Up @@ -89,6 +110,9 @@ spec:
uri: "azure-storage-blob://{{accountName}}/{{containerName}}"
parameters:
accessKey: "{{?accessKey}}"
azureClientId: "{{?clientId}}"
azureClientSecret: "{{?clientSecret}}"
azureTenantId: "{{?tenantId}}"
operation: "commitAppendBlob"
blobType: "appendBlob"
credentialType: "{{credentialType}}"
35 changes: 32 additions & 3 deletions kamelets/azure-storage-blob-changefeed-source.kamelet.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,6 @@ spec:
required:
- period
- accountName
- accessKey
type: object
properties:
period:
Expand All @@ -56,6 +55,33 @@ spec:
format: password
x-descriptors:
- urn:camel:group:credentials
clientId:
title: Client Id
description: The Azure Storage Blob client Id.
type: string
format: password
x-descriptors:
- urn:camel:group:credentials
clientSecret:
title: Client Secret
description: The Azure Storage Blob client secret.
type: string
format: password
x-descriptors:
- urn:camel:group:credentials
tenantId:
title: Tenant Id
description: The Azure Storage Blob tenant id.
type: string
format: password
x-descriptors:
- urn:camel:group:credentials
credentialType:
title: Credential Type
description: Determines the credential strategy to adopt.
type: string
enum: ["SHARED_ACCOUNT_KEY", "AZURE_IDENTITY", "CLIENT_SECRET"]
default: "SHARED_ACCOUNT_KEY"
dependencies:
- "camel:azure-storage-blob"
- "camel:kamelet"
Expand All @@ -73,8 +99,11 @@ spec:
uri: "azure-storage-blob:{{accountName}}"
parameters:
operation: "getChangeFeed"
accessKey: "{{accessKey}}"
credentialType: "SHARED_ACCOUNT_KEY"
accessKey: "{{?accessKey}}"
azureClientId: "{{?clientId}}"
azureClientSecret: "{{?clientSecret}}"
azureTenantId: "{{?tenantId}}"
credentialType: "{{credentialType}}"
- split:
expression:
simple: "${body}"
Expand Down
26 changes: 23 additions & 3 deletions kamelets/azure-storage-blob-event-based-source.kamelet.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,6 @@ spec:
- connectionString
- accountName
- containerName
- accessKey
type: object
properties:
topicOrQueueName:
Expand Down Expand Up @@ -78,12 +77,33 @@ spec:
format: password
x-descriptors:
- urn:camel:group:credentials
clientId:
title: Client Id
description: The Azure Storage Blob client Id.
type: string
format: password
x-descriptors:
- urn:camel:group:credentials
clientSecret:
title: Client Secret
description: The Azure Storage Blob client secret.
type: string
format: password
x-descriptors:
- urn:camel:group:credentials
tenantId:
title: Tenant Id
description: The Azure Storage Blob tenant id.
type: string
format: password
x-descriptors:
- urn:camel:group:credentials
credentialType:
title: Credential Type
description: Determines the credential strategy to adopt.
type: string
default: SHARED_ACCOUNT_KEY
enum: ["SHARED_ACCOUNT_KEY", "SHARED_KEY_CREDENTIAL", "AZURE_IDENTITY"]
enum: ["SHARED_ACCOUNT_KEY", "SHARED_KEY_CREDENTIAL", "AZURE_IDENTITY", "CLIENT_SECRET"]
getBlob:
title: Get Object in Container
description: >-
Expand Down Expand Up @@ -135,6 +155,6 @@ spec:
- simple: '${exchangeProperty.azure-storage-blob-event-type} == "Microsoft.Storage.BlobCreated" && ${exchangeProperty.azure-storage-blob-subject} contains "{{containerName}}"'
steps:
- toD: >-
azure-storage-blob:{{accountName}}/{{containerName}}?accessKey=RAW({{accessKey}})&operation=getBlob&blobName=${exchangeProperty.azure-storage-blob-blob-name}&credentialType={{credentialType}}
azure-storage-blob:{{accountName}}/{{containerName}}?accessKey=RAW({{?accessKey}})&azureClientId=RAW({{?clientId}})&azureClientSecret=RAW({{?clientSecret}})&azureTenantId=RAW({{?tenantId}})&operation=getBlob&blobName=${exchangeProperty.azure-storage-blob-blob-name}&credentialType={{credentialType}}
- to: 'kamelet:sink'

26 changes: 25 additions & 1 deletion kamelets/azure-storage-blob-sink.kamelet.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -54,11 +54,32 @@ spec:
format: password
x-descriptors:
- urn:camel:group:credentials
clientId:
title: Client Id
description: The Azure Storage Blob client Id.
type: string
format: password
x-descriptors:
- urn:camel:group:credentials
clientSecret:
title: Client Secret
description: The Azure Storage Blob client secret.
type: string
format: password
x-descriptors:
- urn:camel:group:credentials
tenantId:
title: Tenant Id
description: The Azure Storage Blob tenant id.
type: string
format: password
x-descriptors:
- urn:camel:group:credentials
credentialType:
title: Credential Type
description: Determines the credential strategy to adopt.
type: string
enum: ["SHARED_ACCOUNT_KEY", "AZURE_IDENTITY"]
enum: ["SHARED_ACCOUNT_KEY", "AZURE_IDENTITY", "CLIENT_SECRET"]
default: "SHARED_ACCOUNT_KEY"
dependencies:
- "camel:core"
Expand Down Expand Up @@ -89,5 +110,8 @@ spec:
uri: "azure-storage-blob://{{accountName}}/{{containerName}}"
parameters:
accessKey: "{{?accessKey}}"
azureClientId: "{{?clientId}}"
azureClientSecret: "{{?clientSecret}}"
azureTenantId: "{{?tenantId}}"
operation: "uploadBlockBlob"
credentialType: "{{credentialType}}"
31 changes: 29 additions & 2 deletions kamelets/azure-storage-blob-source.kamelet.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -54,21 +54,42 @@ spec:
format: password
x-descriptors:
- urn:camel:group:credentials
clientId:
title: Client Id
description: The Azure Storage Blob client Id.
type: string
format: password
x-descriptors:
- urn:camel:group:credentials
clientSecret:
title: Client Secret
description: The Azure Storage Blob client secret.
type: string
format: password
x-descriptors:
- urn:camel:group:credentials
tenantId:
title: Tenant Id
description: The Azure Storage Blob tenant id.
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
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"]
enum: ["SHARED_ACCOUNT_KEY", "AZURE_IDENTITY", "CLIENT_SECRET"]
default: "SHARED_ACCOUNT_KEY"
dataTypes:
out:
Expand Down Expand Up @@ -148,6 +169,9 @@ spec:
uri: "azure-storage-blob:{{accountName}}/{{containerName}}"
parameters:
accessKey: "{{?accessKey}}"
azureClientId: "{{?clientId}}"
azureClientSecret: "{{?clientSecret}}"
azureTenantId: "{{?tenantId}}"
credentialType: "{{credentialType}}"
delay: "{{delay}}"
steps:
Expand All @@ -162,5 +186,8 @@ spec:
parameters:
operation: "deleteBlob"
accessKey: "{{?accessKey}}"
azureClientId: "{{?clientId}}"
azureClientSecret: "{{?clientSecret}}"
azureTenantId: "{{?tenantId}}"
credentialType: "{{credentialType}}"

Loading
Loading