// THIS FILE IS AUTOMATICALLY GENERATED: DO NOT EDIT
= image:kamelets/azure-eventhubs-source.svg[] Azure Eventhubs Source

*Provided by: "Apache Software Foundation"*

Receive events from Azure Eventhubs.

== Configuration Options

The following table summarizes the configuration options available for the `azure-eventhubs-source` Kamelet:
[width="100%",cols="2,^2,3,^2,^2,^3",options="header"]
|===
| Property| Name| Description| Type| Default| Example
| *blobAccessKey {empty}* *| Azure Storage Blob access key| The key for Azure Storage Blob service associated with the Blob account name| string| | 
| *blobAccountName {empty}* *| Azure Storage Blob account name| The name of the storage blob account to be use| string| | 
| *blobContainerName {empty}* *| Azure Storage Blob container name| The name of the storage blob container to be use| string| | 
| *eventhubName {empty}* *| Eventhubs name| The eventhub name| string| | 
| *namespaceName {empty}* *| Eventhubs Namespace| The eventhubs namespace| string| | 
| *sharedAccessKey {empty}* *| Share access key| The key for EventHubs SAS key name| string| | 
| *sharedAccessName {empty}* *| Share access name| EventHubs SAS key name| string| | 
|===

NOTE: Fields marked with ({empty}*) are mandatory.

== Usage

This section summarizes how the `azure-eventhubs-source` can be used in various contexts.

=== Knative Source

The `azure-eventhubs-source` Kamelet can be used as Knative source by binding it to a Knative object.

.azure-eventhubs-source-binding.yaml
[source,yaml]
----
apiVersion: camel.apache.org/v1alpha1
kind: KameletBinding
metadata:
  name: azure-eventhubs-source-binding
spec:
  source:
    ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: azure-eventhubs-source
    properties:
      blobAccessKey: "The Azure Storage Blob access key"
      blobAccountName: "The Azure Storage Blob account name"
      blobContainerName: "The Azure Storage Blob container name"
      eventhubName: "The Eventhubs name"
      namespaceName: "The Eventhubs Namespace"
      sharedAccessKey: "The Share access key"
      sharedAccessName: "The Share access name"
  sink:
    ref:
      kind: InMemoryChannel
      apiVersion: messaging.knative.dev/v1
      name: mychannel

----

Make sure you have xref:latest@camel-k::installation/installation.adoc[Camel K installed] into the Kubernetes cluster you're connected to.

Save the `azure-eventhubs-source-binding.yaml` file into your hard drive, then configure it according to your needs.

You can run the source using the following command:

[source,shell]
----
kubectl apply -f azure-eventhubs-source-binding.yaml
----
// THIS FILE IS AUTOMATICALLY GENERATED: DO NOT EDIT
