generated from camel.apache.org/kamelet
94 lines
5.9 KiB
YAML
94 lines
5.9 KiB
YAML
|
|
apiVersion: camel.apache.org/v1
|
|
kind: Kamelet
|
|
metadata:
|
|
name: azure-cosmosdb-sink
|
|
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,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCI+PGRlZnM+PHJhZGlhbEdyYWRpZW50IGlkPSJhIiBjeD0iLTEwNS4wMDYiIGN5PSItMTAuNDA5IiByPSI1Ljk1NCIgZ3JhZGllbnRUcmFuc2Zvcm09Im1hdHJpeCgxLjAzNiAwIDAgMS4wMjcgMTE3LjczOSAxOS42NDQpIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+PHN0b3Agb2Zmc2V0PSIuMTgzIiBzdG9wLWNvbG9yPSIjNWVhMGVmIi8+PHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjMDA3OGQ0Ii8+PC9yYWRpYWxHcmFkaWVudD48Y2xpcFBhdGggaWQ9ImIiPjxwYXRoIGQ9Ik0xNC45NjkgNy41M2E2LjEzNyA2LjEzNyAwIDExLTcuMzk1LTQuNTQzIDYuMTM3IDYuMTM3IDAgMDE3LjM5NSA0LjU0M3oiIGZpbGw9Im5vbmUiLz48L2NsaXBQYXRoPjwvZGVmcz48cGF0aCBkPSJNMi45NTQgNS4yNjZhLjE3NS4xNzUgMCAwMS0uMTc2LS4xNzZBMi4wMTIgMi4wMTIgMCAwMC43NjkgMy4wODFhLjE3Ni4xNzYgMCAwMS0uMTc2LS4xNzUuMTc2LjE3NiAwIDAxLjE3Ni0uMTc2QTIuMDEyIDIuMDEyIDAgMDAyLjc3OC43MmEuMTc1LjE3NSAwIDAxLjE3Ni0uMTc2LjE3NS4xNzUgMCAwMS4xNzYuMTc2IDIuMDEyIDIuMDEyIDAgMDAyLjAwOSAyLjAwOS4xNzUuMTc1IDAgMDEuMTc2LjE3Ni4xNzUuMTc1IDAgMDEtLjE3Ni4xNzZBMi4wMTEgMi4wMTEgMCAwMDMuMTMgNS4wOWEuMTc3LjE3NyAwIDAxLS4xNzYuMTc2ek0xNS42MTEgMTcuNDU2YS4xNDEuMTQxIDAgMDEtLjE0MS0uMTQxIDEuNjA5IDEuNjA5IDAgMDAtMS42MDctMS42MDcuMTQxLjE0MSAwIDAxLS4xNDEtLjE0LjE0MS4xNDEgMCAwMS4xNDEtLjE0MSAxLjYwOCAxLjYwOCAwIDAwMS42MDctMS42MDcuMTQxLjE0MSAwIDAxLjE0MS0uMTQxLjE0MS4xNDEgMCAwMS4xNDEuMTQxIDEuNjA4IDEuNjA4IDAgMDAxLjYwNyAxLjYwNy4xNDEuMTQxIDAgMTEwIC4yODIgMS42MDkgMS42MDkgMCAwMC0xLjYwNyAxLjYwNy4xNDEuMTQxIDAgMDEtLjE0MS4xNHoiIGZpbGw9IiM1MGU2ZmYiLz48cGF0aCBkPSJNMTQuOTY5IDcuNTNhNi4xMzcgNi4xMzcgMCAxMS03LjM5NS00LjU0MyA2LjEzNyA2LjEzNyAwIDAxNy4zOTUgNC41NDN6IiBmaWxsPSJ1cmwoI2EpIi8+PGcgY2xpcC1wYXRoPSJ1cmwoI2IpIiBmaWxsPSIjZjJmMmYyIj48cGF0aCBkPSJNNS43MDkgMTMuMTE1YTEuNjM4IDEuNjM4IDAgMTAuMDA1LTMuMjc1IDEuMzA3IDEuMzA3IDAgMDAuMDA3LS4xNEExLjY1MSAxLjY1MSAwIDAwNC4wNiA4LjA2NEgyLjgzMmE2LjI1MSA2LjI1MSAwIDAwMS41OTUgNS4wNTF6TTE1LjA0NSA3LjgxNWMwLS4wMTUgMC0uMDMtLjAwNy0uMDQ0YTUuOTc4IDUuOTc4IDAgMDAtMS40MDYtMi44OCAxLjgyNSAxLjgyNSAwIDAwLS4yODktLjA5IDEuODA2IDEuODA2IDAgMDAtMi4zIDEuNjYzIDIgMiAwIDAwLS4yLS4wMTMgMS43MzcgMS43MzcgMCAwMC0uNTgxIDMuMzc0IDEuNDUxIDEuNDUxIDAgMDAuNTQxLjFoMi4wM2ExMy40NTMgMTMuNDUzIDAgMDAyLjIxMi0yLjExeiIvPjwvZz48cGF0aCBkPSJNMTcuMTkxIDMuODMyYy0uNjI5LTEuMDQ3LTIuMS0xLjQ1NS00LjE1NS0xLjE0OWExNC42MDYgMTQuNjA2IDAgMDAtMi4wODIuNDUyIDYuNDU2IDYuNDU2IDAgMDExLjUyOC43NjdjLjI0MS0uMDUzLjQ4My0uMTE2LjcxNS0uMTUxYTcuNDkgNy40OSAwIDAxMS4xMDMtLjA4OSAyLjE4OCAyLjE4OCAwIDAxMS45NTkuNzI1Yy4zODMuNjM4LjA2IDEuNzI5LS44ODYgM2ExNi43MjMgMTYuNzIzIDAgMDEtNC43NDkgNC4wNTFBMTYuNzU4IDE2Ljc1OCAwIDAxNC44IDEzLjdjLTEuNTY0LjIzNC0yLjY4MiAwLTMuMDY1LS42MzZzLS4wNi0xLjczLjg4Ni0yLjk5NWMuMTE3LS4xNTcuMTQ2LS4yMzQuMjc5LS4zOTJhNi4yNTIgNi4yNTIgMCAwMS4wMjYtMS42MyAxMS41NTIgMTEuNTUyIDAgMDAtMS4xNyAxLjM3MkMuNTE3IDExLjA3Ni4xODEgMTIuNTY2LjgwOSAxMy42MTNhMy4xNjUgMy4xNjUgMCAwMDIuOSAxLjI0OSA4LjQzNCA4LjQzNCAwIDAwMS4yNTEtLjEgMTcuODU1IDE3Ljg1NSAwIDAwNi4yMTktMi40QTE3LjgwOCAxNy44MDggMCAwMDE2LjI0IDguMDNjMS4yNDMtMS42NjEgMS41NzktMy4xNS45NTEtNC4xOTh6IiBmaWxsPSIjNTBlNmZmIi8+PC9zdmc+"
|
|
camel.apache.org/provider: "Apache Software Foundation"
|
|
camel.apache.org/kamelet.group: "Azure CosmosDB"
|
|
camel.apache.org/kamelet.namespace: "Azure"
|
|
labels:
|
|
camel.apache.org/kamelet.type: "sink"
|
|
spec:
|
|
definition:
|
|
title: "Azure CosmosDB Sink"
|
|
description: Send Data to an Azure CosmosDB instance
|
|
required:
|
|
- databaseName
|
|
- containerName
|
|
- databaseEndpoint
|
|
type: object
|
|
properties:
|
|
databaseName:
|
|
title: Database Name
|
|
description: The Azure Cosmos database name.
|
|
type: string
|
|
containerName:
|
|
title: Container Name
|
|
description: The Azure Cosmos container name.
|
|
type: string
|
|
accountKey:
|
|
title: Account Key
|
|
description: The Azure Cosmos account Key.
|
|
type: string
|
|
format: password
|
|
x-descriptors:
|
|
- urn:camel:group:credentials
|
|
databaseEndpoint:
|
|
title: Database Endpoint
|
|
description: Sets the Azure Cosmos database endpoint the component will connect to.
|
|
type: string
|
|
itemPartitionKey:
|
|
title: Item Partition Key
|
|
description: Represents a partition key value in the Azure Cosmos DB database service. A partition key identifies the partition where the item is stored in.
|
|
type: string
|
|
credentialType:
|
|
title: Credential Type
|
|
description: Determines the credential strategy to adopt.
|
|
type: string
|
|
enum: ["SHARED_ACCOUNT_KEY", "AZURE_IDENTITY"]
|
|
default: "SHARED_ACCOUNT_KEY"
|
|
types:
|
|
in:
|
|
mediaType: application/json
|
|
dependencies:
|
|
- "camel:azure-cosmosdb"
|
|
- "camel:kamelet"
|
|
- "camel:jackson"
|
|
- "camel:core"
|
|
template:
|
|
from:
|
|
uri: "kamelet:source"
|
|
steps:
|
|
- choice:
|
|
precondition: true
|
|
when:
|
|
- simple: '${propertiesExist:!itemPartitionKey}'
|
|
steps:
|
|
- choice:
|
|
when:
|
|
- simple: "${header[itemPartitionKey]}"
|
|
steps:
|
|
- setHeader:
|
|
name: CamelAzureCosmosDbItemPartitionKey
|
|
simple: "${header[itemPartitionKey]}"
|
|
- simple: "${header[ce-itemPartitionKey]}"
|
|
steps:
|
|
- setHeader:
|
|
name: CamelAzureCosmosDbItemPartitionKey
|
|
simple: "${header[ce-itemPartitionKey]}"
|
|
- unmarshal:
|
|
json:
|
|
library: Jackson
|
|
- to:
|
|
uri: "azure-cosmosdb:{{databaseName}}/{{containerName}}"
|
|
parameters:
|
|
accountKey: "{{?accountKey}}"
|
|
databaseEndpoint: "{{databaseEndpoint}}"
|
|
itemPartitionKey: "{{?itemPartitionKey}}"
|
|
operation: createItem
|
|
credentialType: "{{credentialType}}"
|