Skip to content

Latest commit

 

History

History
211 lines (163 loc) · 8.81 KB

File metadata and controls

211 lines (163 loc) · 8.81 KB

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
}