Tous les produits
Search
Centre de documentation

Tablestore:Utiliser des colonnes de clé primaire à incrémentation automatique

Dernière mise à jour :Aug 08, 2026

Configurez une colonne de clé primaire à incrémentation automatique et récupérez sa valeur générée lors de l'écriture des données avec le SDK Tablestore pour Python.

Prérequis

Installez le SDK Tablestore pour Python et initialisez un client. Les colonnes de clé primaire à incrémentation automatique nécessitent la version 4.0.0 ou ultérieure. Nous vous recommandons d'utiliser la dernière version disponible.

Description de la fonctionnalité

Tablestore génère un entier signé 64 bits pour chaque colonne de clé primaire à incrémentation automatique. Ces valeurs sont uniques et strictement croissantes au sein d'une même clé de partition, mais pas nécessairement consécutives.

Configurer une colonne de clé primaire à incrémentation automatique

Lors de la création d'une table, définissez une colonne de clé primaire (autre que la clé de partition) de type INTEGER avec l'option PK_AUTO_INCR. Chaque table ne peut comporter qu'une seule colonne de clé primaire à incrémentation automatique. Vous ne pouvez pas en ajouter après la création de la table.

L'exemple suivant crée la table example_table avec la clé de partition id et la colonne de clé primaire à incrémentation automatique 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)

Écrire des données et obtenir la valeur générée

Lors de l'écriture des données, attribuez la valeur PK_AUTO_INCR à la colonne de clé primaire à incrémentation automatique. Pour exploiter la valeur générée dans des requêtes ou des mises à jour ultérieures, définissez le paramètre return_type sur 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)

Paramètres

Configuration de la colonne de clé primaire à incrémentation automatique

Le tuple présent dans schema_of_primary_key[] qui configure une colonne de clé primaire à incrémentation automatique contient les éléments suivants.

Nom

Type

Description

name (obligatoire)

str

Nom de la colonne de clé primaire.

type (obligatoire)

str

Type de la colonne de clé primaire. Définissez la valeur sur INTEGER.

option (obligatoire)

PrimaryKeyOption

Option de clé primaire. Définissez la valeur sur PK_AUTO_INCR. Une colonne de clé primaire à incrémentation automatique ne peut pas servir de clé de partition.

Paramètres d'écriture

La méthode put_row inclut les paramètres suivants liés aux colonnes de clé primaire à incrémentation automatique.

Nom

Type

Description

table_name (obligatoire)

str

Nom de la table.

row (obligatoire)

Row

Ligne à écrire. Attribuez la valeur PK_AUTO_INCR à la colonne de clé primaire à incrémentation automatique.

return_type (facultatif)

ReturnType

Type de réponse. Définissez la valeur sur RT_PK pour renvoyer la clé primaire de la ligne écrite. Si ce paramètre n'est pas spécifié, la clé primaire n'est pas renvoyée.

Réponse

La méthode put_row renvoie un tuple contenant les informations suivantes.

Champ

Type

Description

consumed

CapacityUnit

Unités de capacité (CU) de lecture et d'écriture consommées par l'opération.

return_row

Row

Si return_type est défini sur RT_PK, ce champ contient la clé primaire complète générée par Tablestore. Sinon, la valeur est None.