Tous les produits
Search
Centre de documentation

Tablestore:PutRow

Dernière mise à jour :Aug 18, 2026

Appelez l'opération PutRow pour insérer une seule ligne dans une table.

Remarque
  • Si la ligne n'existe pas, PutRow la crée. Si elle existe déjà, PutRow l'écrase.

  • Un appel réussi ne renvoie aucune erreur.

Structure du message de requête

message PutRowRequest {
    required string table_name = 1;
    required bytes row = 2; // Plainbuffer-encoded binary data.
    required Condition condition = 3;
    optional ReturnContent return_content = 4;
    optional string transaction_id = 5;
}           

Nom

Type

Obligatoire

Description

table_name

string

Oui

Nom de la table dans laquelle écrire les données.

row

bytes

Oui

Données de la ligne à écrire, y compris les colonnes de clé primaire et les colonnes d'attribut. Encodées au format Plainbuffer. Pour plus d'informations, consultez Plainbuffer.

condition

Condition

Oui

Indique si Tablestore vérifie l'existence de la ligne avant l'écriture. Valeurs possibles :

  • IGNORE (par défaut) : Ignore la vérification d'existence.

  • EXPECT_EXIST : La ligne doit exister avant l'écriture.

  • EXPECT_NOT_EXIST : La ligne ne doit pas exister avant l'écriture.

return_content

ReturnContent

Non

Type de données à renvoyer après une écriture réussie. Seule la clé primaire peut être renvoyée. Utilisez ce paramètre avec la fonctionnalité de colonne de clé primaire à incrémentation automatique.

transaction_id

string

Non

ID de la transaction locale. Obligatoire lors de l'écriture de données au sein d'une transaction locale.

Structure du message de réponse

message PutRowResponse {
    required ConsumedCapacity consumed = 1;
    optional bytes row = 2;
}         

Nom

Type

Description

consumed

ConsumedCapacity

Unités de capacité consommées par cette opération. Pour plus de détails, consultez Consommation d'unités de capacité.

row

bytes

Données de la ligne renvoyées. Ce champ n'est présent que si return_content est défini. Si return_content n'est pas défini ou si aucune donnée n'est renvoyée, ce champ est NULL.

Les données renvoyées sont encodées au format PlainBuffer. Pour plus d'informations sur PlainBuffer, consultez PlainBuffer.

Utiliser un SDK

Les SDK suivants permettent d'insérer une seule ligne de données.

Consommation d'unités de capacité

  • Si la ligne n'existe pas, la consommation d'unités de capacité dépend de la vérification de condition.

    • IGNORE : Consomme des unités de capacité d'écriture (WCU). WCU = ceil((taille de la clé primaire + taille des colonnes d'attribut) / 4 Ko).

    • EXPECT_NOT_EXIST : Consomme à la fois des WCU et des unités de capacité de lecture (RCU). WCU = ceil((taille de la clé primaire + taille des colonnes d'attribut) / 4 Ko). RCU = ceil(taille de la clé primaire / 4 Ko).

    • EXPECT_EXIST : L'écriture échoue et consomme 1 WCU et 1 RCU.

  • Si la ligne existe, la consommation d'unités de capacité dépend de la vérification de condition.

    • IGNORE : Consomme des WCU. WCU = ceil((taille de la clé primaire + taille des colonnes d'attribut) / 4 Ko).

    • EXPECT_EXIST : Consomme à la fois des WCU et des RCU. WCU = ceil((taille de la clé primaire + taille des colonnes d'attribut) / 4 Ko). RCU = ceil(taille de la clé primaire / 4 Ko).

    • EXPECT_NOT_EXIST : L'écriture échoue et consomme 1 WCU et 1 RCU.

    Pour savoir comment la taille des données est calculée, consultez Tarification.

  • Pour une mise à jour conditionnelle, la consommation est calculée comme ci-dessus en cas de succès. En cas d'échec, l'opération consomme 1 WCU et 1 RCU.

  • Si la requête expire et que les résultats sont indéfinis, des UC peuvent ou non être consommées.

  • Une erreur interne (code d'état HTTP 5xx) ne consomme pas d'unités de capacité. Toutes les autres erreurs consomment 1 WCU.