このトピックでは、Tablestore SDK for Go を使用してテーブルの構成を更新する方法について説明します。
前提条件
メソッドの説明
func (tableStoreClient *TableStoreClient) UpdateTable(request *UpdateTableRequest) (*UpdateTableResponse, error)説明
UpdateTable()メソッドを呼び出すときは、TableOption、StreamSpec、または ReservedThroughput パラメーターの少なくとも 1 つを設定します。TableOption を設定する場合は、TimeToAlive パラメーターと MaxVersion パラメーターを設定します。
サンプルコード
次のサンプルコードは、test_table テーブルの構成を変更するために使用されます。
func UpdateTableSample(client *tablestore.TableStoreClient) {
updateTableReq := new(tablestore.UpdateTableRequest)
updateTableReq.TableName = "test_table"
// テーブル構成情報
updateTableReq.TableOption = new(tablestore.TableOption)
// TTL を秒単位で設定
updateTableReq.TableOption.TimeToAlive = 86400
// 最大バージョン数を設定
updateTableReq.TableOption.MaxVersion = 3
// 最大バージョンオフセットを秒単位で設定
updateTableReq.TableOption.DeviationCellVersionInSec = 86400
// 更新を許可するかどうかを設定
updateTableReq.TableOption.AllowUpdate = proto.Bool(false)
// Stream を有効にし、Stream の有効期限を 7 日間に設定
updateTableReq.StreamSpec = new(tablestore.StreamSpecification)
updateTableReq.StreamSpec.EnableStream = true
updateTableReq.StreamSpec.ExpirationTime = 168
// 予約済み読み取りスループットを 0 CU、予約済み書き込みスループットを 0 CU に設定 (CU モードの高性能インスタンスのみ、予約済み読み取り/書き込みスループットにゼロ以外の値を設定できます)
updateTableReq.ReservedThroughput = new(tablestore.ReservedThroughput)
updateTableReq.ReservedThroughput.Readcap = 0
updateTableReq.ReservedThroughput.Writecap = 0
// UpdateTable メソッドを呼び出して、テーブル構成を変更
_, err := client.UpdateTable(updateTableReq)
if (err != nil) {
fmt.Println("Failed to update table with error:", err)
} else {
fmt.Println("Update table finished.")
}
}