Updated on 2025-07-29 GMT+08:00

Configuring SQL Throttling Rules

Function

This API is used to configure SQL throttling rules. Before calling this API:

URI

PUT /v3/{project_id}/instances/{instance_id}/sql-filter/rules

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, which uniquely identifies an instance.

Constraints

N/A

Range

The value contains 36 characters with a suffix of in07. Only letters and digits are allowed.

Default Value

N/A

Request Parameters

Table 2 Request header parameters

Parameter

Mandatory

Type

Description

X-Auth-Token

Yes

String

Definition

User token. To obtain this value, call the IAM API for obtaining a user token.

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

Constraints

N/A

Range

N/A

Default Value

N/A

X-Language

No

String

Definition

Request language type.

Constraints

N/A

Range

  • en-us

  • zh-cn

Default Value

en-us

Table 3 Request body parameter

Parameter

Mandatory

Type

Description

sql_filter_rules

Yes

Array of NodeSqlFilterRuleInfo objects

Definition

SQL throttling rules for nodes.

Constraints

N/A

Table 4 NodeSqlFilterRuleInfo

Parameter

Mandatory

Type

Description

node_id

Yes

String

Definition

Node ID.

Constraints

N/A

Range

The value contains 36 characters, starting with a UUID and ending with no07. Only letters and digits are allowed.

Default Value

N/A

rules

Yes

Array of NodeSqlFilterRule objects

Definition

SQL throttling rules.

Constraints

The sql_type value must be unique.

Table 5 NodeSqlFilterRule

Parameter

Mandatory

Type

Description

sql_type

Yes

String

Definition

SQL statements.

Constraints

N/A

Range

  • SELECT

  • UPDATE

  • DELETE

  • INSERT (The kernel version must be later than 2.0.54.240600.)

Default Value

N/A

patterns

Yes

Array of NodeSqlFilterRulePattern objects

Definition

SQL throttling rules.

Constraints

N/A

Table 6 NodeSqlFilterRulePattern

Parameter

Mandatory

Type

Description

pattern

Yes

String

Definition

SQL throttling rule.

Constraints

N/A

Range

A rule can consist of up to 128 keywords. The keywords are separated by tildes (~), for example, select~from~t1. The rule cannot contain backslashes (\), commas (,), or double tildes (~~). It cannot end with tildes (~).

Default Value

N/A

max_concurrency

Yes

Integer

Definition

Maximum number of concurrent SQL statements.

Constraints

N/A

Range

≥ 0

Default Value

N/A

Response Parameters

Status code: 200

Table 7 Response body parameter

Parameter

Type

Description

job_id

String

Definition

ID of the task for configuring SQL throttling rules.

Range

N/A

Status code: 400

Table 8 Response body parameters

Parameter

Type

Description

error_code

String

Error code.

error_msg

String

Error message.

Status code: 500

Table 9 Response body parameters

Parameter

Type

Description

error_code

String

Error code.

error_msg

String

Error message.

Example Request

Configuring SQL throttling rules (SQL statements include SELECT, UPDATE, and DELETE.)

PUT https://{endpoint}/v3/054e292c9880d4992f02c0196d3ea468/instance/af315b8e6aaa41799bd9a31f2de15abcin07/sql-filter/rules
{
  "sql_filter_rules" : [ {
    "node_id" : "c01a5645eb2c4fb6a9373542f5366e50no07",
    "rules" : [ {
      "sql_type" : "SELECT",
      "patterns" : [ {
        "pattern" : "select~from~t1",
        "max_concurrency" : 0
      }, {
        "pattern" : "select~from~t3~where~id",
        "max_concurrency" : 10
      } ]
    }, {
      "sql_type" : "UPDATE",
      "patterns" : [ {
        "pattern" : "update~t3~where~id",
        "max_concurrency" : 10
      } ]
    } ]
  }, {
    "node_id" : "b234a5645eb2c4ji3b9372342f5362397no07",
    "rules" : [ {
      "sql_type" : "SELECT",
      "patterns" : [ {
        "pattern" : "select~from~t3~where~id",
        "max_concurrency" : 10
      } ]
    }, {
      "sql_type" : "DELETE",
      "patterns" : [ {
        "pattern" : "delete~t3~where~id",
        "max_concurrency" : 10
      } ]
    } ]
  } ]
}

Example Response

Status code: 200

Success.

{
  "job_id" : "aef6a470-fb63-4d5b-b644-12ead7e019b3"
}

Status Code

For details, see Status Codes.

Error Code

For details, see Error Codes.