Todos os produtos
Search
Central de documentação

Tablestore:Coluna de chave primária de incremento automático

Última atualização: Jun 23, 2026

Este tópico descreve como configurar uma coluna de chave primária de incremento automático para uma tabela de dados usando o SDK do Tablestore para Python. Também explica como gravar dados em uma coluna de chave primária de incremento automático e recuperar os valores gerados para a coluna de chave primária de incremento automático.

Notas de uso

  • O SDK do Tablestore para Python V4.0.0 e versões posteriores oferecem suporte ao recurso de coluna de chave primária de incremento automático.

  • Os valores de uma coluna de chave primária de incremento automático são únicos e aumentam de forma monotônica, mas nem sempre de forma contínua, em uma partição que compartilha o mesmo valor de chave de partição.

Pré-requisitos

Um cliente é inicializado. Para obter mais informações, consulte Inicializar um cliente do Tablestore.

Configurar uma coluna de chave primária de incremento automático

Você pode especificar uma coluna de chave primária que não seja a chave de partição como uma coluna de chave primária de incremento automático ao criar uma tabela de dados. Para tabelas de dados existentes, não é possível configurar uma coluna de chave primária de incremento automático.

null

Você pode especificar uma coluna de chave primária que não seja a chave de partição como uma coluna de chave primária de incremento automático somente quando o tipo de dados da coluna de chave primária for Integer. Uma tabela de dados pode ter no máximo uma coluna de chave primária de incremento automático. Os valores gerados para a coluna de chave primária de incremento automático são inteiros longos de 64 bits com sinal.

Código de exemplo

O código de exemplo a seguir cria uma tabela de dados chamada test_table. A chave primária da tabela inclui a chave de partição id e a coluna de chave primária de incremento automático incr.

schema_of_primary_key = [('id', 'STRING'), ('incr', 'INTEGER', PK_AUTO_INCR)]
table_meta = TableMeta('test_table', schema_of_primary_key)
table_options = TableOptions()
reserved_throughput = ReservedThroughput(CapacityUnit())
try:
    client.create_table(table_meta, table_options, reserved_throughput)
    print("Create table succeeded.")
except Exception as e:
    print("Create table failed. %s" % e)

Gravar dados

Ao gravar dados em uma coluna de chave primária de incremento automático, você precisa apenas definir o valor da coluna de chave primária de incremento automático como um placeholder. Se você quiser obter o valor gerado da coluna de chave primária de incremento automático para consultas e atualizações de dados, também precisará definir o tipo de retorno de put_row como RT_PK.

Código de exemplo

O código de exemplo a seguir grava uma linha de dados na tabela test_table e obtém e imprime as informações da chave primária dos dados da linha gravada.

# Construct the primary key.
primary_key = [('id', 'row1'), ('incr', PK_AUTO_INCR)]

# Construct the row data to write.
attribute_columns = [('col1', 'val1')]
row = Row(primary_key, attribute_columns)

try:
    # Call the putRow method to write the row data, and set the return type to RT_PK (return the primary key information of the written row data).
    consumed, return_row = client.put_row('test_table', row, return_type=ReturnType.RT_PK)

    # Read and write CU consumption
    print('Read CU Cost: %s' % consumed.read)
    print('Write CU Cost: %s' % consumed.write)

    # Obtain and print the returned primary key information. If the return type is not set to RT_PK, the primary key information is not returned by default.
    if return_row is not None:
        print('Primary key: %s' % return_row.primary_key)
except Exception as e:
    print("Write failed. %s" % e)