本記事では、APIを使用してテナントの復元を開始する方法について説明します。
呼び出しの説明
インターフェース制約
パスワードが設定されている場合は、認証を通過する必要があります。詳細については、APIハイブリッド暗号化を参照してください。
リクエストパス
POST /api/v1/tenant/restore
リクエストパラメータ
パラメータ |
型 |
必須 |
サンプル値 |
説明 |
|---|---|---|---|---|
| data_backup_uri | string | 必須 | "file:///data/backup/data" | ソースデータのバックアップファイルパス。 |
| archive_log_uri | string | 任意 | "file:///data/backup/clog" | ソースログアーカイブの宛先。設定しない場合は、data_backup_uriと同じになります。 |
| restore_tenant_name | string | 必須 | "new_tenant" | 復元するテナント名。 |
| time_stamp | time.time | 任意 | "2006-01-02T15:04:05.000+08:00" | 復元タイムスタンプを指定します。形式は2006-01-02T15:04:05.000Z08:00です。設定すると、その時点まで復元され、そのtimestampポイントも含まれます。 |
| scn | int | 任意 | 1728727696264250400 | 復元するSCNを指定します。設定すると、そのSCNポイントまで復元され、そのSCNポイントも含まれます。 |
| ha_high_thread_score | int | 任意 | 10 | 高可用性・高優先順位スレッドの現在のワーカースレッド数を設定します。値の範囲は[0, 100]です。設定しない場合、デフォルトは10です。 |
| zone_list | []ZoneParam | 必須 | 詳細は後述のZoneParamのデータ構造を参照してください | テナントが使用するリソース仕様およびレプリカの配置状況。 |
| primary_zone | string | 任意 | "random" | テナントのPrimary Zone。デフォルトはrandomです。 |
| concurrency | int | 任意 | 2 | データ復元の並列度。指定しない場合、デフォルトはそのテナントに割り当てられたMAX_CPU数に等しくなります。 |
| decryption | []string | 任意 | {"pwd1"} | バックアップセットに設定するパスワード。すべてのパスワードを記述する必要があります。 |
| kms_encrypt_info | string | 任意 | なし | キー管理情報を設定します。暗号化されていない場合、または復元時に元のキー管理サービスにアクセスできる場合は、設定しなくてもかまいません。 |
ZoneParamのデータ構造:
パラメータ |
型 |
必須 |
サンプル値 |
説明 |
|---|---|---|---|---|
| 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ステータスコードに準拠したエンコードです。 |
| 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内の全ノード情報。ノードの詳細情報を取得するを参照してください。 |
例
リクエスト例
POST 10.10.10.1:2886/api/v1/tenant/restore
{
"data_backup_uri": "oss://oss-328067-1014-obshell/backup/archive/test/1/1002/data?host=oss-cn-hangzhou.aliyuncs.com",
"restore_tenant_name": "rt2",
"zone_list":
[
{
"name": "zone1",
"unit_config_name": "unit1",
"unit_num": 1
}
],
"archive_log_uri": "oss://oss-328067-1014-obshell/backup/archive/test/1/1002/clog?host=oss-cn-hangzhou.aliyuncs.com"
}
レスポンス例
{
"successful": true,
"timestamp": "2024-01-09T17:11:43.385889278+08:00",
"duration": 1,
"status": 200,
"traceId": "877fe32b83634153",
"data": {
"id": "22130706433028869",
"dag_id": 4,
"name": "Restore backup_rt2",
"stage": 1,
"max_stage": 5,
"state": "READY",
"operator": "RUN",
"start_time": "2024-01-09T17:11:43.384630643+08:00",
"end_time": "2024-01-09T17:11:43.384630643+08:00",
"additional_data": null,
"nodes": null
}
}
関連ドキュメント
コマンドラインでAPIを呼び出すほかに、SDKメソッドを通じてAPIを呼び出すこともできます。
obshell-sdk-pythonを使用したAPIメソッドのリクエスト方法については、単一テナントの復元を開始するを参照してください。
obshell-sdk-goを使用したAPIメソッドのリクエスト方法については、単一テナントの復元を開始するを参照してください。