Atualize configurações da tabela, como TTL, número máximo de versões, definições de stream e throughput reservado, usando o Tablestore SDK for Go.
Pré-requisitos
Descrição do método
func (tableStoreClient *TableStoreClient) UpdateTable(request *UpdateTableRequest) (*UpdateTableResponse, error)
Nota
Ao chamar o método
UpdateTable(), defina pelo menos um dos seguintes parâmetros: TableOption, StreamSpec ou ReservedThroughput.Ao configurar TableOption, especifique os parâmetros TimeToAlive e MaxVersion.
Exemplo de código
O exemplo de código a seguir modifica as configurações da tabela test_table.
func UpdateTableSample(client *tablestore.TableStoreClient) {
updateTableReq := new(tablestore.UpdateTableRequest)
updateTableReq.TableName = "test_table"
// Table configuration.
updateTableReq.TableOption = new(tablestore.TableOption)
// Set the time to live (TTL), in seconds.
updateTableReq.TableOption.TimeToAlive = 86400
// Set the maximum number of versions.
updateTableReq.TableOption.MaxVersion = 3
// Set the maximum version offset, in seconds.
updateTableReq.TableOption.DeviationCellVersionInSec = 86400
// Specify whether to allow data updates.
updateTableReq.TableOption.AllowUpdate = proto.Bool(false)
// Enable Stream and set the Stream expiration time to 7 days.
// When you modify the ExpirationTime parameter, you must also set EnableStream to true.
updateTableReq.StreamSpec = new(tablestore.StreamSpecification)
updateTableReq.StreamSpec.EnableStream = true
updateTableReq.StreamSpec.ExpirationTime = 168
// Set the reserved read throughput to 0 CU and the reserved write throughput to 0 CU.
// Non-zero throughput is applicable only to high-performance instances in CU mode.
updateTableReq.ReservedThroughput = new(tablestore.ReservedThroughput)
updateTableReq.ReservedThroughput.Readcap = 0
updateTableReq.ReservedThroughput.Writecap = 0
// Call the UpdateTable method to update the table configuration.
_, err := client.UpdateTable(updateTableReq)
if (err != nil) {
fmt.Println("Failed to update table with error:", err)
} else {
fmt.Println("Update table finished.")
}
}