components-contrib/bindings/azure/eventhubs/metadata.yaml

156 lines
4.9 KiB
YAML

# yaml-language-server: $schema=../../../component-metadata-schema.json
schemaVersion: v1
type: bindings
name: azure.eventhubs
version: v1
status: stable
title: "Azure Event Hubs"
urls:
- title: Reference
url: https://docs.dapr.io/reference/components-reference/supported-bindings/eventhubs/
binding:
input: true
output: true
operations:
- name: create
description: "Create an event subscription"
capabilities: []
authenticationProfiles:
- title: "Connection string"
description: "Authenticate using a connection string."
metadata:
- name: connectionString
required: true
sensitive: true
description: |
Connection string for the Event Hub or the Event Hub namespace.
example: |
"Endpoint=sb://{EventHubNamespace}.servicebus.windows.net/;SharedAccessKeyName={PolicyName};SharedAccessKey={Key};EntityPath={EventHub}"
- name: eventHub
type: string
description: |
The name of the Event Hubs hub ("topic"). Required if the connection string doesn't contain an EntityPath value.
required: false # Optional when a connectionString is provided
example: |
mytopic
builtinAuthenticationProfiles:
- name: "azuread"
metadata:
- name: eventHubNamespace
type: string
required: true
description: |
The Event Hub Namespace name.
example: '"namespace"'
- name: eventHub
type: string
required: true # required for Azure AD
description: |
The name of the Event Hubs hub (“topic”).
example: '"mytopic"'
# Entity management is only possible when using Azure AD
- name: enableEntityManagement
type: bool
required: false
default: "false"
example: "false"
description: |
Allow management of the Event Hub namespace and storage account.
- name: resourceGroupName
type: string
required: false
description: |
Name of the resource group the Event Hub namespace is part of.
Required when entity management is enabled.
example: '"test-rg"'
- name: subscriptionId
type: string
required: false
binding:
input: true
output: false
description: |
Azure subscription ID value. Required when entity management is enabled
example: '"00112233-4455-6677-8899-aabbccddeeff"'
- name: messageRetentionInDays
type: number
required: false
default: "1"
example: "90"
description: |
Number of days to retain messages for in the newly created Event
Hub namespace. Used only when entity management is enabled.
- name: partitionCount
type: number
required: false
default: "1"
example: "3"
description: |
Number of partitions for the new Event Hub namespace. Used only when
entity management is enabled.
metadata:
# Input-only metadata
# consumerGroup is an alias for consumerId, if both are defined consumerId takes precedence.
- name: consumerId
type: string
required: true # consumerGroup is an alias for this field, let's promote this to default
binding:
input: true
output: false
description: |
The name of the Event Hubs Consumer Group to listen on.
example: '"group1"'
- name: consumerGroup
type: string
required: false
binding:
input: true
output: false
description: |
The name of the Event Hubs Consumer Group to listen on.
Alias to consumerId.
example: '"group1"'
deprecated: true
- name: storageAccountKey
type: string
required: false
binding:
input: true
output: false
description: |
Storage account key for the checkpoint store account. When using Azure AD,
it is possible to omit this if the service principal has access to the
storage account too.
Property "storageAccountKey" is ignored when "storageConnectionString" is present
example: '"112233445566778899"'
- name: storageConnectionString
type: string
required: false
binding:
input: true
output: false
description: |
Connection string for the checkpoint store, alternative to specifying
storageAccountKey.
Property "storageAccountKey" is ignored when "storageConnectionString" is present
example: |
"BlobEndpoint=https://storagesample.blob.core.windows.net;..."
- name: storageAccountName
type: string
required: true
binding:
input: true
output: false
description: |
Storage account name to use for the checkpoint store.
example: '"myeventhubstorage"'
- name: storageContainerName
type: string
required: true
binding:
input: true
output: false
description: |
Storage container name.
example: '"myeventhubstoragecontainer"'