Kubemq cassandra target connector allows services using kubemq server to access cassandra database services.
The following are required to run the cassandra target connector:
- kubemq cluster
- cassandra server/cluster
- kubemq-targets deployment
Cassandra target connector configuration properties:
Properties Key | Required | Description | Example |
---|---|---|---|
hosts | yes | cassandra hosts addresses | "localhost" |
port | yes | cassandra port | "9042" |
proto_version | no | cassandra proto version | "4" |
replication_factor | no | set replication factor | "1" |
username | no | set cassandra username | "cassandra" |
password | no | set cassandra password | "cassandra" |
consistency | no | set cassandra consistency | "", "All","One","Two" |
"Quorum","LocalQuorum","EachQuorum" | |||
"LocalOne","Any" | |||
default_table | no | set table name | "test" |
default_keyspace | no | set keyspace name | "test" |
timeout_seconds | no | set default timeout seconds | "60" |
connect_timeout_seconds | no | set default connect timeout seconds | "60" |
Example:
bindings:
- name: kubemq-query-cassandra
source:
kind: kubemq.query
name: kubemq-query
properties:
address: "kubemq-cluster:50000"
client_id: "kubemq-query-cassandra-connector"
auth_token: ""
channel: "query.cassandra"
group: ""
auto_reconnect: "true"
reconnect_interval_seconds: "1"
max_reconnects: "0"
target:
kind: stores.cassandra
name: target-cassandra
properties:
hosts: "localhost"
port: "9042"
username: "cassandra"
password: "cassandra"
proto_version: "4"
replication_factor: "1"
consistency: "All"
default_table: "test"
default_keyspace: "test"
connect_timeout_seconds: "60"
timeout_seconds: "60"
Get request metadata setting:
Metadata Key | Required | Description | Possible values |
---|---|---|---|
key | yes | cassandra 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-cassandra-key",
"method": "get",
"consistency": "",
"table": "table",
"keyspace": "keyspace"
},
"data": null
}
Set request metadata setting:
Metadata Key | Required | Description | Possible values |
---|---|---|---|
key | yes | cassandra 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 cassandra key | base64 bytes array |
Example:
{
"metadata": {
"key": "your-cassandra-key",
"method": "set",
"consistency": "",
"table": "table",
"keyspace": "keyspace"
},
"data": "c29tZS1kYXRh"
}
Delete request metadata setting:
Metadata Key | Required | Description | Possible values |
---|---|---|---|
key | yes | cassandra 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-cassandra-key",
"method": "set",
"table": "table",
"keyspace": "keyspace"
},
"data": null
}
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 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"
}