本記事では、APIを使用してテナントの復旧状況を確認する方法について説明します。
呼び出しの説明
インターフェース制約
パスワードが設定されている場合は、認証を通過する必要があります。詳細については、APIハイブリッド暗号化を参照してください。
リクエストパス
GET /api/v1/tenant/:name/restore/overview
実行結果
| パラメータ | タイプ | 説明 |
|---|---|---|
| successful | bool | リクエストが成功したかどうかを示します。 |
| timestamp | time.Time | サーバーがリクエストを完了したタイムスタンプです。 |
| duration | int | サーバーがリクエストを処理した時間(ミリ秒)です。 |
| status | int | HTTP Status規格に準拠したエンコードです。 |
| traceId | string | リクエストのトレースIDです。 |
| data | RestoreOverview | 復元タスクの詳細情報です。詳細については、以下のRestoreOverviewのデータ構造を参照してください。 |
| error | ApiError | リクエストによって生成されたエラーで、以下の情報が含まれます:
|
RestoreOverviewのデータ構造:
| パラメータ | タイプ | 説明 |
|---|---|---|
| tenant_id | int | 復旧タスクを実行するテナントID。 |
| job_id | int | 復旧に属するjob_idで、1回の復旧タスクに対応します。 |
| restore_tenant_name | string | 復旧対象のテナント名。 |
| restore_tenant_id | int | 復旧対象のテナントID。 |
| backup_tenant_name | string | バックアップのソーステナント名。 |
| backup_tenant_id | int | バックアップのソーステナントID。 |
| backup_cluster_name | string | バックアップのソースクラスタ名。 |
| backup_dest | string | バックアップセットパス、ユーザーが入力したデータバックアップパスとログアーカイブパスを指します。 |
| restore_option | string | 復旧オプション。 |
| restore_scn | int | ユーザー指定の復旧ポイント。 |
| restore_scn_display | string | ユーザー指定の復旧ポイントのタイムスタンプ表記。 |
| status | string | 復旧状態。 |
| start_timestamp | time.time | 復旧タスク開始時のタイムスタンプ。 |
| backup_set_list | string | 復旧に依存するデータバックアップセットパスリスト。 |
| backup_piece_list | string | 復旧に依存するログアーカイブシャードパスリスト。 |
| tablet_count | int | 復旧対象のtabletの総数。 |
| total_bytes | int | 復旧総バイト数。 |
| description | string | 説明情報。 |
| finish_tablet_count | int | 復旧が完了したtabletの総数。 |
| finish_bytes | int | 復旧完了バイト数。 |
| finish_bytes_display | string | 完了した復旧バイト数をストレージ容量単位で表示。 |
| total_bytes_display | string | 復旧総バイト数をストレージ容量単位で表示。 |
| recover_scn | int | ログの復旧ポイント。 |
| recover_scn_display | time.time | ログの復旧ポイントのタイムスタンプ表記。 |
| recover_progress | DECIMAL(6, 2) | ログの復旧進捗。 |
| restore_progress | DECIMAL(6, 2) | データ復旧進捗。 |
| backup_cluster_version | int | バックアップソースクラスタのバージョン番号。 |
| ls_count | int | 復旧ログストリームの総量。 |
| finish_ls_count | int | 復旧ログストリームの完了数。 |
| comment | string | 復旧失敗時に失敗情報を記録。 |
| finish_timestamp | time.time | 復旧タスク終了時のタイムスタンプ。 |
例
リクエスト例
GET 10.10.10.1:2886/api/v1/tenant/rt2/restore/overview
レスポンス例
{
"successful": true,
"timestamp": "2024-10-14T15:36:51.770834417+08:00",
"duration": 36,
"status": 200,
"traceId": "764a05909590ef9e",
"data": {
"tenant_id": 1,
"job_id": 1,
"restore_tenant_name": "rt2",
"restore_tenant_id": 1006,
"backup_tenant_name": "tenant1",
"backup_tenant_id": 1002,
"backup_cluster_name": "ob-test",
"restore_option": "pool_list=rt2_zone1_1728890715815&locality=FULL@zone1&primary_zone=RANDOM",
"restore_scn": 1728890608464651300,
"restore_scn_display": "2024-10-14T15:23:28.464651+08:00",
"status": "SUCCESS",
"start_timestamp": "2024-10-14T15:25:18.092782+08:00",
"backup_set_list": "oss://oss-328067-1014-obshell/backup/archive/test/1/1002/data/backup_set_2_full?host=oss-cn-hangzhou.aliyuncs.com",
"backup_piece_list": "oss://oss-328067-1014-obshell/backup/archive/test/1/1002/clog/piece_d1001r2p2?host=oss-cn-hangzhou.aliyuncs.com",
"tablet_count": 590,
"finish_tablet_count": 590,
"total_bytes": 18622071,
"total_bytes_display": "17.76MB",
"finish_bytes": 0,
"finish_bytes_display": "0.00MB",
"description": "",
"recover_scn": 0,
"recover_scn_display": "",
"recover_progress": "",
"restore_progress": "",
"backup_cluster_version": 17180000519,
"ls_count": 2,
"finish_ls_count": 0,
"comment": "",
"finish_timestamp": "2024-10-14T15:28:34.519092+08:00"
}
}
関連ドキュメント
コマンドラインからAPIを呼び出す以外に、SDKメソッドを使用してAPIを呼び出すこともできます。
obshell-sdk-pythonを使用したAPIメソッドのリクエスト方法の詳細については、テナントの復旧状況の確認を参照してください。
obshell-sdk-goを使用したAPIメソッドのリクエスト方法の詳細については、テナントの復旧状況の確認を参照してください。