Use o Tablestore SDK for Python para configurar uma coluna de chave primária com incremento automático e obter o valor gerado ao gravar dados.
Pré-requisitos
Instale o Tablestore SDK for Python e inicialize um cliente. As colunas de chave primária com incremento automático exigem a versão 4.0.0 ou posterior. Recomendamos usar a versão mais recente.
Descrição da função
O Tablestore gera um inteiro assinado de 64 bits para cada coluna de chave primária com incremento automático. Os valores gerados são únicos e estritamente crescentes dentro da mesma chave de partição, mas podem não ser consecutivos.
Configure uma coluna de chave primária com incremento automático
Ao criar uma tabela, defina uma coluna de chave primária não particionada do tipo INTEGER como PK_AUTO_INCR. Cada tabela admite no máximo uma coluna de chave primária com incremento automático. Não é possível adicionar essa coluna após a criação da tabela.
O exemplo a seguir cria a tabela example_table com a chave de partição id e a coluna de chave primária com incremento automático sequence_id.
table_meta = TableMeta(
"example_table",
[
("id", "STRING"),
("sequence_id", "INTEGER", PK_AUTO_INCR),
],
)
table_options = TableOptions()
reserved_throughput = ReservedThroughput(CapacityUnit(0, 0))
client.create_table(table_meta, table_options, reserved_throughput)
Gravar dados e obter o valor gerado
Ao gravar dados, defina o valor da coluna de chave primária com incremento automático como PK_AUTO_INCR. Para usar o valor gerado em consultas ou atualizações subsequentes, defina return_type como ReturnType.RT_PK.
primary_key = [
("id", "device-001"),
("sequence_id", PK_AUTO_INCR),
]
attribute_columns = [("status", "online")]
row = Row(primary_key, attribute_columns)
_, return_row = client.put_row(
"example_table",
row,
return_type=ReturnType.RT_PK,
)
print(return_row.primary_key)
Parâmetros
Configuração da coluna de chave primária com incremento automático
A tupla em schema_of_primary_key[] que configura uma coluna de chave primária com incremento automático contém os seguintes elementos:
|
Nome |
Tipo |
Descrição |
|
name (obrigatório) |
|
Nome da coluna de chave primária. |
|
type (obrigatório) |
|
Tipo da coluna de chave primária. Defina o valor como |
|
option (obrigatório) |
|
Opção da chave primária. Defina o valor como |
Parâmetros de gravação
O método put_row inclui os seguintes parâmetros relacionados às colunas de chave primária com incremento automático:
|
Nome |
Tipo |
Descrição |
|
table_name (obrigatório) |
|
Nome da tabela. |
|
row (obrigatório) |
|
Linha a gravar. Defina o valor da coluna de chave primária com incremento automático como |
|
return_type (opcional) |
|
Tipo de resposta. Defina o valor como |
Resposta
O método put_row retorna uma tupla com as seguintes informações:
|
Campo |
Tipo |
Descrição |
|
consumed |
|
CUs de leitura e gravação consumidas pela operação. |
|
return_row |
|
Se |