本記事では、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 Status仕様に準拠したエンコードです。 |
| traceId | string | リクエストのトレースIDです。 |
| data | sqlite.UpgradePkgInfo | 詳細については、以下のUpgradePkgInfo情報のデータ構造を参照してください。 |
| error | ApiError | リクエストによって生成されたエラーで、以下の情報が含まれます:
|
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インストールパッケージのアップロードを参照してください。