本記事では、obshell-sdk-goを使用してOceanBaseデータベースのアップグレード前チェックを実行する方法について説明します。
説明
まずは obshell-sdk-goクイックスタート を参照し、obshell-sdk-goの使用方法を確認することを推奨します。
注意事項
obshellが正常に動作していることを確認してください。
リクエストされたクライアントに対応するノードが、アップグレード対象のクラスタ内にあることを確認してください。
サンプルコード
タスクの同期実行
package main
import (
"github.com/oceanbase/obshell-sdk-go/services"
)
func main() {
// クライアントインスタンスを作成します。ノードアドレスは'10.10.10.1'、ポートは2886です。
// クラスタのroot@sysパスワードは'****'です。
client, err := services.NewClientWithPassword("10.10.10.1", 2886, "***")
if err != nil {
panic(err)
}
// クラスタでのアップグレード実行前のチェックを実行します。
req := client.V1().NewUpgradeObCheckRequest("4.2.2.0", "xxx.el7")
if _, err = client.V1().UpgradeObCheckSyncWithRequest(req); err != nil {
panic(err)
}
}
タブ タスクの非同期実行
package main
import (
"github.com/oceanbase/obshell-sdk-go/services"
)
func main() {
// クライアントインスタンスを作成します。ノードアドレスは '10.10.10.1'、ポートは2886です。
// クラスタのroot@sysパスワードは '****' です。
client, err := services.NewClientWithPassword("10.10.10.1", 2886, "***")
if err != nil {
panic(err)
}
// クラスタでのアップグレード実行前のチェックを実行します。
req := client.V1().NewUpgradeObCheckRequest("4.2.2.0", "xxx.el7")
dag, err := client.V1().UpgradeObCheckWithRequest(req)
if err != nil {
panic(err)
}
// タスクが成功するまで待機します
if _, err = client.V1().WaitDagSucceed(dag.GenericID); err != nil {
panic(err)
}
}
関連ドキュメント
OceanBaseデータベースのアップグレード前チェックのAPIインターフェースの説明については、OceanBaseデータベースのアップグレードチェックを参照してください。
obshell-sdk-pythonを使用したAPIメソッドのリクエスト方法の紹介については、OceanBaseデータベースのアップグレードチェックを参照してください。