RedShift
Kubemq redshift target connector allows services using kubemq server to access redshift database services. -- see https://docs.aws.amazon.com/redshift/latest/mgmt/connecting-from-psql.html

Prerequisites

The following are required to run the redshift target connector:
  • kubemq cluster
  • redshift server
  • kubemq-targets deployment

Configuration

redshift target connector configuration properties:
Properties Key
Required
Description
Example
connection
yes
redshift connection string address
"sslmode=require user=myuser password=mypass host=myhost port=5439 dbname=redshiftdb"
max_idle_connections
no
set max idle connections
"10"
max_open_connections
no
set max open connections
"100"
connection_max_lifetime_seconds
no
set max lifetime for connections in seconds
"3600"
Example:
1
bindings:
2
- name: kubemq-query-redshift
3
source:
4
kind: kubemq.query
5
name: kubemq-query
6
properties:
7
address: "kubemq-cluster:50000"
8
client_id: "kubemq-query-redshift-connector"
9
auth_token: ""
10
channel: "query.rds.redshift"
11
group: ""
12
auto_reconnect: "true"
13
reconnect_interval_seconds: "1"
14
max_reconnects: "0"
15
target:
16
kind: aws.rds.redshift
17
name: aws-rds-redshift
18
properties:
19
connection: "sslmode=require user=myuser password=mypass host=myhost port=5439 dbname=redshiftdb"
20
max_idle_connections: "10"
21
max_open_connections: "100"
22
connection_max_lifetime_seconds: "3600"
Copied!

Usage

Query Request

Query request metadata setting:
Metadata Key
Required
Description
Possible values
method
yes
set type of request
"query"
Query request data setting:
Data Key
Required
Description
Possible values
data
yes
query string
base64 bytes array
Example:
Query string: SELECT id,title,content FROM post;
1
{
2
"metadata": {
3
"method": "query"
4
},
5
"data": "U0VMRUNUIGlkLHRpdGxlLGNvbnRlbnQgRlJPTSBwb3N0Ow=="
6
}
Copied!

Exec Request

Exec request metadata setting:
Metadata Key
Required
Description
Possible values
method
yes
set type of request
"exec"
isolation_level
no
set isolation level for exec operation
""
"read_uncommitted"
"read_committed"
"repeatable_read"
"serializable"
Exec request data setting:
Data Key
Required
Description
Possible values
data
yes
exec string
base64 bytes array
Example:
Exec string:
1
INSERT INTO post(ID,TITLE,CONTENT) VALUES (1,NULL,'Content One'),(2,'Title Two','Content Two');
Copied!
1
{
2
"metadata": {
3
"method": "exec",
4
"isolation_level": "read_uncommitted"
5
},
6
"data": "SU5TRVJUIElOVE8gcG9zdChJRCxUSVRMRSxDT05URU5UKSBWQUxVRVMKCSAgICAgICAgICAgICAgICAgICAgICAgKDEsTlVMTCwnQ29udGVudCBPbmUnKSwKCSAgICAgICAgICAgICAgICAgICAgICAgKDIsJ1RpdGxlIFR3bycsJ0NvbnRlbnQgVHdvJyk7"
7
}
Copied!

Transaction Request

Transaction request metadata setting:
Metadata Key
Required
Description
Possible values
method
yes
set type of request
"transaction"
isolation_level
no
set isolation level for exec operation
""
"read_uncommitted"
"read_committed"
"repeatable_read"
"serializable"
Transaction request data setting:
Data Key
Required
Description
Possible values
data
yes
string string
base64 bytes array
Example:
Transaction string:
1
DROP TABLE IF EXISTS post;
2
CREATE TABLE post (
3
ID serial,
4
TITLE varchar(40),
5
CONTENT varchar(255),
6
CONSTRAINT pk_post PRIMARY KEY(ID)
7
);
8
INSERT INTO post(ID,TITLE,CONTENT) VALUES
9
(1,NULL,'Content One'),
10
(2,'Title Two','Content Two');
Copied!
1
{
2
"metadata": {
3
"key": "your-redshift-key",
4
"method": "delete"
5
},
6
"data": "CURST1AgVEFCTEUgSUYgRVhJU1RTIHBvc3Q7CiAgICBDUkVBVEUgVEFCTEUgcG9zdCAoCgkgICAgICAgICBJRCBzZXJpYWwsCgkgICAgICAgICBUSVRMRSB2YXJjaGFyKDQwKSwKCSAgICAgICAgIENPTlRFTlQgdmFyY2hhcigyNTUpLAoJICAgICAgICAgQ09OU1RSQUlOVCBwa19wb3N0IFBSSU1BUlkgS0VZKElEKQoJICAgICAgICk7CiAgICBJTlNFUlQgSU5UTyBwb3N0KElELFRJVExFLENPTlRFTlQpIFZBTFVFUwoJICAgICAgICAgICAgICAgICAgICAgICAoMSxOVUxMLCdDb250ZW50IE9uZScpLAoJICAgICAgICAgICAgICAgICAgICAgICAoMiwnVGl0bGUgVHdvJywnQ29udGVudCBUd28nKTs="
7
}
Copied!
Last modified 11mo ago