Utilice Tablestore SDK for Python para configurar una columna de clave principal con incremento automático y obtener el valor generado al escribir datos.
Requisitos previos
Instale Tablestore SDK for Python e inicialice un cliente. Las columnas de clave principal con incremento automático requieren la versión 4.0.0 o posterior. Se recomienda usar la versión más reciente.
Descripción de la función
Tablestore genera un entero de 64 bits con signo para cada columna de clave principal con incremento automático. Los valores generados son únicos y estrictamente crecientes dentro de la misma clave de partición, aunque pueden no ser consecutivos.
Configuración de una columna de clave principal con incremento automático
Al crear una tabla, establezca una columna de clave principal no particionada del tipo INTEGER como PK_AUTO_INCR. Cada tabla admite como máximo una columna de clave principal con incremento automático. No es posible agregarla después de crear la tabla.
El ejemplo a continuación crea example_table con la clave de partición id y la columna de clave principal con 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)
Escritura de datos y obtención del valor generado
Al escribir datos, asigne el valor PK_AUTO_INCR a la columna de clave principal con incremento automático. Para usar el valor generado en consultas o actualizaciones posteriores, configure 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
Configuración de la columna de clave principal con incremento automático
La tupla en schema_of_primary_key[] que configura una columna de clave principal con incremento automático contiene los siguientes elementos:
|
Nombre |
Tipo |
Descripción |
|
name (obligatorio) |
|
Nombre de la columna de clave principal. |
|
type (obligatorio) |
|
Tipo de la columna de clave principal. Establezca el valor en |
|
option (obligatorio) |
|
Opción de clave principal. Establezca el valor en |
Parámetros de escritura
El método put_row incluye los siguientes parámetros relacionados con las columnas de clave principal con incremento automático:
|
Nombre |
Tipo |
Descripción |
|
table_name (obligatorio) |
|
Nombre de la tabla. |
|
row (obligatorio) |
|
Fila por escribir. Establezca el valor de la columna de clave principal con incremento automático en |
|
return_type (opcional) |
|
Tipo de respuesta. Establezca el valor en |
Respuesta
El método put_row devuelve una tupla con la siguiente información:
|
Campo |
Tipo |
Descripción |
|
consumed |
|
CU de lectura y escritura consumidas por la operación. |
|
return_row |
|
Si |