Tablestore SDK for Go を使用して、テーブルの生存時間 (TTL)、最大バージョン数、最大バージョンオフセット、更新権限、ストリーム設定、および予約済みスループットを更新します。
前提条件
Tablestore SDK for Go をインストールし、クライアントを初期化します。
説明
UpdateTable API を呼び出して、テーブルのテーブルプロパティ、ストリーム設定、または予約済みスループットを更新します。各リクエストでは、少なくとも 1 種類の設定を指定する必要があります。
func (tableStoreClient *TableStoreClient) UpdateTable(request *UpdateTableRequest) (*UpdateTableResponse, error)
次のサンプルでは、example_table テーブルの生存時間 (TTL)、最大バージョン数、最大バージョンオフセット、および更新権限を更新します。
request := &tablestore.UpdateTableRequest{
TableName: "example_table",
TableOption: &tablestore.TableOption{
TimeToAlive: 86400,
MaxVersion: 3,
DeviationCellVersionInSec: 86400,
AllowUpdate: proto.Bool(false),
},
}
_, err := client.UpdateTable(request)
if err != nil {
log.Fatal(err)
}
パラメーター
UpdateTableRequest のパラメーターは次のとおりです。
|
名前 |
タイプ |
説明 |
|
TableName (必須) |
|
テーブル名。 |
|
TableOption (オプション) |
|
更新するテーブルプロパティ。 |
|
StreamSpec (オプション) |
|
ストリーム設定。 |
|
ReservedThroughput (オプション) |
|
予約済み読み取り/書き込みスループット。 0 以外の値は、CU モードの高性能インスタンスにのみ適用されます。 |
TableOption、StreamSpec、および ReservedThroughput のうち、少なくとも 1 つを指定する必要があります。
テーブルオプション
TableOption のパラメーターは次のとおりです。
|
名前 |
タイプ |
説明 |
|
TimeToAlive (オプション) |
|
生存時間 (TTL)。単位は秒。値が |
|
MaxVersion (オプション) |
|
各属性列に保持される最大バージョン数。多次元インデックスまたはセカンダリインデックスを使用するには、このパラメーターを |
|
DeviationCellVersionInSec (オプション) |
|
最大バージョンオフセット。単位は秒。書き込まれたデータのタイムスタンプと現在のシステム時刻との差は、この範囲内である必要があります。有効なバージョンは |
|
AllowUpdate (オプション) |
|
|
UpdateFullRow はテーブルの作成時にのみ設定でき、UpdateTable を呼び出して変更することはできません。
ストリーム設定
StreamSpec は StreamSpecification 型で、そのパラメーターは次のとおりです。
|
名前 |
タイプ |
説明 |
|
EnableStream (必須) |
|
ストリームを有効にするかどうかを指定します。 |
|
ExpirationTime (オプション) |
|
増分ログの保持期間。単位は時間。最大値: 重要
|
予約済みスループット
ReservedThroughput のパラメーターは次のとおりです。
|
名前 |
タイプ |
説明 |
|
Readcap (オプション) |
|
予約済み読み取りスループット。単位はキャパシティーユニット (CU)。デフォルト値: |
|
Writecap (オプション) |
|
予約済み書き込みスループット。単位はキャパシティーユニット (CU)。デフォルト値: |
例
ストリーム設定の更新
次のサンプルでは、example_table テーブルのストリームを有効にし、増分ログの保持期間を 168 時間に設定します。
request := &tablestore.UpdateTableRequest{
TableName: "example_table",
StreamSpec: &tablestore.StreamSpecification{
EnableStream: true,
ExpirationTime: 168,
},
}
_, err := client.UpdateTable(request)
if err != nil {
log.Fatal(err)
}