camel-azure-storage-blob-kafka-connector sink configuration

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

When using camel-azure-storage-blob-kafka-connector as sink make sure to use the following Maven dependency to have support for the connector:

<dependency>
  <groupId>org.apache.camel.kafkaconnector</groupId>
  <artifactId>camel-azure-storage-blob-kafka-connector</artifactId>
  <version>x.x.x</version>
  <!-- use the same version as your Camel Kafka connector version -->
</dependency>

To use this Sink connector in Kafka connect you’ll need to set the following connector.class

connector.class=org.apache.camel.kafkaconnector.azurestorageblob.CamelAzurestorageblobSinkConnector

The camel-azure-storage-blob sink connector supports 53 options, which are listed below.

Name Description Default Required Priority

camel.sink.path.accountName

Azure account name to be used for authentication with azure blob services

null

false

MEDIUM

camel.sink.path.containerName

The blob container name

null

false

MEDIUM

camel.sink.endpoint.blobName

The blob name, to consume specific blob from a container. However on producer, is only required for the operations on the blob level

null

false

MEDIUM

camel.sink.endpoint.blobOffset

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

0L

false

MEDIUM

camel.sink.endpoint.blobServiceClient

Client to a storage account. This client does not hold any state about a particular storage account but is instead a convenient way of sending off appropriate requests to the resource on the service. It may also be used to construct URLs to blobs and containers. This client contains operations on a service account. Operations on a container are available on BlobContainerClient through getBlobContainerClient(String), and operations on a blob are available on BlobClient through getBlobContainerClient(String).getBlobClient(String).

null

false

MEDIUM

camel.sink.endpoint.blobType

The blob type in order to initiate the appropriate settings for each blob type One of: [blockblob] [appendblob] [pageblob]

"blockblob"

false

MEDIUM

camel.sink.endpoint.closeStreamAfterRead

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

true

false

MEDIUM

camel.sink.endpoint.credentials

StorageSharedKeyCredential can be injected to create the azure client, this holds the important authentication information

null

false

MEDIUM

camel.sink.endpoint.dataCount

How many bytes to include in the range. Must be greater than or equal to 0 if specified.

null

false

MEDIUM

camel.sink.endpoint.fileDir

The file directory where the downloaded blobs will be saved to, this can be used in both, producer and consumer

null

false

MEDIUM

camel.sink.endpoint.maxResultsPerPage

Specifies the maximum number of blobs to return, including all BlobPrefix elements. If the request does not specify maxResultsPerPage or specifies a value greater than 5,000, the server will return up to 5,000 items.

null

false

MEDIUM

camel.sink.endpoint.maxRetryRequests

Specifies the maximum number of additional HTTP Get requests that will be made while reading the data from a response body.

0

false

MEDIUM

camel.sink.endpoint.prefix

Filters the results to return only blobs whose names begin with the specified prefix. May be null to return all blobs.

null

false

MEDIUM

camel.sink.endpoint.regex

Filters the results to return only blobs whose names match the specified regular expression. May be null to return all if both prefix and regex are set, regex takes the priority and prefix is ignored.

null

false

MEDIUM

camel.sink.endpoint.serviceClient

Client to a storage account. This client does not hold any state about a particular storage account but is instead a convenient way of sending off appropriate requests to the resource on the service. It may also be used to construct URLs to blobs and containers. This client contains operations on a service account. Operations on a container are available on BlobContainerClient through BlobServiceClient#getBlobContainerClient(String), and operations on a blob are available on BlobClient through BlobContainerClient#getBlobClient(String).

null

false

MEDIUM

camel.sink.endpoint.timeout

An optional timeout value beyond which a RuntimeException will be raised.

null

false

MEDIUM

camel.sink.endpoint.blobSequenceNumber

A user-controlled value that you can use to track requests. The value of the sequence number must be between 0 and 263 - 1.The default value is 0.

"0"

false

MEDIUM

camel.sink.endpoint.blockListType

Specifies which type of blocks to return. One of: [committed] [uncommitted] [all]

"COMMITTED"

false

MEDIUM

camel.sink.endpoint.closeStreamAfterWrite

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

true

false

MEDIUM

camel.sink.endpoint.commitBlockListLater

When is set to true, the staged blocks will not be committed directly.

true

false

MEDIUM

camel.sink.endpoint.createAppendBlob

When is set to true, the append blocks will be created when committing append blocks.

true

false

MEDIUM

camel.sink.endpoint.createPageBlob

When is set to true, the page blob will be created when uploading page blob.

true

false

MEDIUM

camel.sink.endpoint.downloadLinkExpiration

Override the default expiration (millis) of URL download link.

null

false

MEDIUM

camel.sink.endpoint.lazyStartProducer

Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel’s routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.

false

false

MEDIUM

camel.sink.endpoint.operation

The blob operation that can be used with this component on the producer One of: [listBlobContainers] [createBlobContainer] [deleteBlobContainer] [listBlobs] [getBlob] [deleteBlob] [downloadBlobToFile] [downloadLink] [uploadBlockBlob] [stageBlockBlobList] [commitBlobBlockList] [getBlobBlockList] [createAppendBlob] [commitAppendBlob] [createPageBlob] [uploadPageBlob] [resizePageBlob] [clearPageBlob] [getPageBlobRanges]

"listBlobContainers"

false

MEDIUM

camel.sink.endpoint.pageBlobSize

Specifies the maximum size for the page blob, up to 8 TB. The page blob size must be aligned to a 512-byte boundary.

"512"

false

MEDIUM

camel.sink.endpoint.accessKey

Access key for the associated azure account name to be used for authentication with azure blob services

null

false

MEDIUM

camel.component.azure-storage-blob.blobName

The blob name, to consume specific blob from a container. However on producer, is only required for the operations on the blob level

null

false

MEDIUM

camel.component.azure-storage-blob.blobOffset

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

0L

false

MEDIUM

camel.component.azure-storage-blob.blobType

The blob type in order to initiate the appropriate settings for each blob type One of: [blockblob] [appendblob] [pageblob]

"blockblob"

false

MEDIUM

camel.component.azure-storage-blob.closeStream AfterRead

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

true

false

MEDIUM

camel.component.azure-storage-blob.configuration

The component configurations

null

false

MEDIUM

camel.component.azure-storage-blob.credentials

StorageSharedKeyCredential can be injected to create the azure client, this holds the important authentication information

null

false

MEDIUM

camel.component.azure-storage-blob.dataCount

How many bytes to include in the range. Must be greater than or equal to 0 if specified.

null

false

MEDIUM

camel.component.azure-storage-blob.fileDir

The file directory where the downloaded blobs will be saved to, this can be used in both, producer and consumer

null

false

MEDIUM

camel.component.azure-storage-blob.maxResultsPer Page

Specifies the maximum number of blobs to return, including all BlobPrefix elements. If the request does not specify maxResultsPerPage or specifies a value greater than 5,000, the server will return up to 5,000 items.

null

false

MEDIUM

camel.component.azure-storage-blob.maxRetry Requests

Specifies the maximum number of additional HTTP Get requests that will be made while reading the data from a response body.

0

false

MEDIUM

camel.component.azure-storage-blob.prefix

Filters the results to return only blobs whose names begin with the specified prefix. May be null to return all blobs.

null

false

MEDIUM

camel.component.azure-storage-blob.regex

Filters the results to return only blobs whose names match the specified regular expression. May be null to return all if both prefix and regex are set, regex takes the priority and prefix is ignored.

null

false

MEDIUM

camel.component.azure-storage-blob.serviceClient

Client to a storage account. This client does not hold any state about a particular storage account but is instead a convenient way of sending off appropriate requests to the resource on the service. It may also be used to construct URLs to blobs and containers. This client contains operations on a service account. Operations on a container are available on BlobContainerClient through BlobServiceClient#getBlobContainerClient(String), and operations on a blob are available on BlobClient through BlobContainerClient#getBlobClient(String).

null

false

MEDIUM

camel.component.azure-storage-blob.timeout

An optional timeout value beyond which a RuntimeException will be raised.

null

false

MEDIUM

camel.component.azure-storage-blob.blobSequence Number

A user-controlled value that you can use to track requests. The value of the sequence number must be between 0 and 263 - 1.The default value is 0.

"0"

false

MEDIUM

camel.component.azure-storage-blob.blockListType

Specifies which type of blocks to return. One of: [committed] [uncommitted] [all]

"COMMITTED"

false

MEDIUM

camel.component.azure-storage-blob.closeStream AfterWrite

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

true

false

MEDIUM

camel.component.azure-storage-blob.commitBlockList Later

When is set to true, the staged blocks will not be committed directly.

true

false

MEDIUM

camel.component.azure-storage-blob.createAppend Blob

When is set to true, the append blocks will be created when committing append blocks.

true

false

MEDIUM

camel.component.azure-storage-blob.createPageBlob

When is set to true, the page blob will be created when uploading page blob.

true

false

MEDIUM

camel.component.azure-storage-blob.downloadLink Expiration

Override the default expiration (millis) of URL download link.

null

false

MEDIUM

camel.component.azure-storage-blob.lazyStart Producer

Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel’s routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.

false

false

MEDIUM

camel.component.azure-storage-blob.operation

The blob operation that can be used with this component on the producer One of: [listBlobContainers] [createBlobContainer] [deleteBlobContainer] [listBlobs] [getBlob] [deleteBlob] [downloadBlobToFile] [downloadLink] [uploadBlockBlob] [stageBlockBlobList] [commitBlobBlockList] [getBlobBlockList] [createAppendBlob] [commitAppendBlob] [createPageBlob] [uploadPageBlob] [resizePageBlob] [clearPageBlob] [getPageBlobRanges]

"listBlobContainers"

false

MEDIUM

camel.component.azure-storage-blob.pageBlobSize

Specifies the maximum size for the page blob, up to 8 TB. The page blob size must be aligned to a 512-byte boundary.

"512"

false

MEDIUM

camel.component.azure-storage-blob.autowired Enabled

Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc.

true

false

MEDIUM

camel.component.azure-storage-blob.accessKey

Access key for the associated azure account name to be used for authentication with azure blob services

null

false

MEDIUM

The camel-azure-storage-blob sink connector has no converters out of the box.

The camel-azure-storage-blob sink connector has no transforms out of the box.

The camel-azure-storage-blob sink connector has no aggregation strategies out of the box.