MySQL
Please see before starting:
Kubemq mysql target connector allows services using kubemq server to access mysql database services. Using the IAM user login instead of username password method.

Prerequisites

The following is required to run the mysql target connector:
  • kubemq cluster
  • aws rds with IAM user mysql server
  • db user with IAM Authentication privileges
  • kubemq-targets deployment

Configuration

Mysql target connector configuration properties:
Properties Key
Required
Description
Example
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"
db_user
yes
aws db user name
"<aws user"
db_name
yes
aws db name
"<aws instance name"
aws_key
yes
aws key
aws key supplied by aws
aws_secret_key
yes
aws secret key
aws secret key supplied by aws
region
yes
region
aws region
token
no
aws token ("default" empty string
aws token
end_point
yes
aws rds endpoint
"<aws rds end point"
Example:
1
bindings:
2
- name: kubemq-query-aws-mysql
3
source:
4
kind: kubemq.query
5
name: kubemq-query
6
properties:
7
address: "kubemq-cluster:50000"
8
client_id: "kubemq-query-mysql-connector"
9
auth_token: ""
10
channel: "query.aws.rds.mysql"
11
group: ""
12
auto_reconnect: "true"
13
reconnect_interval_seconds: "1"
14
max_reconnects: "0"
15
target:
16
kind: aws.rds.mysql
17
name: aws-rds-mysql
18
properties:
19
instance_connection_name: "test"
20
db_user: "test"
21
db_name: "test"
22
end_point: "my-end-point"
23
aws_key: "id"
24
aws_secret_key: 'json'
25
region: "region"
26
token: ""
27
db_port: "3306",
28
max_idle_connections: "10"
29
max_open_connections: "100"
30
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,bignumber,boolvalue FROM post;
1
{
2
"metadata": {
3
"method": "query"
4
},
5
"data": "U0VMRUNUIGlkLHRpdGxlLGNvbnRlbnQsYmlnbnVtYmVyLGJvb2x2YWx1ZSBGUk9NIHBvc3Q7"
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,BIGNUMBER,BOOLVALUE) VALUES
2
(0,NULL,'Content One',1231241241231231123,true),
3
(1,'Title Two','Content Two',123125241231231123,false);
Copied!
1
{
2
"metadata": {
3
"method": "exec",
4
"isolation_level": "read_uncommitted"
5
},
6
"data": "SU5TRVJUIElOVE8gcG9zdChJRCxUSVRMRSxDT05URU5ULEJJR05VTUJFUixCT09MVkFMVUUpIFZBTFVFUwoJICAgICAgICAgICAgICAgICAgICAgICAoMCxOVUxMLCdDb250ZW50IE9uZScsMTIzMTI0MTI0MTIzMTIzMTEyMyx0cnVlKSwKCSAgICAgICAgICAgICAgICAgICAgICAgKDEsJ1RpdGxlIFR3bycsJ0NvbnRlbnQgVHdvJywxMjMxMjUyNDEyMzEyMzExMjMsZmFsc2UpOw=="
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 bigint,
4
TITLE varchar(40),
5
CONTENT varchar(255),
6
BIGNUMBER bigint,
7
BOOLVALUE boolean,
8
CONSTRAINT pk_post PRIMARY KEY(ID)
9
);
Copied!
1
{
2
"metadata": {
3
"key": "your-mysql-key",
4
"method": "delete"
5
},
6
"data": "RFJPUCBUQUJMRSBJRiBFWElTVFMgcG9zdDsKCSAgICAgICBDUkVBVEUgVEFCTEUgcG9zdCAoCgkgICAgICAgICBJRCBiaWdpbnQsCgkgICAgICAgICBUSVRMRSB2YXJjaGFyKDQwKSwKCSAgICAgICAgIENPTlRFTlQgdmFyY2hhcigyNTUpLAoJCQkgQklHTlVNQkVSIGJpZ2ludCwKCQkJIEJPT0xWQUxVRSBib29sZWFuLAoJICAgICAgICAgQ09OU1RSQUlOVCBwa19wb3N0IFBSSU1BUlkgS0VZKElEKQoJICAgICAgICk7"
7
}
Copied!
Last modified 11mo ago