本記事では、APIを使用してクラスタレベルのバックアップ設定を設定する方法について説明します。
呼び出しの説明
インターフェース制約
パスワードが設定されている場合は、認証を通過する必要があります。詳細については、APIハイブリッド暗号化を参照してください。
リクエストパス
POST /api/v1/obcluster/backup/config
リクエストパラメータ
パラメータ |
型 |
必須 |
サンプル値 |
説明 |
|---|---|---|---|---|
| backup_base_uri | string | はい | "file:///data/backup" | バックアップファイルのベースパスです。設定後、ログアーカイブとデータバックアップファイルはすべてこのベースパス配下に保存されます。 |
| log_archive_concurrency | int | いいえ | 0 | ログアーカイブのワーカースレッド総数を設定します。デフォルト値は0で、取り得る範囲は[0, 100]です。 |
| binding | string | いいえ | "optional" | アーカイブと業務の優先モードを設定します。現在、optional(ユーザー業務優先)とmandatory(アーカイブ優先)をサポートしています。設定しない場合、デフォルトはOptionalモードです。 |
| ha_low_thread_score | int | いいえ | 0 | バックアップやバックアップクリーンアップなどの高可用性低優先順位タスクの現在のワーカースレッド数を指定します。バックアップ開始前に、このパラメータの値を適宜引き上げることができ、推奨は毎回値を倍増させることです。デフォルト値は0で、取り得る範囲は[0, 100]です。 |
| piece_switch_interval | string | いいえ | 1d | pieceの切り替え間隔を設定します。設定しない場合、デフォルトは1dで、取り得る範囲は[1d, 7d]です。 |
| archive_lag_target | string | いいえ | 7200s | テナントログアーカイブの遅延時間を制御します。デフォルトは2分で、前後のアーカイブI/Oの最大間隔を指定するために使用されます。取り得る範囲は[0ms, 7200s]です。 |
| delete_policy | DeletePolicy | いいえ | { "delete_policy": "{ "policy": "default", "recovery_window": "7d", }, } |
バックアップ成功後、業務ニーズに応じてテナントに対してクリーンアップポリシーを設定できます。クリーンアップポリシーを設定したテナントは、毎時1回自動クリーンアップが実行され、期限切れのバックアップが適時にクリーンアップされます。設定における各値の意味は以下の通りです:
|
戻り値
パラメータ |
型 |
説明 |
|---|---|---|
| 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/obcluster/backup/config
{
"backup_base_uri":"file://data/backup",
"log_archive_concurrency":100,
"binding":"Mandatory",
"ha_low_thread_score":35,
"piece_switch_interval":"6d",
"archive_lag_target":"2h",
"delete_policy":
{
"policy":"",
"recovery_window":"5d"
}
}
レスポンス例
{
"successful": true,
"timestamp": "2024-01-09T17:11:43.385889278+08:00",
"duration": 1,
"status": 200,
"traceId": "877fe32b83634153",
"data": {
"id": "22130706433028869",
"dag_id": 4,
"name": "Set obcluster backup config",
"stage": 1,
"max_stage": 2,
"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メソッドのリクエスト方法の詳細については、クラスタレベルバックアップ設定の設定を参照してください。