本記事では、obshell-sdk-goを使用してテナントレプリカを追加する方法について説明します。一括で追加することも可能です。
説明
package main
import (
"fmt"
"github.com/oceanbase/obshell-sdk-go/services"
"github.com/oceanbase/obshell-sdk-go/services/v1"
)
func main() {
// clientインスタンスを作成します。ノードアドレスは'10.10.10.1'、ポートは2886です。
client, err := services.NewClientWithPassword("10.10.10.1", 2886, "****")
if err != nil {
fmt.Print(err)
return
}
req := client.V1().NewScaleOutReplicasRequest("t1", []v1.ZoneParam{
{
Name: "zone2",
ReplicaType: "FULL",
UnitConfigName: "s1",
UnitNum: 1,
},
{
Name: "zone3",
ReplicaType: "READONLY",
UnitConfigName: "s1",
UnitNum: 1,
},
})
if _, err = client.V1().ScaleOutReplicasSyncWithRequest(req); err != nil {
fmt.Print(err)
return
}
}
タブ バックグラウンドで実行
package main
import (
"fmt"
"github.com/oceanbase/obshell-sdk-go/services"
"github.com/oceanbase/obshell-sdk-go/services/v1"
)
func main() {
// クライアントインスタンスを作成します。ノードのアドレスは '10.10.10.1'、ポートは2886です。
client, err := services.NewClientWithPassword("10.10.10.1", 2886, "****")
if err != nil {
fmt.Print(err)
return
}
req := client.V1().NewScaleOutReplicasRequest("t1", []v1.ZoneParam{
{
Name: "zone2",
ReplicaType: "FULL",
UnitConfigName: "s1",
UnitNum: 1,
},
{
Name: "zone3",
ReplicaType: "READONLY",
UnitConfigName: "s1",
UnitNum: 1,
},
)
dag, err := client.V1().ScaleOutReplicasWithRequest(req)
if err != nil {
fmt.Print(err)
return
}
// タスクが成功するまで待機します。
if _, err = client.V1().WaitDagSucceed(dag.GenericID); err != nil {
fmt.Print(err)
return
}
}
関連ドキュメント
obshell-sdk-pythonを使用したAPIメソッドの呼び出し方法については、テナントレプリカの追加を参照してください。