Help Center> GaussDB(for MySQL)> API Reference> APIs (Recommended)> Database Proxy> Changing the Routing Policy of a Proxy Instance
Updated on 2024-02-27 GMT+08:00

Changing the Routing Policy of a Proxy Instance

Function

This API is used to change the routing policy of a proxy instance. Before calling this API:

Constraints

This API is in the open beta test (OBT) phase. To use this API, submit a service ticket.

URI

PUT /v3/{project_id}/instances/{instance_id}/proxy/{proxy_id}/route-mode

Table 1 URI parameters

Parameter

Mandatory

Type

Description

project_id

Yes

String

Project ID of a tenant in a region.

To obtain this value, see Obtaining a Project ID.

instance_id

Yes

String

Instance ID, which is compliant with the UUID format.

proxy_id

Yes

String

Proxy instance ID, which is compliant with the UUID format.

Request Parameters

Table 2 Request header parameters

Parameter

Mandatory

Type

Description

X-Auth-Token

Yes

String

User token.

If the following response body is returned for calling the API used to obtain a user token, the request is successful.

After the request is processed, the value of X-Subject-Token in the message header is the token value.

X-Language

No

String

Request language type. The default value is en-us.

Value:

  • en-us
  • zh-cn
Table 3 Request body parameters

Parameter

Mandatory

Type

Description

route_mode

Yes

Integer

Routing policy of the proxy instance.

Value:

  • 0: weighted
  • 1: load balancing (The primary node does not process read requests.)
  • 2: load balancing (The primary node processes read requests.)

master_weight

No

Integer

Weight of the primary node.

  • If the routing policy is 0, the value is 0 to 1000.
  • If the routing policy is 1, the value is 0.
  • If the routing policy is 2, the value is 1.

readonly_nodes

No

Array of ModifyProxyRouteModeWeightReadonlyNode objects

Weight information of the read replicas.

new_node_auto_add_status

No

String

Whether new nodes are automatically associate with proxy instances. To configure this parameter, contact customer service.

Value:

  • ON: New nodes are automatically associate with proxy instances.
  • OFF: New nodes are not automatically associate with proxy instances.

new_node_weight

No

Integer

Read weight of the new node.

  • If route_mode is 0 and new_node_auto_add_status is ON, the value of this parameter ranges from 0 to 1000.
  • If route_mode is not 0 and new_node_auto_add_status is OFF, this parameter is unavailable.
Table 4 ModifyProxyRouteModeWeightReadonlyNode

Parameter

Mandatory

Type

Description

id

Yes

String

Read replica ID.

weight

Yes

Integer

Weight of the read replica.

  • If the routing policy is 0, the value is 0 to 1000.
  • If the routing policy is 1 or 2, the value is 0 or 1.

Response Parameters

Status code: 200

Table 5 Response body parameters

Parameter

Type

Description

job_id

String

Task ID.

Status code: 400

Table 6 Response body parameters

Parameter

Type

Description

error_code

String

Error code.

error_msg

String

Error message.

Status code: 500

Table 7 Response body parameters

Parameter

Type

Description

error_code

String

Error code.

error_msg

String

Error message.

Example Request

  • Changing the routing policy of a proxy instance to 0
    PUT https://{endpoint}/v3/619d3e78f61b4be68bc5aa0b59edcf7b/instances/e73893ef73754465a8bd2e0857bbf13ein07/proxy/e87088f0b6a345e79db19d57c41fde15po01/route-mode
    {
      "route_mode" : 0,
      "master_weight" : 100,
      "readonly_nodes" : {
        "id" : "d23535333138462880bfa1838fdfced2no07",
        "weight" : 200
      }
    }
  • Changing the routing policy of a proxy instance to 1
    PUT https://{endpoint}/v3/619d3e78f61b4be68bc5aa0b59edcf7b/instances/e73893ef73754465a8bd2e0857bbf13ein07/proxy/e87088f0b6a345e79db19d57c41fde15po01/route-mode
    
    {
      "route_mode" : 1,
      "master_weight" : 0,
      "readonly_nodes" : {
        "id" : "d23535333138462880bfa1838fdfced2no07",
        "weight" : 1
      }
    }
  • Changing the routing policy of a proxy instance to 2
    PUT https://{endpoint}/v3/619d3e78f61b4be68bc5aa0b59edcf7b/instances/e73893ef73754465a8bd2e0857bbf13ein07/proxy/e87088f0b6a345e79db19d57c41fde15po01/route-mode
    
    {
      "route_mode" : 2,
      "master_weight" : 1,
      "readonly_nodes" : {
        "id" : "d23535333138462880bfa1838fdfced2no07",
        "weight" : 0
      }
    }

Example Response

Status code: 200

Success.

{
  "job_id" : "04efe8e2-9255-44ae-a98b-d87c11411890"
}

Status Code

For details, see Status Codes.

Error Code

For details, see Error Codes.