KeySpaces

Kubemq keyspaces target connector allows services using kubemq server to access keyspaces database services.

Prerequisites

The following are required to run the keyspaces target connector:

  • kubemq cluster

  • IAM user keyspaces credentials

  • aws keyspaces server/cluster

  • kubemq-targets deployment

Configuration

keyspaces target connector configuration properties:

Properties Key

Required

Description

Example

hosts

yes

aws end point

"localhost"

port

yes

keyspaces port

"9142"

proto_version

no

keyspaces proto version

"4"

replication_factor

no

set replication factor

"1"

username

no

set keyspaces username

"keyspaces"

password

no

set keyspaces password

"keyspaces"

consistency

no

set keyspaces consistency

default_table

no

set table name

"test"

default_keyspace

no

set keyspace name

"test"

tls

yes

aws keyspace certificate

timeout_seconds

no

set default timeout seconds

"60"

connect_timeout_seconds

no

set default connect timeout seconds

"60"

Example:

bindings:
  - name: kubemq-query-keyspaces
    source:
      kind: kubemq.query
      name: kubemq-query
      properties:
        address: "kubemq-cluster:50000"
        client_id: "kubemq-query-keyspaces-connector"
        auth_token: ""
        channel: "aws.query.keyspaces"
        group:   ""
        auto_reconnect: "true"
        reconnect_interval_seconds: "1"
        max_reconnects: "0"
    target:
      kind: aws.keyspaces
      name: aws-keyspaces
      properties:
        hosts: "cassandra.us-east-2.amazonaws.com"
        port: "9142"
        username: "keyspaces"
        password: "keyspaces"
        proto_version: "4"
        replication_factor: "1"
        consistency: "LocalQuorum"
        default_table: "test"
        default_keyspace: "test"
        tls: "https://www.amazontrust.com/repository/AmazonRootCA1.pem"

Usage

Get Request

Get request metadata setting:

Metadata Key

Required

Description

Possible values

key

yes

keyspaces key string

any string

method

yes

get

"get"

consistency

yes

set consistency

"",strong","eventual"

table

yes

table name

"table

keyspace

yes

key space name

"keyspace"

Example:

{
  "metadata": {
    "key": "your-keyspaces-key",
    "method": "get",
    "consistency": "",
    "table": "table",
    "keyspace": "keyspace"
  },
  "data": null
}

Set Request

Set request metadata setting:

Metadata Key

Required

Description

Possible values

key

yes

keyspaces key string

any string

method

yes

method name set

"set"

consistency

yes

set consistency

"",strong","eventual"

table

yes

table name

"table

keyspace

yes

key space name

"keyspace"

Set request data setting:

Data Key

Required

Description

Possible values

data

yes

data to set for the keyspaces key

base64 bytes array

Example:

{
  "metadata": {
    "key": "your-keyspaces-key",
    "method": "set",
    "consistency": "",
    "table": "table",
    "keyspace": "keyspace"
  },
  "data": "c29tZS1kYXRh" 
}

Delete Request

Delete request metadata setting:

Metadata Key

Required

Description

Possible values

key

yes

keyspaces key string

any string

method

yes

method name delete

"delete"

table

yes

table name

"table

keyspace

yes

key space name

"keyspace"

Example:

{
  "metadata": {
    "key": "your-keyspaces-key",
    "method": "set",
    "table": "table",
    "keyspace": "keyspace"
  },
  "data": null
}

Query Request

Query request metadata setting:

Metadata Key

Required

Description

Possible values

method

yes

method name query

"query"

consistency

yes

set consistency

"",strong","eventual"

Query request data setting:

Data Key

Required

Description

Possible values

data

yes

query string

base64 bytes array

Example:

Query string: SELECT value FROM test.test WHERE key = 'some-key

{
  "metadata": {
    "method": "query",
    "consistency": "strong"
  },
  "data": "U0VMRUNUIHZhbHVlIEZST00gdGVzdC50ZXN0IFdIRVJFIGtleSA9ICdzb21lLWtleQ=="
}

Exec Request

Exec request metadata setting:

Metadata Key

Required

Description

Possible values

method

yes

set type of request

"exec"

consistency

yes

set consistency

"",strong","eventual"

Exec request data setting:

Data Key

Required

Description

Possible values

data

yes

exec string

base64 bytes array

Example:

Exec string:

INSERT INTO test.test (key, value) VALUES ('some-key',textAsBlob('some-data'))
{
  "metadata": {
    "method": "exec",
    "consistency": "strong"
  },
  "data": "SU5TRVJUIElOVE8gdGVzdC50ZXN0IChrZXksIHZhbHVlKSBWQUxVRVMgKCdzb21lLWtleScsdGV4dEFzQmxvYignc29tZS1kYXRhJykp" 
}

Last updated