本記事では、obshellを使用してOBProxy(OceanBaseデータベースプロキシ、別名ODP)のバージョンをアップグレードする方法について説明します。
説明
obshell V4.2.6以降でこのAPIがサポートされています。
呼び出しの概要
インターフェース制約
- obshell ServerはこのAPIに対してセキュリティ検証を行います。詳細については APIハイブリッド暗号化を参照してください。
- このobshellで管理されているOBProxyサービスが必要です。
リクエストパス
POST /api/v1/obproxy/upgrade
リクエストパラメータ
パラメータ |
型 |
必須 |
サンプル値 |
説明 |
|---|---|---|---|---|
| version | string | はい | 4.3.3.0 | アップグレード後のターゲットバージョンを指定します |
| release | string | はい | 5.el7 | アップグレード後のターゲットリリースビルド番号を指定します |
| upgrade_dir | string | いいえ | /data/upgrade | アップグレードタスクで使用するディレクトリを指定します |
戻り値
パラメータ |
型 |
説明 |
|---|---|---|
| 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/obproxy/upgrade
この例では、10.10.10.1:2886ノードに対してOBProxyのアップグレードリクエストを送信し、OBProxyを4.3.3.0-5.el7にアップグレードします。
{
"version": "4.3.3.0",
"release": "'5.el7'
}
レスポンス例
{
"successful": true,
"timestamp": "2025-03-20T16:41:13.943708524+08:00",
"duration": 13,
"status": 200,
"traceId": "987a5b278dbcbf72",
"data": {
"id": "401949121070808811",
"dag_id": 11,
"name": "Upgrade obproxy",
"stage": 1,
"max_stage": 10,
"state": "READY",
"operator": "RUN",
"start_time": "2025-03-20T16:41:13.940921477+08:00",
"end_time": "2025-03-20T16:41:13.940921477+08:00",
"additional_data": null,
"nodes": null
}
}
関連ドキュメント
コマンドラインでAPIを呼び出すほかに、SDKメソッドを使用してAPIを呼び出すこともできます。obshell-sdk-pythonを使用したAPIメソッドのリクエスト方法については、OBProxyのアップグレードを参照してください。