Tablestore SDK for Go を使用して、TTL (生存時間)、バージョンの最大数、ストリーム設定、予約スループットなどのテーブル構成を更新します。
前提条件
メソッドの説明
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)
// ストリームを有効にし、ストリームの有効期間を 7 日に設定します。
// ExpirationTime パラメーターを変更する場合は、EnableStream も true に設定する必要があります。
updateTableReq.StreamSpec = new(tablestore.StreamSpecification)
updateTableReq.StreamSpec.EnableStream = true
updateTableReq.StreamSpec.ExpirationTime = 168
// 予約済み読み取りスループットを 0 CU に、予約済み書き込みスループットを 0 CU に設定します。
// 0 以外のスループットは、CU モードの高性能インスタンスにのみ適用されます。
updateTableReq.ReservedThroughput = new(tablestore.ReservedThroughput)
updateTableReq.ReservedThroughput.Readcap = 0
updateTableReq.ReservedThroughput.Writecap = 0
// UpdateTable メソッドを呼び出して、テーブル構成を更新します。
_, err := client.UpdateTable(updateTableReq)
if (err != nil) {
fmt.Println("テーブルの更新に失敗しました。エラー:", err)
} else {
fmt.Println("テーブルの更新が完了しました。")
}
}