Kubemq Rethinkdb target connector allows services using kubemq server to access Rethinkdb database services.
The following are required to run the Rethinkdb target connector:
- kubemq cluster
- Rethinkdb server
- kubemq-targets deployment
Rethinkdb target connector configuration properties:
Properties Key | Required | Description | Example |
---|---|---|---|
host | yes | Rethinkdb host address | "localhost:27017" |
username | no | Rethinkdb username(if user exists) | "admin" |
password | no | Rethinkdb password | "password" |
timeout | no | timeout in seconds | "5" |
keep_alive_period | no | keep alive period in seconds | "5" |
auth_key | no | auth key if needed for connection | "" |
ssl | no | set if ssl is needed | "false","true" |
cert_file | no | ssl certificate file in string format | "my_file" |
cert_key | no | ssl certificate key in string format | "my_key" |
handShakeVersion | no | server hand shake version | "1" |
number_of_retries | no | number of retries for each request | "1" |
initial_cap | no | server initial cap | "0" |
max_open | no | max open for server | "0" |
Example:
bindings:
- name: kubemq-query-Rethinkdb
source:
kind: kubemq.query
name: kubemq-query
properties:
address: "kubemq-cluster:50000"
client_id: "kubemq-query-Rethinkdb-connector"
auth_token: ""
channel: "query.Rethinkdb"
group: ""
concurrency: "1"
auto_reconnect: "true"
reconnect_interval_seconds: "1"
max_reconnects: "0"
target:
kind: stores.Rethinkdb
name: target-Rethinkdb
properties:
host: "localhost:27017"
username: "admin"
password: "password"
database: "admin"
collection: "test"
write_concurrency: "majority"
read_concurrency: ""
params: ""
operation_timeout_seconds: "2"
Get request metadata setting:
Metadata Key | Required | Description | Possible values |
---|---|---|---|
key | no | key name | any string |
method | yes | get | "get" |
db_name | yes | db name | "my_db" |
table | yes | table name | "my_table" |
Example:
{
"metadata": {
"key": "your-Rethinkdb-key",
"db_name": "test",
"table": "users",
"method": "get"
},
"data": null
}
Update request metadata setting:
Metadata Key | Required | Description | Possible values |
---|---|---|---|
key | yes | key name | any string |
method | yes | get | "update" |
db_name | yes | db name | "my_db" |
table | yes | table name | "my_table" |
Update request data setting:
Data Key | Required | Description | Possible values |
---|---|---|---|
data | yes | map of string interface | base64 bytes array |
Example:
{
"metadata": {
"key": "your-Rethinkdb-key",
"db_name": "test",
"table": "users",
"method": "update"
},
"data": "ICAibWV0YWRhdGEiOiB7CiAgICAia2V5IjogInlvdXItUmV0aGlua2RiLWtleSIsCiAgICAiZGJfbmFtZSI6ICJ0ZXN0IiwKICAgICJ0YWJsZSI6ICJ1c2VycyIsCiAgICAibWV0aG9kIjogImdldCIKICB9LA=="
}
Delete request metadata setting:
Metadata Key | Required | Description | Possible values |
---|---|---|---|
key | yes | key name | any string |
method | yes | get | "delete" |
db_name | yes | db name | "my_db" |
table | yes | table name | "my_table" |
Example:
{
"metadata": {
"key": "your-Rethinkdb-key",
"db_name": "test",
"table": "users",
"method": "delete"
},
"data": null
}
insert request metadata setting:
Metadata Key | Required | Description | Possible values |
---|---|---|---|
key | yes | key name | any string |
method | yes | get | "insert" |
db_name | yes | db name | "my_db" |
table | yes | table name | "my_table" |
Insert request data setting:
Data Key | Required | Description | Possible values |
---|---|---|---|
data | yes | map of string interface | base64 bytes array |
Example:
{
"metadata": {
"key": "your-Rethinkdb-key",
"db_name": "test",
"table": "users",
"method": "insert"
},
"data": "ICAibWV0YWRhdGEiOiB7CiAgICAia2V5IjogInlvdXItUmV0aGlua2RiLWtleSIsCiAgICAiZGJfbmFtZSI6ICJ0ZXN0IiwKICAgICJ0YWJsZSI6ICJ1c2VycyIsCiAgICAibWV0aG9kIjogImdldCIKICB9LA=="
}