Updated on 2024-09-11 GMT+08:00

Creating a Read Replica

Function

This API is used to create a read replica. Before calling this API:

URI

POST /v3/{project_id}/instances/{instance_id}/nodes/enlarge

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.

Request Parameters

Table 2 Request header parameters

Parameter

Mandatory

Type

Description

X-Auth-Token

Yes

String

User token.

It can be obtained by calling the IAM API used to obtain a user token.

The value of X-Subject-Token in the response header is the token value.

X-Language

No

String

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

Values:

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

Parameter

Mandatory

Type

Description

priorities

Yes

Array of integers

Failover priority of a read replica.

Failover priority ranges from 1 for the first priority to 16 for the last priority. This priority determines the order in which read replicas are promoted when recovering from a primary node failure. Read replicas with the same priority have a same probability of being promoted to the new primary node. You can configure a failover priority for up to 9 read replicas, and the default priority for the remaining read replicas is -1, indicating these read replicas cannot be promoted to primary. You can change the failover priority of a read replica.

is_auto_pay

No

String

Whether the order will be automatically paid after yearly/monthly instances are created. This parameter does not affect the payment method of automatic renewal.

  • true: indicates the order will be automatically paid from your account. The default value is true.
  • false: indicates the order will be manually paid.

availability_zones

No

Array of strings

AZ. You can specify an AZ to create a read replica. If this parameter is not specified, an AZ is automatically assigned by default.

The function is in the open beta test (OBT) phase. To use it, submit a service ticket.

To obtain the value, see the key availability_zone in az_status of Querying Database Specifications.

Note: Creating a read replica in a specified AZ may fail due to insufficient resources.

Response Parameters

Status code: 201

Table 4 Response body parameters

Parameter

Type

Description

instance_id

String

Instance ID.

node_names

Array of strings

Node names.

job_id

String

ID of the task for creating a read replica.

This parameter is returned only when a pay-per-use read replica is created.

order_id

String

Order ID. This parameter is returned when yearly/monthly read replicas are created.

Status code: 400

Table 5 Response body parameters

Parameter

Type

Description

error_code

String

Error code.

error_msg

String

Error message.

Status code: 500

Table 6 Response body parameters

Parameter

Type

Description

error_code

String

Error code.

error_msg

String

Error message.

Example Request

Creating a read replica for a DB instance

POST https://{endpoint}/v3/054e292c9880d4992f02c0196d3ea468/instances/ba62a0b83a1b42bfab275829d86ac0fdin07/nodes/enlarge
{
  "priorities" : [ 1, 2 ]
}

Example Response

Status code: 201

Success.

{
  "instance_id" : "ba62a0b83a1b42bfab275829d86ac0fdin07",
  "node_names" : [ "gauss-ccf5_node03" ],
  "job_id" : "dff1d289-4d03-4942-8b9f-463ea07c000d"
}

Status Code

For details, see Status Codes.

Error Code

For details, see Error Codes.