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

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

When using camel-azure-storage-blob-kafka-connector as source 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 Source connector in Kafka connect you’ll need to set the following connector.class

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

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

Name Description Default Required Priority

camel.source.path.accountName

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

null

false

MEDIUM

camel.source.path.containerName

The blob container name

null

false

MEDIUM

camel.source.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.source.endpoint.blobOffset

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

0L

false

MEDIUM

camel.source.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.source.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.source.endpoint.closeStreamAfterRead

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

true

false

MEDIUM

camel.source.endpoint.credentials

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

null

false

MEDIUM

camel.source.endpoint.dataCount

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

null

false

MEDIUM

camel.source.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.source.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.source.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.source.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.source.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.source.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.source.endpoint.timeout

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

null

false

MEDIUM

camel.source.endpoint.bridgeErrorHandler

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

false

MEDIUM

camel.source.endpoint.sendEmptyMessageWhenIdle

If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead.

false

false

MEDIUM

camel.source.endpoint.exceptionHandler

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

null

false

MEDIUM

camel.source.endpoint.exchangePattern

Sets the exchange pattern when the consumer creates an exchange. One of: [InOnly] [InOut] [InOptionalOut]

null

false

MEDIUM

camel.source.endpoint.pollStrategy

A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the poll operation before an Exchange have been created and being routed in Camel.

null

false

MEDIUM

camel.source.endpoint.backoffErrorThreshold

The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in.

null

false

MEDIUM

camel.source.endpoint.backoffIdleThreshold

The number of subsequent idle polls that should happen before the backoffMultipler should kick-in.

null

false

MEDIUM

camel.source.endpoint.backoffMultiplier

To let the scheduled polling consumer backoff if there has been a number of subsequent idles/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is happening again. When this option is in use then backoffIdleThreshold and/or backoffErrorThreshold must also be configured.

null

false

MEDIUM

camel.source.endpoint.delay

Milliseconds before the next poll.

500L

false

MEDIUM

camel.source.endpoint.greedy

If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages.

false

false

MEDIUM

camel.source.endpoint.initialDelay

Milliseconds before the first poll starts.

1000L

false

MEDIUM

camel.source.endpoint.repeatCount

Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only fire once. If you set it to 5, it will only fire five times. A value of zero or negative means fire forever.

0L

false

MEDIUM

camel.source.endpoint.runLoggingLevel

The consumer logs a start/complete log line when it polls. This option allows you to configure the logging level for that. One of: [TRACE] [DEBUG] [INFO] [WARN] [ERROR] [OFF]

"TRACE"

false

MEDIUM

camel.source.endpoint.scheduledExecutorService

Allows for configuring a custom/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool.

null

false

MEDIUM

camel.source.endpoint.scheduler

To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler

"none"

false

MEDIUM

camel.source.endpoint.schedulerProperties

To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler.

null

false

MEDIUM

camel.source.endpoint.startScheduler

Whether the scheduler should be auto started.

true

false

MEDIUM

camel.source.endpoint.timeUnit

Time unit for initialDelay and delay options. One of: [NANOSECONDS] [MICROSECONDS] [MILLISECONDS] [SECONDS] [MINUTES] [HOURS] [DAYS]

"MILLISECONDS"

false

MEDIUM

camel.source.endpoint.useFixedDelay

Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details.

true

false

MEDIUM

camel.source.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.bridgeError Handler

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

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 source connector has no converters out of the box.

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

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