本記事では、obshellを使用して、OBProxy(OceanBaseデータベースプロキシ、ODPとも呼ばれる)のアップグレードに必要なインストールパッケージをobshellメタデータベースにアップロードする方法について説明します。
説明
このAPIはobshell V4.2.6からサポートされています。
呼び出しの説明
インターフェース制約
- obshell ServerはこのAPIに対してセキュリティ検証を行います。詳細については、APIハイブリッド暗号化を参照してください。
- このobshellが管理するOBProxyサービスが存在する必要があります。
リクエストパス
POST /api/v1/obproxy/package
リクエストタイプ
multipart/form-data
リクエストパラメータ
パラメータ |
型 |
必須 |
サンプル値 |
説明 |
|---|---|---|---|---|
| file | file | はい | なし | アップロードするRPMパッケージを指定します。 |
戻り値
パラメータ |
型 |
説明 |
|---|---|---|
| successful | bool | リクエストが成功したかどうかを示します。 |
| timestamp | time.Time | サーバーがリクエストを完了したタイムスタンプです。 |
| duration | int | サーバーがリクエストを処理した時間(ミリ秒)です。 |
| status | int | HTTPステータスコード仕様に準拠したエンコードです。 |
| traceId | string | リクエストのTrace IDです。 |
| data | sqlite.UpgradePkgInfo | 詳細は以下のUpgradePkgInfo情報のデータ構造を参照してください。 |
| error | ApiError | リクエストによって生成されたErrorで、以下の情報が含まれます:
|
UpgradePkgInfo情報のデータ構造は以下のとおりです:
パラメータ |
型 |
説明 |
|---|---|---|
| pkgId | int | ソフトウェアパッケージID |
| name | string | ソフトウェアパッケージ名 |
| version | string | ソフトウェアパッケージバージョン |
| releaseDistribution | string | ソフトウェアパッケージのリリースビルド番号 |
| distribution | string | ソフトウェアパッケージのリリース版 |
| release | string | ソフトウェアパッケージのビルド番号 |
| architecture | string | ソフトウェアパッケージアーキテクチャ |
| Size | int | ソフトウェアパッケージ解凍サイズ、単位はバイト |
| PayloadSize | int | ソフトウェアパッケージサイズ、単位はバイト |
| ChunkCount | int | ソフトウェアパッケージのチャンク数 |
| Md5 | string | ソフトウェアパッケージのMD5 |
| GmtModify | time.Time | ソフトウェアパッケージの変更日時 |
例
リクエスト例
POST 10.10.10.1:2886/api/v1/obproxy/package
-F "file=@/home/rpmbuild/RPMS/x86_64/obproxy-ce-4.3.3.0-5.el7.x86_64.rpm"
/api/v1/obproxy/package
レスポンス例
{
"successful": true,
"timestamp": "2025-03-20T16:36:37.887767957+08:00",
"duration": 1491,
"status": 200,
"traceId": "e01a49a077931ea4",
"data": {
"PkgId": 2,
"Name": "obproxy-ce",
"Version": "4.3.3.0",
"ReleaseDistribution": "5.el7",
"Distribution": "el7",
"Release": "5",
"Architecture": "x86_64",
"Size": 118448854,
"PayloadSize": 29122380,
"ChunkCount": 2,
"Md5": "ab2e9b3b86eeafc482170927210a2fa4",
"GmtModify": "2025-03-20T08:36:37Z"
}
}
関連ドキュメント
コマンドラインでAPIを呼び出すほかに、SDKメソッドを通じてAPIを呼び出すこともできます。obshell-sdk-pythonを使用したAPIメソッドのリクエスト方法については、OBProxyインストールパッケージのアップロードを参照してください。