Todos os produtos
Search
Central de documentação

Tablestore:Atualize a table configuration

Última atualização: Jul 03, 2026

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

Inicializar um cliente do Tablestore

Descrição do método

func (tableStoreClient *TableStoreClient) UpdateTable(request *UpdateTableRequest) (*UpdateTableResponse, error)

Parâmetros de UpdateTableRequest

  • TableName (obrigatório) string: Nome da tabela de dados.

  • TableOption (opcional) *TableOption: Informações de configuração da tabela. Inclui os seguintes parâmetros:

    Parâmetro

    Tipo

    Descrição

    TimeToAlive (obrigatório)

    int

    Tempo de vida (TTL) dos dados na tabela. Unidade: segundos.

    • O valor -1 indica que os dados nunca expiram. Caso contrário, o valor mínimo é 86400 (1 dia). O sistema remove automaticamente os dados que excedem o TTL.

    • Para usar recursos de índice de pesquisa ou índice secundário, defina o TTL como -1 ou configure o parâmetro AllowUpdate como false.

    MaxVersion (obrigatório)

    int

    Número máximo de versões.

    • Defina o número máximo de versões como 1 para usar recursos de índice de pesquisa ou índice secundário.

    DeviationCellVersionInSec (opcional)

    int64

    Desvio máximo de versão. Unidade: segundos.

    • A diferença entre o timestamp dos dados gravados e a hora atual do sistema deve estar dentro do intervalo de desvio máximo de versão. Caso contrário, a gravação falhará.

    • O intervalo de versões válidas para dados de colunas de atributo é [max(data write time - valid version offset, data write time - TTL), data write time + valid version offset).

    AllowUpdate (opcional)

    *bool

    Indica se atualizações de dados são permitidas.

    • Se definido como false, não é possível atualizar dados pelo método UpdateRow().

  • StreamSpec (opcional) *StreamSpecification: Informações de configuração do Stream. Inclui os seguintes parâmetros:

    Parâmetro

    Tipo

    Descrição

    EnableStream (obrigatório)

    bool

    Especifica se o Stream deve ser ativado. Valor padrão: false.

    Importante

    Se EnableStream estiver definido como true, também será necessário definir ExpirationTime.

    ExpirationTime (opcional)

    int32

    Tempo de expiração do Stream. Indica a duração de retenção dos logs incrementais. Unidade: horas. Valor máximo: 168 (7 dias).

    Importante

    Ao modificar o parâmetro ExpirationTime, defina EnableStream como true. Caso contrário, o canal de dados existente ficará indisponível e afetará a sincronização de dados do índice de pesquisa da tabela.

  • ReservedThroughput (opcional) *ReservedThroughput: Throughput reservado de leitura e gravação, em CU. Valor padrão: 0. Apenas instâncias de alto desempenho no modo CU podem ter valores diferentes de zero.

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.")
    }
}

Referências

Atualizar uma tabela de séries temporais