Appelez l'opération PutRow pour insérer une seule ligne dans une table.
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 |
Oui |
Indique si Tablestore vérifie l'existence de la ligne avant l'écriture. Valeurs possibles :
|
|
|
return_content |
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 |
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 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.