// THIS FILE IS AUTOMATICALLY GENERATED: DO NOT EDIT
= image:kamelets/azure-storage-blob-source.svg[] Azure Storage Blob Source

*Provided by: "Apache Software Foundation"*

Consume Files from Azure Storage Blob.

== Configuration Options

The following table summarizes the configuration options available for the `azure-storage-blob-source` Kamelet:
[width="100%",cols="2,^2,3,^2,^2,^3",options="header"]
|===
| Property| Name| Description| Type| Default| Example
| *accessKey {empty}* *| Access Key| The Azure Storage Blob access Key.| string| | 
| *accountName {empty}* *| Account Name| The Azure Storage Blob account name.| string| | 
| *containerName {empty}* *| Container Name| The Azure Storage Blob container name.| string| | 
| *period {empty}* *| Period between polls| The interval between fetches to the Azure Storage Container in milliseconds| integer| `10000`| 
|===

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

== Usage

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

=== Knative Source

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

.azure-storage-blob-source-binding.yaml
[source,yaml]
----
apiVersion: camel.apache.org/v1alpha1
kind: KameletBinding
metadata:
  name: azure-storage-blob-source-binding
spec:
  source:
    ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: azure-storage-blob-source
    properties:
      accessKey: "The Access Key"
      accountName: "The Account Name"
      containerName: "The Container 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-storage-blob-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-storage-blob-source-binding.yaml
----
// THIS FILE IS AUTOMATICALLY GENERATED: DO NOT EDIT
