// kafka-connector options: START
[[camel-azure-storage-queue-kafka-connector-sink]]
= camel-azure-storage-queue-kafka-connector sink configuration

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

[source,xml]
----
<dependency>
  <groupId>org.apache.camel.kafkaconnector</groupId>
  <artifactId>camel-azure-storage-queue-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

[source,java]
----
connector.class=org.apache.camel.kafkaconnector.azurestoragequeue.CamelAzurestoragequeueSinkConnector
----


The camel-azure-storage-queue sink connector supports 31 options, which are listed below.



[width="100%",cols="2,5,^1,1,1",options="header"]
|===
| Name | Description | Default | Required | Priority
| *camel.sink.path.accountName* | Azure account name to be used for authentication with azure queue services | null | false | MEDIUM
| *camel.sink.path.queueName* | The queue resource name | null | false | MEDIUM
| *camel.sink.endpoint.autoDiscoverClient* | Setting the autoDiscoverClient mechanism, if true, the component will look for a client instance in the registry automatically otherwise it will skip that checking. | true | false | MEDIUM
| *camel.sink.endpoint.serviceClient* | Service client to a storage account to interact with the queue service. 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. This client contains all the operations for interacting with a queue account in Azure Storage. Operations allowed by the client are creating, listing, and deleting queues, retrieving and updating properties of the account, and retrieving statistics of the account. | null | false | MEDIUM
| *camel.sink.endpoint.createQueue* | When is set to true, the queue will be automatically created when sending messages to the queue. | true | 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* | Queue service operation hint to the producer One of: [listQueues] [createQueue] [deleteQueue] [clearQueue] [sendMessage] [deleteMessage] [receiveMessages] [peekMessages] [updateMessage] | null | false | MEDIUM
| *camel.sink.endpoint.synchronous* | Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported). | false | false | MEDIUM
| *camel.sink.endpoint.maxMessages* | Maximum number of messages to get, if there are less messages exist in the queue than requested all the messages will be returned. If left empty only 1 message will be retrieved, the allowed range is 1 to 32 messages. | "1" | false | MEDIUM
| *camel.sink.endpoint.messageId* | The ID of the message to be deleted or updated. | null | false | MEDIUM
| *camel.sink.endpoint.popReceipt* | Unique identifier that must match for the message to be deleted or updated. | null | false | MEDIUM
| *camel.sink.endpoint.timeout* | An optional timeout applied to the operation. If a response is not returned before the timeout concludes a RuntimeException will be thrown. | null | false | MEDIUM
| *camel.sink.endpoint.timeToLive* | How long the message will stay alive in the queue. If unset the value will default to 7 days, if -1 is passed the message will not expire. The time to live must be -1 or any positive number. The format should be in this form: PnDTnHnMn.nS., e.g: PT20.345S -- parses as 20.345 seconds, P2D -- parses as 2 days However, in case you are using EndpointDsl/ComponentDsl, you can do something like Duration.ofSeconds() since these Java APIs are typesafe. | null | false | MEDIUM
| *camel.sink.endpoint.visibilityTimeout* | The timeout period for how long the message is invisible in the queue. The timeout must be between 1 seconds and 7 days. The format should be in this form: PnDTnHnMn.nS., e.g: PT20.345S -- parses as 20.345 seconds, P2D -- parses as 2 days However, in case you are using EndpointDsl/ComponentDsl, you can do something like Duration.ofSeconds() since these Java APIs are typesafe. | null | false | MEDIUM
| *camel.sink.endpoint.accessKey* | Access key for the associated azure account name to be used for authentication with azure queue services | null | 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.component.azure-storage-queue.autoDiscover Client* | Setting the autoDiscoverClient mechanism, if true, the component will look for a client instance in the registry automatically otherwise it will skip that checking. | true | false | MEDIUM
| *camel.component.azure-storage-queue.configuration* | The component configurations | null | false | MEDIUM
| *camel.component.azure-storage-queue.serviceClient* | Service client to a storage account to interact with the queue service. 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. This client contains all the operations for interacting with a queue account in Azure Storage. Operations allowed by the client are creating, listing, and deleting queues, retrieving and updating properties of the account, and retrieving statistics of the account. | null | false | MEDIUM
| *camel.component.azure-storage-queue.createQueue* | When is set to true, the queue will be automatically created when sending messages to the queue. | true | false | MEDIUM
| *camel.component.azure-storage-queue.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-queue.operation* | Queue service operation hint to the producer One of: [listQueues] [createQueue] [deleteQueue] [clearQueue] [sendMessage] [deleteMessage] [receiveMessages] [peekMessages] [updateMessage] | null | false | MEDIUM
| *camel.component.azure-storage-queue.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-queue.maxMessages* | Maximum number of messages to get, if there are less messages exist in the queue than requested all the messages will be returned. If left empty only 1 message will be retrieved, the allowed range is 1 to 32 messages. | "1" | false | MEDIUM
| *camel.component.azure-storage-queue.messageId* | The ID of the message to be deleted or updated. | null | false | MEDIUM
| *camel.component.azure-storage-queue.popReceipt* | Unique identifier that must match for the message to be deleted or updated. | null | false | MEDIUM
| *camel.component.azure-storage-queue.timeout* | An optional timeout applied to the operation. If a response is not returned before the timeout concludes a RuntimeException will be thrown. | null | false | MEDIUM
| *camel.component.azure-storage-queue.timeToLive* | How long the message will stay alive in the queue. If unset the value will default to 7 days, if -1 is passed the message will not expire. The time to live must be -1 or any positive number. The format should be in this form: PnDTnHnMn.nS., e.g: PT20.345S -- parses as 20.345 seconds, P2D -- parses as 2 days However, in case you are using EndpointDsl/ComponentDsl, you can do something like Duration.ofSeconds() since these Java APIs are typesafe. | null | false | MEDIUM
| *camel.component.azure-storage-queue.visibility Timeout* | The timeout period for how long the message is invisible in the queue. The timeout must be between 1 seconds and 7 days. The format should be in this form: PnDTnHnMn.nS., e.g: PT20.345S -- parses as 20.345 seconds, P2D -- parses as 2 days However, in case you are using EndpointDsl/ComponentDsl, you can do something like Duration.ofSeconds() since these Java APIs are typesafe. | null | false | MEDIUM
| *camel.component.azure-storage-queue.accessKey* | Access key for the associated azure account name to be used for authentication with azure queue services | null | false | MEDIUM
| *camel.component.azure-storage-queue.credentials* | StorageSharedKeyCredential can be injected to create the azure client, this holds the important authentication information | null | false | MEDIUM
|===



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





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





The camel-azure-storage-queue sink connector has no aggregation strategies out of the box.
// kafka-connector options: END
