Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 

Kubemq queue Target Connector

Kubemq queue target connector allows services using kubemq server to access queue messaging services.

Prerequisites

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

Configuration

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"

Usage

Create

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

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

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

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

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

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
}