diff --git a/bindings/azure/eventhubs/metadata.yaml b/bindings/azure/eventhubs/metadata.yaml new file mode 100644 index 000000000..40a7b83c4 --- /dev/null +++ b/bindings/azure/eventhubs/metadata.yaml @@ -0,0 +1,156 @@ +# 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 +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" + 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 + bindings: + 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 and output metadata + - name: partitionId + type: string + required: false + description: | + DEPRECATED. + deprecated: true + # 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 + bindings: + input: true + output: false + description: | + The name of the Event Hubs Consumer Group to listen on. + example: '"group1"' + - name: consumerGroup + type: string + required: false + bindings: + 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 + bindings: + 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 + bindings: + input: true + output: false + description: | + Connection string for the checkpoint store, alternative to specifying + storageAccountKey. + Property "storageAccountKey" is ignored when "storageConnectionString" is present + - name: storageAccountName + type: string + required: true + bindings: + input: true + output: false + description: | + Storage account name to use for the checkpoint store. + example: '"myeventhubstorage"' + - name: storageContainerName + type: string + required: true + bindings: + input: true + output: false + description: | + Storage container name. + example: '"myeventhubstoragecontainer"'