本記事では、APIを使用して指定したレプリカの属性を変更する方法について説明します。これには、レプリカタイプ、リソースプールが使用するリソース仕様、およびUNIT_NUMが含まれます。指定したテナント内の複数のレプリカを一度に変更することもサポートされています。
呼び出しの説明
パスワードが設定されている場合は、認証が必要です。詳細については、APIハイブリッド暗号化を参照してください。
リクエストパス
PATCH /api/v1/tenant/:name/replicas
リクエストパラメータ
パラメータ |
タイプ |
必須 |
サンプル値 |
説明 |
|---|---|---|---|---|
| zone_list | []ModifyReplicaZoneParam | はい | 詳細は以下の ModifyReplicaZoneParamのデータ構造 を参照してください | 変更するレプリカの属性を指定します。 |
ModifyReplicaZoneParamのデータ構造:
パラメータ |
タイプ |
必須 |
サンプル値 |
説明 |
|---|---|---|---|---|
| name | string | はい | zone1 | Zoneの名前。 |
| replica_type | string | いいえ | FULL | テナントのZone上のレプリカタイプ。FULL(フル機能レプリカ)またはREADONLY(読み取り専用レプリカ)に設定できます。デフォルトはFULLです。 |
| unit_config_name | string | いいえ | s1 | テナントリソースプールがZone上で使用するリソース仕様。 |
| unit_num | int | いいえ | 1 | テナントのZone上のunit数。 |
説明
いずれの属性も指定しなかった場合、レプリカは一切変更されません。
戻り結果
パラメータ |
タイプ |
説明 |
|---|---|---|
| successful | bool | リクエストが成功したかどうか。 |
| timestamp | time.Time | サーバーがリクエストを完了したタイムスタンプ。 |
| duration | int | サーバーがリクエストを処理した時間(ミリ秒)。 |
| status | int | HTTP Status仕様に準拠したエンコード。 |
| traceId | string | リクエストのTrace ID。 |
| data | DagDetailDTO | 非同期タスク情報。詳細は以下の DagDetailDTO情報のデータ構造 を参照してください。 |
| error | ApiError | リクエストによって生成されたError。以下の情報を含みます:
|
DagDetailDTO情報のデータ構造は以下のとおりです:
パラメータ |
型 |
説明 |
|---|---|---|
| id | string | DAG共通ID。 |
| dag_id | int | DAG ID。OceanBaseデータベースに記録される主キーです。 |
| name | string | DAG名。 |
| stage | int | DAGの現在の実行段階。 |
| max_stage | int | DAG実行プロセス中の段階総数。 |
| state | string | DAGの実行状態。 |
| operator | string | DAG実行操作タイプ。 |
| start_time | time.Time | DAG実行開始時間。 |
| end_time | time.Time | DAG実行終了時間。 |
| additional_data | map[string]any | DAGその他のデータ。 |
| nodes | []NodeDetailDTO | DAG内の全ノード情報。ノードの詳細情報を取得するを参照してください。 |
例
リクエスト例
PATCH 10.10.10.1:2886/api/v1/tenant/t1/replicas
{
"zone_list": [
{
"zone_name": "zone1",
"replica_type": "READONLY"
}
]
}
レスポンス例
{
"successful": true,
"timestamp": "2024-10-14T10:55:13.075034453+08:00",
"duration": 62,
"status": 200,
"traceId": "f7b0d53ef063568b",
"data": {
"id": "14",
"dag_id": 4,
"name": "Modify tenant replicas",
"stage": 1,
"max_stage": 1,
"state": "READY",
"operator": "RUN",
"start_time": "0001-01-01T00:00:00Z",
"end_time": "0001-01-01T00:00:00Z",
"additional_data": null,
"nodes": null
}
}
関連ドキュメント
コマンドラインでAPIを呼び出すほか、SDKメソッドを使用してAPIを呼び出すこともできます。
obshell-sdk-pythonを使用したAPIメソッドのリクエスト方法については、テナントレプリカの変更を参照してください。
obshell-sdk-goを使用したAPIメソッドのリクエスト方法については、テナントレプリカの変更を参照してください。