Dieser Inhalt ist in der von Ihnen ausgewählten Sprache nicht verfügbar.

Chapter 36. Azure Storage Blob Service Component


Available as of Camel version 2.19

The Azure Blob component supports storing and retrieving the blobs to/from Azure Storage Blob service.

Prerequisites

You must have a valid Windows Azure Storage account. More information is available at Azure Documentation Portal.

36.1. URI Format

azure-blob://accountName/containerName[/blobName][?options]
Copy to Clipboard Toggle word wrap

In most cases a blobName is required and the blob will be created if it does not already exist.
You can append query options to the URI in the following format, ?options=value&option2=value&…​

For example in order to download a blob content from the public block blob blockBlob located on the container1 in the camelazure storage account, use the following snippet:

from("azure-blob:/camelazure/container1/blockBlob").
to("file://blobdirectory");
Copy to Clipboard Toggle word wrap

36.2. URI Options

The Azure Storage Blob Service component has no options.

The Azure Storage Blob Service endpoint is configured using URI syntax:

azure-blob:containerOrBlobUri
Copy to Clipboard Toggle word wrap

with the following path and query parameters:

36.2.1. Path Parameters (1 parameters):

Expand
NameDescriptionDefaultType

containerOrBlobUri

Required Container or Blob compact Uri

 

String

36.2.2. Query Parameters (19 parameters):

Expand
NameDescriptionDefaultType

azureBlobClient (common)

The blob service client

 

CloudBlob

blobOffset (common)

Set the blob offset for the upload or download operations, default is 0

0

Long

blobType (common)

Set a blob type, 'blockblob' is default

blockblob

BlobType

closeStreamAfterRead (common)

Close the stream after read or keep it open, default is true

true

boolean

credentials (common)

Set the storage credentials, required in most cases

 

StorageCredentials

dataLength (common)

Set the data length for the download or page blob upload operations

 

Long

fileDir (common)

Set the file directory where the downloaded blobs will be saved to

 

String

publicForRead (common)

Storage resources can be public for reading their content, if this property is enabled then the credentials do not have to be set

false

boolean

streamReadSize (common)

Set the minimum read size in bytes when reading the blob content

 

int

bridgeErrorHandler (consumer)

Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.

false

boolean

exceptionHandler (consumer)

To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this options is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.

 

ExceptionHandler

exchangePattern (consumer)

Sets the exchange pattern when the consumer creates an exchange.

 

ExchangePattern

blobMetadata (producer)

Set the blob meta-data

 

Map

blobPrefix (producer)

Set a prefix which can be used for listing the blobs

 

String

closeStreamAfterWrite (producer)

Close the stream after write or keep it open, default is true

true

boolean

operation (producer)

Blob service operation hint to the producer

listBlobs

BlobServiceOperations

streamWriteSize (producer)

Set the size of the buffer for writing block and page blocks

 

int

useFlatListing (producer)

Specify if the flat or hierarchical blob listing should be used

true

boolean

synchronous (advanced)

Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported).

false

boolean

Required Azure Storage Blob Service component options

You have to provide the containerOrBlob name and the credentials if the private blob needs to be accessed.

36.3. Usage

Expand
HeaderTypeDescription
   

36.3.2. Message headers set by the Azure Storage Blob Service producer

Expand
HeaderTypeDescription

CamelFileName

String

The file name for the downloaded blob content.

Expand
HeaderTypeDescription

CamelFileName

String

The file name for the downloaded blob content.

36.3.4. Azure Blob Client configuration

If your Camel Application is running behind a firewall or if you need to have more control over the Azure Blob Client configuration, you can create your own instance:

StorageCredentials credentials = new StorageCredentialsAccountAndKey("camelazure", "thekey");

CloudBlob client = new CloudBlob("camelazure", credentials);

registry.bind("azureBlobClient", client);
Copy to Clipboard Toggle word wrap

and refer to it in your Camel azure-blob component configuration:

from("azure-blob:/camelazure/container1/blockBlob?azureBlobClient=#client")
.to("mock:result");
Copy to Clipboard Toggle word wrap

36.4. Dependencies

Maven users will need to add the following dependency to their pom.xml.

pom.xml

<dependency>
    <groupId>org.apache.camel</groupId>
    <artifactId>camel-azure</artifactId>
    <version>${camel-version}</version>
</dependency>
Copy to Clipboard Toggle word wrap

where ${camel-version} must be replaced by the actual version of Camel (2.19.0 or higher).

36.5. See Also

  • Configuring Camel
  • Component
  • Endpoint
  • Getting Started
  • Azure Component
Nach oben
Red Hat logoGithubredditYoutubeTwitter

Lernen

Testen, kaufen und verkaufen

Communitys

Über Red Hat Dokumentation

Wir helfen Red Hat Benutzern, mit unseren Produkten und Diensten innovativ zu sein und ihre Ziele zu erreichen – mit Inhalten, denen sie vertrauen können. Entdecken Sie unsere neuesten Updates.

Mehr Inklusion in Open Source

Red Hat hat sich verpflichtet, problematische Sprache in unserem Code, unserer Dokumentation und unseren Web-Eigenschaften zu ersetzen. Weitere Einzelheiten finden Sie in Red Hat Blog.

Über Red Hat

Wir liefern gehärtete Lösungen, die es Unternehmen leichter machen, plattform- und umgebungsübergreifend zu arbeiten, vom zentralen Rechenzentrum bis zum Netzwerkrand.

Theme

© 2025 Red Hat