314 lines
7.6 KiB
Markdown
314 lines
7.6 KiB
Markdown
# ob-configserver api refenence
|
|
|
|
For compatibility consideration, ob-configserver uses parameter `Action` to distinguish different type of requests
|
|
|
|
## Register OceanBase rootservice list
|
|
|
|
- request url: http://{vip_address}:{vip_port}/services
|
|
- request method: POST
|
|
- request parameters:
|
|
|
|
| name | type | required | typical value | description |
|
|
| --- | --- | --- | --- | --- |
|
|
| Action | String | Yes | ObRootServiceInfo | |
|
|
| ObCluster | String | No | obcluster | ob cluster name |
|
|
| ObClusterId | int64 | No | 1 | ob cluster id |
|
|
| ObRegion | String | No | obcluster | ob cluster name, old format |
|
|
| ObRegionId | int64 | No | 1 | ob cluster id, old format |
|
|
| version | int | No | 1 | version supports 1 or 2, 2 means with standby ob cluster support |
|
|
|
|
request body:
|
|
```json
|
|
{
|
|
"ObClusterId": 1,
|
|
"ObRegionId": 1,
|
|
"ObCluster": "obcluster",
|
|
"ObRegion": "obcluster",
|
|
"ReadonlyRsList": [],
|
|
"RsList": [{
|
|
"address": "1.1.1.1:2882",
|
|
"role": "LEADER",
|
|
"sql_port": 2881
|
|
}],
|
|
"Type": "PRIMARY",
|
|
"timestamp": 1652419587417171
|
|
}
|
|
```
|
|
|
|
- response example:
|
|
```json
|
|
{
|
|
"Code": 200,
|
|
"Message": "successful",
|
|
"Success": true,
|
|
"Data": "successful",
|
|
"Trace": "xxxx",
|
|
"Server": "1.1.1.1",
|
|
"Cost": 1
|
|
}
|
|
```
|
|
|
|
## Query Oceanbase rootservice list
|
|
|
|
- request url: http://{vip_address}:{vip_port}/services
|
|
- request method: GET
|
|
- request parameters:
|
|
|
|
| name | type | required | typical value | description |
|
|
| --- | --- | --- | --- | --- |
|
|
| Action | String | Yes | ObRootServiceInfo | |
|
|
| ObCluster | String | No | obcluster | ob cluster name |
|
|
| ObClusterId | int64 | No | 1 | ob cluster id |
|
|
| ObRegion | String | No | obcluster | ob cluster name, old format |
|
|
| ObRegionId | int64 | No | 1 | ob cluster id, old format |
|
|
| version | int | No | 1 | version supports 1 or 2, 2 means with standby ob cluster support |
|
|
|
|
- response example:
|
|
```json
|
|
# return one item, when version=1 or version=2 and ObClusterId specified
|
|
{
|
|
"Code": 200,
|
|
"Message": "successful",
|
|
"Success": true,
|
|
"Data": {
|
|
"ObClusterId": 1,
|
|
"ObRegionId": 1,
|
|
"ObCluster": "obcluster",
|
|
"ObRegion": "obcluster",
|
|
"ReadonlyRsList": [],
|
|
"RsList": [{
|
|
"address": "1.1.1.1:2882",
|
|
"role": "LEADER",
|
|
"sql_port": 2881
|
|
}],
|
|
"Type": "PRIMARY",
|
|
"timestamp": 1652419587417171
|
|
},
|
|
"Trace": "xxxx",
|
|
"Server": "1.1.1.1",
|
|
"Cost": 1
|
|
}
|
|
|
|
# return a list when version=2 and ObClusterId not specified
|
|
{
|
|
"Code": 200,
|
|
"Message": "successful",
|
|
"Success": true,
|
|
"Data": [{
|
|
"ObClusterId": 1,
|
|
"ObRegionId": 1,
|
|
"ObCluster": "obcluster",
|
|
"ObRegion": "obcluster",
|
|
"ReadonlyRsList": [],
|
|
"RsList": [{
|
|
"address": "1.1.1.1:2882",
|
|
"role": "LEADER",
|
|
"sql_port": 2881
|
|
}],
|
|
"Type": "PRIMARY",
|
|
"timestamp": 1652419587417171
|
|
}, {
|
|
"ObClusterId": 2,
|
|
"ObRegionId": 2,
|
|
"ObCluster": "obcluster",
|
|
"ObRegion": "obcluster",
|
|
"ReadonlyRsList": [],
|
|
"RsList": [{
|
|
"address": "2.2.2.2:2882",
|
|
"role": "LEADER",
|
|
"sql_port": 2881
|
|
}],
|
|
"Type": "STANDBY",
|
|
"timestamp": 1652436572067984
|
|
}],
|
|
"Trace": "xxxx",
|
|
"Server": "1.1.1.1",
|
|
"Cost": 1
|
|
}
|
|
```
|
|
## Delete OceanBase rootservice info
|
|
|
|
- request url: http://{vip_address}:{vip_port}/services
|
|
- request method: DELETE
|
|
- request parameters:
|
|
|
|
| name | type | required | typical value | description |
|
|
| --- | --- | --- | --- | --- |
|
|
| Action | String | Yes | ObRootServiceInfo | |
|
|
| ObCluster | String | No | obcluster | ob cluster name |
|
|
| ObClusterId | int64 | No | 1 | ob cluster id |
|
|
| ObRegion | String | No | obcluster | ob cluster name, old format |
|
|
| ObRegionId | int64 | No | 1 | ob cluster id, old format |
|
|
| version | int | No | 1 | only version=2 is supported, and don't forget to specify ObClusterId |
|
|
|
|
- response example:
|
|
```json
|
|
{
|
|
"Code": 200,
|
|
"Message": "successful",
|
|
"Success": true,
|
|
"Data": "successful",
|
|
"Trace": "xxxx",
|
|
"Server": "1.1.1.1",
|
|
"Cost": 1
|
|
}
|
|
```
|
|
|
|
## Query rootservice info of all OceanBase clusters
|
|
|
|
- request url: http://{vip_address}:{vip_port}/services
|
|
- request method: GET/POST
|
|
- request parameters:
|
|
|
|
| name | type | required | typical value | description |
|
|
| --- | --- | --- | --- | --- |
|
|
| Action | String | Yes | GetObProxyConfig | |
|
|
| VersionOnly | Boolean | No | false | only return version |
|
|
|
|
- response example:
|
|
```json
|
|
# return all info
|
|
{
|
|
"Code": 200,
|
|
"Message": "successful",
|
|
"Success": true,
|
|
"Data": {
|
|
"ObProxyBinUrl": "http://1.1.1.1:8080/client?Action=GetObProxy",
|
|
"ObProxyDatabaseInfo": {
|
|
"DataBase": "***",
|
|
"MetaDataBase": "http://1.1.1.1:8080/services?Action=ObRootServiceInfo&User_ID=alibaba&UID=admin&ObRegion=obdv1",
|
|
"Password": "***",
|
|
"User": "***"
|
|
},
|
|
"ObRootServiceInfoUrlList": [{
|
|
"ObRegion": "obcluster",
|
|
"ObRootServiceInfoUrl": "http://1.1.1.1:8080/services?Action=ObRootServiceInfo&ObCluster=obcluster"
|
|
}],
|
|
"Version": "07c5563d293278097dc84e6b64ef6341"
|
|
},
|
|
"Trace": "xxxx",
|
|
"Server": "1.1.1.1",
|
|
"Cost": 1
|
|
}
|
|
|
|
# return version only
|
|
{
|
|
"Code": 200,
|
|
"Message": "successful",
|
|
"Success": true,
|
|
"Data": {
|
|
"Version": "07c5563d293278097dc84e6b64ef6341"
|
|
},
|
|
"Trace": "xxxx",
|
|
"Server": "1.1.1.1",
|
|
"Cost": 1
|
|
}
|
|
```
|
|
|
|
## Query rootservice info of all OceanBase clusters in template format
|
|
|
|
- request url: http://{vip_address}:{vip_port}/services
|
|
- request method: GET/POST
|
|
- request parameters:
|
|
|
|
| name | type | required | typical value | description |
|
|
| --- | --- | --- | --- | --- |
|
|
| Action | String | Yes | GetObRootServiceInfoUrlTemplate | |
|
|
| VersionOnly | Boolean | No | false | only return version |
|
|
|
|
- response example:
|
|
```json
|
|
# return all info
|
|
{
|
|
"Code": 200,
|
|
"Message": "successful",
|
|
"Success": true,
|
|
"Data": {
|
|
"ObProxyBinUrl": "http://1.1.1.1:8080/client?Action=GetObProxy",
|
|
"ObProxyDatabaseInfo": {
|
|
"DataBase": "***",
|
|
"MetaDataBase": "http://1.1.1.1:8080/services?Action=ObRootServiceInfo&User_ID=alibaba&UID=admin&ObRegion=obdv1",
|
|
"Password": "***",
|
|
"User": "***"
|
|
},
|
|
"Version": "b34e6381994003c5d758890ededb82a4",
|
|
"ObClusterList": ["obcluster"],
|
|
"ObRootServiceInfoUrlTemplate": "http://1.1.1.1:8080/services?Action=ObRootServiceInfo&ObRegion=${ObRegion}",
|
|
"ObRootServiceInfoUrlTemplateV2": "http://1.1.1.1:8080/services?Action=ObRootServiceInfo&version=2&ObCluster=${ObCluster}&ObClusterId=${OBClusterId}"
|
|
},
|
|
"Trace": "xxxx",
|
|
"Server": "1.1.1.1",
|
|
"Cost": 1
|
|
}
|
|
|
|
# versiononly
|
|
{
|
|
"Code": 200,
|
|
"Message": "successful",
|
|
"Success": true,
|
|
"Data": {
|
|
"Version": "b34e6381994003c5d758890ededb82a4"
|
|
},
|
|
"Trace": "xxxx",
|
|
"Server": "1.1.1.1",
|
|
"Cost": 1
|
|
}
|
|
```
|
|
|
|
## Query idc and region info (empty implementation, just for compatibility)
|
|
|
|
- request url: http://{vip_address}:{vip_port}/services
|
|
- request method: GET/POST
|
|
- request parameters:
|
|
|
|
| name | type | required | typical value | description |
|
|
| --- | --- | --- | --- | --- |
|
|
| Action | String | Yes | ObIDCRegionInfo | |
|
|
| ObCluster | String | No | obcluster | ob cluster name |
|
|
| ObClusterId | int64 | No | 1 | ob cluster id |
|
|
| ObRegion | String | No | obcluster | ob cluster name, old format |
|
|
| ObRegionId | int64 | No | 1 | ob cluster id, old format |
|
|
| version | int | No | 1 | version supports 1 or 2, 2 means with standby ob cluster support |
|
|
|
|
|
|
- response example:
|
|
```json
|
|
# return single item when version=1 or version=2 and ObClusterId specified
|
|
{
|
|
"Code": 200,
|
|
"Message": "successful",
|
|
"Success": true,
|
|
"Data": {
|
|
"ObRegion": "obcluster",
|
|
"ObRegionId": 2,
|
|
"IDCList": [],
|
|
"ReadonlyRsList": ""
|
|
},
|
|
"Trace": "xxxx",
|
|
"Server": "1.1.1.1",
|
|
"Cost": 1
|
|
}
|
|
|
|
|
|
# return a list when version=2 and ObClusterId not specified
|
|
{
|
|
"Code": 200,
|
|
"Message": "successful",
|
|
"Success": true,
|
|
"Data": [{
|
|
"ObRegion": "obcluster",
|
|
"ObRegionId": 1,
|
|
"IDCList": [],
|
|
"ReadonlyRsList": ""
|
|
}, {
|
|
"ObRegion": "obcluster",
|
|
"ObRegionId": 2,
|
|
"IDCList": [],
|
|
"ReadonlyRsList": ""
|
|
}],
|
|
"Trace": "xxxx",
|
|
"Server": "1.1.1.1",
|
|
"Cost": 1
|
|
}
|
|
```
|