サーバーレベル構成を設定する際は、既存の構成が新しい構成に完全に上書きされるフルオーバーライド方式を採用します。
呼び出しの説明
インターフェース制約
obshell ServerはこのAPIに対してセキュリティ検証を行います。詳細については、APIハイブリッド暗号化を参照してください。
リクエストパス
POST /api/v1/observer/config
PUT /api/v1/observer/config
リクエストパラメータ
パラメータ |
型 |
必須 |
サンプル値 |
説明 |
|---|---|---|---|---|
| observerConfig | map[string]string | はい | { "mysql_port": "2881", "rpc_port": "2882", "memory_limit": "16G", "system_memory": "8G" } |
OBServerノードの構成パラメータを設定します。 |
| scope | Scope | はい | 詳細については、後述のリクエスト例を参照してください。 | この構成を適用するOBServerノードの範囲を設定します。詳細については、後述のScope情報のデータ構造を参照してください。 |
Scope情報のデータ構造は以下のとおりです:
パラメータ |
型 |
必須 |
サンプル値 |
説明 |
|---|---|---|---|---|
| type | string | はい | "SERVER" | 設定の適用レベルを設定します。取り得る値は GLOBAL、ZONE、SERVER です。 |
| target | []string | いいえ | サンプル値:["10.10.10.1:2886", "10.10.10.2:2886"] または ["zone1","zone2"] | typeがSERVERの場合はOBServerノードのリストを設定します。typeがZONEの場合はゾーンのリストを設定します。typeがGLOBALの場合は設定不要です。 |
戻り値
パラメータ |
型 |
説明 |
|---|---|---|
| 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/observer/config
{
"observerConfig": {
"redoDir":"/data/workspace/redo",
"dataDir":"/data/workspace/data",
"mysql_port": "2881",
"rpc_port": "2882",
"datafile_size":"24G",
"cpu_count":"16",
"memory_limit": "16G",
"system_memory": "8G",
"log_disk_size":"40G"
},
"scope": {
"target": [
"10.10.10.1:2886",
"10.10.10.2:2886"
],
"type": "SERVER"
}
}
レスポンス例
{
"successful": true,
"timestamp": "2024-01-09T17:11:43.385889278+08:00",
"duration": 1,
"status": 200,
"traceId": "877fe32b83634153",
"data": {
"id": "22130706433028869",
"dag_id": 4,
"name": "Update observer config",
"stage": 1,
"max_stage": 1,
"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を呼び出すこともできます。