Todos los productos
Search
Centro de documentos

Tablestore:BatchWriteRow

Última actualización: Sep 03, 2026

Inserta, modifica o elimina varias filas de datos de una o más tablas simultáneamente.

BatchWriteRow es una operación compuesta que agrupa llamadas a PutRow, UpdateRow y DeleteRow en una sola solicitud. Cada suboperación se ejecuta y factura de forma independiente, y cada una tiene su propia entrada de respuesta.

En comparación con llamar a PutRow, UpdateRow o DeleteRow individualmente, BatchWriteRow reduce la latencia de ida y vuelta y mejora el throughput de escritura.

Sintaxis de la solicitud

message BatchWriteRowRequest {
    repeated TableInBatchWriteRowRequest tables = 1;
    optional string transaction_id = 2;
    optional bool is_atomic = 3;
}        

Parámetro

Tipo

Obligatorio

Descripción

tables

TableInBatchWriteRowRequest

Sí

Filas sobre las que se realizará la operación de escritura por lotes.

La solicitud falla si se cumple alguna de las siguientes condiciones:

  • Una tabla especificada no existe.

  • Se especifican varias tablas con el mismo nombre.

  • El nombre de una tabla no cumple con las convenciones de nomenclatura. Para obtener más información, consulte Naming conventions and data types.

  • A una fila le falta su clave primaria, o tiene una columna de clave primaria con un nombre no conforme o un tipo no válido.

  • El nombre de una columna de atributo en una fila no cumple con las convenciones de nomenclatura. Para obtener más información, consulte Naming conventions and data types.

  • El nombre de una columna de atributo en una fila entra en conflicto con el nombre de una columna de clave primaria.

  • El valor de una columna de clave primaria o de una columna de atributo supera el límite de tamaño. Para obtener más información, consulte General limits.

  • Varias filas en una tabla comparten la misma clave primaria.

  • El número total de filas supera 200, o el tamaño total de los datos supera 4 MB.

  • Una tabla especificada no contiene las filas sobre las que desea realizar operaciones. En este caso, se devuelve el error OTSParameterInvalidException.

  • El número de columnas en un PutRowInBatchWriteRowRequest para una tabla supera 1,024.

  • El número de columnas especificado por el parámetro ColumnUpdate en un UpdateRowInBatchWriteRowRequest para una tabla supera 1,024.

transaction_id

string

No

ID de transacción local. Obligatorio cuando se utiliza la función de transacción local para escribir datos en lotes.

is_atomic

bool

No

Especifica si se debe ejecutar la escritura por lotes como operaciones atómicas.

Sintaxis de la respuesta

Nota

BatchWriteRow puede fallar parcialmente a nivel de fila y aun así devolver HTTP 200. Compruebe is_ok en cada entrada de RowInBatchWriteRowResponse para confirmar el resultado de cada fila y gestionar los fallos según corresponda.

message BatchWriteRowResponse {
    repeated TableInBatchWriteRowResponse tables = 1;
}      

Parámetro

Tipo

Descripción

tables

TableInBatchWriteRowResponse

Resultado de cada operación en cada tabla, incluido el estado de ejecución, los códigos de error y las CU consumidas.

El orden de las entradas de TableInBatchWriteRowResponse coincide con el orden de las entradas de TableInBatchWriteRowRequest en la solicitud. Dentro de cada tabla, el orden de las entradas de RowInBatchWriteRowResponse en put_rows, update_rows y delete_rows coincide con el orden de las entradas correspondientes de PutRowInBatchWriteRowRequest, UpdateRowInBatchWriteRowRequest y DeleteRowInBatchWriteRowRequest.

Si una operación de fila falla, is_ok en su entrada de RowInBatchWriteRowResponse es false.

Uso de los SDK de Tablestore

Los siguientes SDK de Tablestore admiten operaciones de escritura por lotes:

Consumo de CU

  • Si la operación falla, no se consumen CU.

  • Si la solicitud agota el tiempo de espera y los resultados son indefinidos, es posible que se consuman CU o no.

  • En otros escenarios, cada PutRowInBatchWriteRowRequest, UpdateRowInBatchWriteRowRequest o DeleteRowInBatchWriteRowRequest se trata como una operación independiente de PutRow, UpdateRow o DeleteRow con CU calculadas por separado. Para obtener más información, consulte PutRow, UpdateRow y DeleteRow.