Kubemq queue target connector allows services using kubemq server to access queue messaging services.
The following are required to run the queue target connector:
- kubemq cluster
- Azure active storage account
- Azure active with storage enable - with access account
- kubemq-targets deployment
queue target connector configuration properties:
Properties Key | Required | Description | Example |
---|---|---|---|
storage_account | yes | azure storage account name | "my_account" |
storage_access_key | yes | azure storage access key | "abcd1234" |
policy | no | exponential or linear | "retry_policy_exponential",default(retry_policy_exponential) |
max_tries | no | request max tries (1 disable) | "1",default(1) |
try_timeout | no | Maximum time allowed for any single try | "3000",default(10000) milliseconds |
retry_delay | no | Backoff amount for each retry | "1000",default(600) milliseconds |
max_retry_delay | no | delay between retries | "1000",default(1800) milliseconds |
Example:
bindings:
- name: kubemq-query-azure-queue
source:
kind: kubemq.query
name: kubemq-query
properties:
address: "kubemq-cluster:50000"
client_id: "kubemq-query-azure-queue-connector"
auth_token: ""
channel: "azure.storage.queue"
group: ""
concurrency: "1"
auto_reconnect: "true"
reconnect_interval_seconds: "1"
max_reconnects: "0"
target:
kind: azure.storage.queue
name: azure-storage-queue
properties:
storage_account: "id"
storage_access_key: "key".
max_retry_delay: "180000"
max_tries: "1"
policy: retry_policy_exponential
retry_delay: "60000"
try_timeout: "1000"
Create metadata setting:
Metadata Key | Required | Description | Possible values |
---|---|---|---|
method | yes | type of method | "create" |
service_url | yes | service url path | "https://test.queue.core.windows.net/test/test.txt" |
queue_name | yes | the name of the queue to create | "my_queue" |
queue_metadata | no | key value string string queue Metadata | "{"tag":"test","name":"myname"}",default(none) |
{
"metadata": {
"method": "create",
"queue_name": "my_queue",
"service_url": "https://test.end.point.test.net"
},
"data": null
}
Push metadata setting:
Metadata Key | Required | Description | Possible values |
---|---|---|---|
method | yes | type of method | "push" |
service_url | yes | service url path | "https://test.queue.core.windows.net/test/test.txt" |
queue_name | yes | the name of the queue to send the message to | "my_queue" |
queue_metadata | no | key value string string queue Metadata | "{"tag":"test","name":"myname"}",default(none) |
visibility_timeout | no | visibility timeout value,in milliseconds | "2000000000",default(100000000) |
time_to_live | no | maximum time to allow the message to be in the queue,in milliseconds | "2000000000",default(100000000) |
Example:
{
"metadata": {
"method": "push",
"queue_name": "test",
"service_url": "https://test.end.point.test.net"
},
"data": "bXktZmlsZS1kYXRh"
}
Get Message Count metadata setting:
Metadata Key | Required | Description | Possible values |
---|---|---|---|
method | yes | type of method | "get_messages_count" |
service_url | yes | service url path and | "https://test.queue.core.windows.net/test" |
queue_name | yes | the name of the queue | "my_queue" |
Example:
{
"metadata": {
"method": "get_messages_count",
"queue_name": "test",
"service_url": "https://test.end.point.test.net"
},
"data": null
}
Delete metadata setting:
Metadata Key | Required | Description | Possible values |
---|---|---|---|
method | yes | type of method | "delete" |
service_url | yes | service url path and | "https://test.queue.core.windows.net/test" |
queue_name | yes | the name of the queue | "my_queue" |
Example:
{
"metadata": {
"method": "delete",
"queue_name": "test",
"service_url": "https://test.end.point.test.net"
},
"data": null
}
Peek metadata setting:
Metadata Key | Required | Description | Possible values |
---|---|---|---|
method | yes | type of method | "peek" |
file_name | yes | the name of the file to delete | "myfile.txt" |
service_url | yes | service url path and | "https://test.queue.core.windows.net/test/test.txt" |
max_messages | no | max number of messages to receive int32 | "10",default(32) |
Example:
{
"metadata": {
"method": "peek",
"queue_name": "test",
"service_url": "https://test.end.point.test.net"
},
"data": null
}
Pop metadata setting:
Pop will remove the message
Metadata Key | Required | Description | Possible values |
---|---|---|---|
method | yes | type of method | "pop" |
file_name | yes | the name of the file to delete | "myfile.txt" |
service_url | yes | service url path and | "https://test.queue.core.windows.net/test/test.txt" |
max_messages | no | max number of messages to receive int32 | "10",default(32) |
Example:
{
"metadata": {
"method": "pop",
"queue_name": "test",
"service_url": "https://test.end.point.test.net"
},
"data": null
}