// Do not edit directly!
// This file was generated by camel-quarkus-maven-plugin:update-extension-doc-page
= Azure Storage Blob Service
:cq-artifact-id: camel-quarkus-azure-storage-blob
:cq-native-supported: true
:cq-status: Stable
:cq-description: Store and retrieve blobs from Azure Storage Blob Service using SDK v12.
:cq-deprecated: false
:cq-jvm-since: 1.1.0
:cq-native-since: 1.6.0

[.badges]
[.badge-key]##JVM since##[.badge-supported]##1.1.0## [.badge-key]##Native since##[.badge-supported]##1.6.0##

Store and retrieve blobs from Azure Storage Blob Service using SDK v12.

== What's inside

* xref:{cq-camel-components}::azure-storage-blob-component.adoc[Azure Storage Blob Service component], URI syntax: `azure-storage-blob:accountName/containerName`

Please refer to the above link for usage and configuration details.

== Maven coordinates

[source,xml]
----
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-azure-storage-blob</artifactId>
</dependency>
----

Check the xref:user-guide/index.adoc[User guide] for more information about writing Camel Quarkus applications.

== SSL in native mode

This extension auto-enables SSL support in native mode. Hence you do not need to add
`quarkus.ssl.native=true` to your `application.properties` yourself. See also
https://quarkus.io/guides/native-and-ssl[Quarkus SSL guide].
