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 Priority

camel.sink.path.accountName

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

MEDIUM

camel.sink.path.containerName

The blob container name.

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.

MEDIUM

camel.sink.endpoint.blobOffset

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

0L

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).

MEDIUM

camel.sink.endpoint.blobType

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

Enum values:

  • blockblob

  • appendblob

  • pageblob

"blockblob"

MEDIUM

camel.sink.endpoint.closeStreamAfterRead

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

true

MEDIUM

camel.sink.endpoint.credentials

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

MEDIUM

camel.sink.endpoint.dataCount

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

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.

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.

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

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.

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.

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).

MEDIUM

camel.sink.endpoint.timeout

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

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"

MEDIUM

camel.sink.endpoint.blockListType

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

Enum values:

  • committed

  • uncommitted

  • all

"COMMITTED"

MEDIUM

camel.sink.endpoint.closeStreamAfterWrite

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

true

MEDIUM

camel.sink.endpoint.commitBlockListLater

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

true

MEDIUM

camel.sink.endpoint.createAppendBlob

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

true

MEDIUM

camel.sink.endpoint.createPageBlob

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

true

MEDIUM

camel.sink.endpoint.downloadLinkExpiration

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

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

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].

Enum values:

  • listBlobContainers

  • createBlobContainer

  • deleteBlobContainer

  • listBlobs

  • getBlob

  • deleteBlob

  • downloadBlobToFile

  • downloadLink

  • uploadBlockBlob

  • stageBlockBlobList

  • commitBlobBlockList

  • getBlobBlockList

  • createAppendBlob

  • commitAppendBlob

  • createPageBlob

  • uploadPageBlob

  • resizePageBlob

  • clearPageBlob

  • getPageBlobRanges

"listBlobContainers"

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"

MEDIUM

camel.sink.endpoint.accessKey

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

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.

MEDIUM

camel.component.azure-storage-blob.blobOffset

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

0L

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].

Enum values:

  • blockblob

  • appendblob

  • pageblob

"blockblob"

MEDIUM

camel.component.azure-storage-blob.closeStreamAfterRead

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

true

MEDIUM

camel.component.azure-storage-blob.configuration

The component configurations.

MEDIUM

camel.component.azure-storage-blob.credentials

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

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.

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.

MEDIUM

camel.component.azure-storage-blob.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.

MEDIUM

camel.component.azure-storage-blob.maxRetryRequests

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

0

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.

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.

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).

MEDIUM

camel.component.azure-storage-blob.timeout

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

MEDIUM

camel.component.azure-storage-blob.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"

MEDIUM

camel.component.azure-storage-blob.blockListType

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

Enum values:

  • committed

  • uncommitted

  • all

"COMMITTED"

MEDIUM

camel.component.azure-storage-blob.closeStreamAfterWrite

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

true

MEDIUM

camel.component.azure-storage-blob.commitBlockListLater

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

true

MEDIUM

camel.component.azure-storage-blob.createAppendBlob

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

true

MEDIUM

camel.component.azure-storage-blob.createPageBlob

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

true

MEDIUM

camel.component.azure-storage-blob.downloadLinkExpiration

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

MEDIUM

camel.component.azure-storage-blob.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

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].

Enum values:

  • listBlobContainers

  • createBlobContainer

  • deleteBlobContainer

  • listBlobs

  • getBlob

  • deleteBlob

  • downloadBlobToFile

  • downloadLink

  • uploadBlockBlob

  • stageBlockBlobList

  • commitBlobBlockList

  • getBlobBlockList

  • createAppendBlob

  • commitAppendBlob

  • createPageBlob

  • uploadPageBlob

  • resizePageBlob

  • clearPageBlob

  • getPageBlobRanges

"listBlobContainers"

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"

MEDIUM

camel.component.azure-storage-blob.autowiredEnabled

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

MEDIUM

camel.component.azure-storage-blob.accessKey

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

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.