rethinkdb

package
v1.5.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 21, 2023 License: Apache-2.0 Imports: 12 Imported by: 0

README

Kubemq Rethinkdb Target Connector

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

Prerequisites

The following are required to run the Rethinkdb target connector:

  • kubemq cluster
  • Rethinkdb server
  • kubemq-targets deployment

Configuration

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"

Usage

Get Request

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

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

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

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==" 
}

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Connector

func Connector() *common.Connector

Types

type Client

type Client struct {
	// contains filtered or unexported fields
}

func New

func New() *Client

func (*Client) Connector

func (c *Client) Connector() *common.Connector

func (*Client) Do

func (c *Client) Do(ctx context.Context, req *types.Request) (*types.Response, error)

func (*Client) Init

func (c *Client) Init(ctx context.Context, cfg config.Spec, log *logger.Logger) error

func (*Client) Stop

func (c *Client) Stop() error

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL