本記事では、obshell-sdk-goを使用して必要なRPMパッケージをダウンロードする方法について説明します。
説明
まず、obshell-sdk-go クイックスタートを参照し、obshell-sdk-goの使い方を確認することをお勧めします。
サンプルコード
ローカルマシンとアーキテクチャが同じRPMパッケージをダウンロードする
指定されたアーキテクチャまたはシステムのRPMをダウンロード
最新バージョンのRPMパッケージをダウンロードする
package main import ( "fmt" "github.com/oceanbase/obshell-sdk-go/util" ) // マシンとアーキテクチャが同じで最新のobshellパッケージをダウンロードして実行する func DownloadSameArch() { entry := util.PackageEntry{ Name: "obshell", } dest, err := util.DownloadPackage("/root/download", entry) if err != nil { panic(err) } fmt.Println(dest) }指定バージョンのRPMパッケージをダウンロードする
package main import ( "fmt" "github.com/oceanbase/obshell-sdk-go/util" ) // マシンと同じアーキテクチャの指定バージョンのコミュニティ版OceanBaseデータベースパッケージをダウンロードして実行する func DownloadSameArchVersion() { entry := util.PackageEntry{ Name: "oceanbase-ce", Version: "4.3.5.0", } dest, err := util.DownloadPackage("/root/download", entry) if err != nil { panic(err) } fmt.Println(dest) }
最新バージョンのRPMパッケージをダウンロード
package main import ( "fmt" "github.com/oceanbase/obshell-sdk-go/util" ) func DownloadDiffArch() { // 指定されたアーキテクチャの最新のobshellパッケージをダウンロード entry := util.PackageEntry{ Name: "obshell", } // アーキテクチャとシステムをそれぞれaarch64、el8に指定する mirror := util.OB_COMMUNITY_STABLE_BASE.GetMirror(util.AARCH64, util.EL8) dest, err := mirror.Download("/root/download", entry) if err != nil { panic(err) } fmt.Println(dest) }指定バージョンのRPMパッケージをダウンロードする
package main import ( "fmt" "github.com/oceanbase/obshell-sdk-go/util" ) // 指定アーキテクチャとバージョンのobshellパッケージをダウンロードする func DownloadDiffArchVersion() { entry := util.PackageEntry{ Name: "obshell", Version: "4.2.4.0", } // アーキテクチャとシステムをそれぞれaarch64、el8に指定する mirror := util.OB_COMMUNITY_STABLE_BASE.GetMirror(util.AARCH64, util.EL8) dest, err := mirror.Download("/root/download", entry) if err != nil { panic(err) } fmt.Println(dest) }
関連ドキュメント
obshell-sdk-pythonでAPIメソッドを呼び出す方法については、RPMパッケージのダウンロードを参照してください。