Llame a la operación PutRow para insertar una sola fila en una tabla.
Si la fila no existe, PutRow la crea. Si la fila ya existe, PutRow la sobrescribe.
Una llamada exitosa no devuelve ningún error.
Estructura del mensaje de solicitud
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;
}
|
Nombre |
Tipo |
Obligatorio |
Descripción |
|
table_name |
string |
Sí |
El nombre de la tabla donde se escribirán los datos. |
|
row |
bytes |
Sí |
Los datos de la fila que se van a escribir, incluidas las columnas de clave principal y las columnas de atributos. Codificados en formato Plainbuffer. Para obtener más información, consulte Plainbuffer. |
|
condition |
Sí |
Controla si Tablestore comprueba la existencia de la fila antes de escribirla. Valores válidos:
|
|
|
return_content |
No |
El tipo de datos que se devolverá tras una escritura exitosa. Solo se puede devolver la clave principal. Utilice este parámetro con la función de columna de clave principal de incremento automático. |
|
|
transaction_id |
string |
No |
El ID de transacción local. Es obligatorio al escribir datos dentro de una transacción local. |
Estructura del mensaje de respuesta
message PutRowResponse {
required ConsumedCapacity consumed = 1;
optional bytes row = 2;
}
|
Nombre |
Tipo |
Descripción |
|
consumed |
Las unidades de capacidad consumidas por esta operación. Para más detalles, consulte Capacity unit consumption. |
|
|
row |
bytes |
Los datos de la fila devueltos. Solo están presentes cuando Los datos devueltos están codificados en formato PlainBuffer. Para obtener más información sobre PlainBuffer, consulte PlainBuffer. |
Uso de un SDK
A continuación se listan los SDK que admiten la inserción de una sola fila de datos.
Consumo de unidades de capacidad
-
Si la fila no existe, el consumo de unidades de capacidad depende de la comprobación de condición.
IGNORE: Consume unidades de capacidad de escritura (WCU). WCU = ceil((tamaño de clave principal + tamaño de columna de atributo) / 4 KB).
EXPECT_NOT_EXIST: Consume tanto WCU como unidades de capacidad de lectura (RCU). WCU = ceil((tamaño de clave principal + tamaño de columna de atributo) / 4 KB). RCU = ceil(tamaño de clave principal / 4 KB).
EXPECT_EXIST: La escritura falla y consume 1 WCU y 1 RCU.
-
Si la fila existe, el consumo de unidades de capacidad depende de la comprobación de condición.
IGNORE: Consume WCU. WCU = ceil((tamaño de clave principal + tamaño de columna de atributo) / 4 KB).
EXPECT_EXIST: Consume tanto WCU como RCU. WCU = ceil((tamaño de clave principal + tamaño de columna de atributo) / 4 KB). RCU = ceil(tamaño de clave principal / 4 KB).
EXPECT_NOT_EXIST: La escritura falla y consume 1 WCU y 1 RCU.
Para obtener información sobre cómo se calcula el tamaño de los datos, consulte Pricing.
En una actualización condicional, el consumo se calcula como se indica arriba en caso de éxito. En caso de fallo, la operación consume 1 WCU y 1 RCU.
Si la solicitud supera el tiempo de espera y los resultados son indefinidos, es posible que se consuman o no unidades de capacidad.
Un error interno (código de estado HTTP 5xx) no consume unidades de capacidad. Todos los demás errores consumen 1 WCU.