Help Center/ GeminiDB/ API Reference/ API v3/ Disaster Recovery/ Creating Active-Active Instances
Updated on 2026-09-22 GMT+08:00

Creating Active-Active Instances

Function

This API allows you to create active-active instances in different regions, so that their data can be synchronized.

Constraints

  • Currently, active-active GeminiDB Cassandra instances can be created, but active-active GeminiDB HBase and DynamoDB-Compatible instances cannot.
  • This API can be used only for GeminiDB Cassandra instances with classic storage.
  • Currently, counter tables, TRUNCATE operations, and Lucene indexes cannot be synchronized between active-active instances.

Authorization Information

Each account has permissions to call all APIs, but IAM users must have the required permissions specifically assigned.

  • If you are using role/policy-based authorization, see the required permissions in Permissions and Supported Actions.
  • If you are using identity policy-based authorization, the following identity policy-based permissions are required.

    Action

    Access Level

    Resource Type (*: required)

    Condition Key

    Alias

    Dependencies

    gaussdbfornosql:instance:buildBiactiveRelation

    Write

    instance *

    • g:ResourceTag/<tag-key>
    • g:EnterpriseProjectId

    nosql:instance:buildBiactiveInstance

    -

URI

POST /v3/{project_id}/instances/{instance_id}/dual-active-relationship

Table 1 URI parameters

Parameter

Mandatory

Type

Description

project_id

Yes

String

Definition

Project ID of a tenant in a region. To obtain this value, see Obtaining a Project ID.

Constraints

N/A

Range

The value contains 32 characters. Only letters and digits are allowed.

Default Value

N/A

instance_id

Yes

String

Definition

Instance ID. To obtain the value, call the Querying Instances and Details API. If no instance is available, call the Creating an Instance API to create one.

Constraints

N/A

Range

N/A

Default Value

N/A

Request Parameters

Table 2 Request header parameters

Parameter

Mandatory

Type

Description

X-Auth-Token

Yes

String

Definition

User token

You can obtain the token by calling the IAM API by following Obtaining a User Token Through Password Authentication.

Constraints

N/A

Range

N/A

Default Value

N/A

Table 3 Request body parameters

Parameter

Mandatory

Type

Description

destination_region

Yes

String

Definition

Region where a destination instance is located

Constraints:

N/A

Values:

N/A

Default value:

N/A

destination_instance_id

Yes

String

Definition

Destination instance ID To obtain the value, call the Querying Instances and Details API.

Constraints:

N/A

Values:

N/A

Default value:

N/A

tables

No

Array of strings

Definition

List of database tables for which you want to create active-active relationships. If this parameter is not transferred, instance-level data synchronization is used. The format is keyspace.table.

Example: ["keyspace1.table1","keyspace2.table2"]

Constraints

A maximum of 500 database tables are supported.

Range

N/A

Default Value

N/A

Response Parameters

Status code: 202

Table 4 Response body parameters

Parameter

Type

Description

job_id

String

Definition

Task ID

Values:

N/A

Status code: 400

Table 5 Response body parameters

Parameter

Type

Description

error_code

String

Definition

Error code.

Range

N/A

error_msg

String

Definition

Error message.

Range

N/A

Example Requests

  • Creating Active-Active Instances
    POST https://{endpoint}/v3/054e292c9880d4992f02c0196d3ea468/instances/a4d8ea2584e047439a667703c0684119in06/dual-active-relationship
    
    { 
      "destination_region" : "ap-southeast-1", 
      "destination_instance_id" : "a4d8ea2584e047439a667703c0684119in06" 
    }
  • Creating an active-active instance for table-level data synchronization
    POST https://{endpoint}/v3/054e292c9880d4992f02c0196d3ea468/instances/a4d8ea2584e047439a667703c0684119in06/dual-active-relationship
    
    { 
       "destination_region" : "ap-southeast-1", 
       "destination_instance_id" : "a4d8ea2584e047439a667703c0684119in06", 
       "tables" : [ "keyspace.table1", "keyspace.table2" ] 
     }

Example Responses

Status code: 202

Success

{
  "job_id" : "f85104b5-4a9c-4e0f-9505-fc5409d8f7ae" 
}

Status Codes

For details, see Status Codes.

Error Codes

For details, see Error Codes.