本記事では、obshell-sdk-goを使用してタスクを操作する方法について説明します。
説明
package main
import (
"github.com/oceanbase/obshell-sdk-go/services"
"github.com/oceanbase/obshell-sdk-go/model"
)
func main() {
// クライアントインスタンスを作成します。ノードのアドレスは '10.10.10.1'、ポートは2886です。
// 所在クラスタのroot@sysパスワードは '****' です。
client, err := services.NewClientWithPassword("10.10.10.1", 2886, "***")
if err != nil {
panic(err)
}
// 現在のAgentの最後の運用保守タスクを取得します。
lastDag, err := client.V1().GetAgentLastMaintenanceDag()
if err != nil {
panic(err)
}
// そのタスクをロールバックし、成功するまで続けます。
req := client.V1().NewOperateDagRequest(lastDag.GenericID, model.ROLLBACK_STR)
if err = client.V1().OperateDagSyncWithRequest(req); err != nil {
panic(err)
}
}
package main
import (
"github.com/oceanbase/obshell-sdk-go/services"
"github.com/oceanbase/obshell-sdk-go/model"
)
func main() {
// クライアントインスタンスを作成します。ノードのアドレスは '10.10.10.1'、ポートは2886です。
// 所在クラスタのroot@sysパスワードは '****' です。
client, err := services.NewClientWithPassword("10.10.10.1", 2886, "***")
if err != nil {
panic(err)
}
// 現在のAgentの最後の運用保守タスクを取得します。
lastDag, err := client.V1().GetAgentLastMaintenanceDag()
if err != nil {
panic(err)
}
// そのタスクをロールバックします。
req := client.V1().NewOperateDagRequest(lastDag.GenericID, model.ROLLBACK_STR)
if err = client.V1().OperateDagWithRequest(req); err != nil {
panic(err)
}
}
関連ドキュメント
-
タスクの操作に関するAPIインターフェースの説明は、タスクの操作を参照してください。
obshell-sdk-pythonを使用したAPIメソッドのリクエストについては、タスクの操作を参照してください。