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
 | |
| }
 | |
| ```
 | 
