调用BulkImport接口批量写入数据。写入数据时支持插入一行数据、修改行数据以及删除行数据。
请求消息结构
message BulkImportRequest {
required string table_name = 1;
repeated RowInBulkImportRequest rows = 2;
}
参数 | 类型 | 是否必选 | 描述 |
table_name | string | 是 | 数据表名称。 |
rows | repeated RowInBulkImportRequest | 是 | 要操作的数据行。 |
响应消息结构
message BulkImportResponse {
required string table_name = 1;
repeated RowInBulkImportResponse rows = 2;
}
参数 | 类型 | 是否必选 | 描述 |
table_name | string | 是 | 数据表名称。 |
rows | repeated RowInBulkImportResponse | 是 | 是否成功导入、出错信息以及消耗的CU。 |
使用SDK
服务能力单元消耗
如果本次操作整体失败,则不消耗任何服务能力单元。
如果请求超时,结果未定义,则服务能力单元有可能被消耗,也可能未被消耗。
如果返回内部错误(HTTP状态码:5xx),则此次操作不消耗服务能力单元,其他错误情况消耗1写服务能力单元。
其他情况将每个RowInBulkImportRequest视作相对应的写操作独立计算读写服务能力单元。RowInBulkImportRequest中会包括插入、更新和删除行的操作。
当插入一行数据时,消耗的写服务能力单元为本行的主键数据大小与要插入属性列数据大小之和除以4 KB向上取整。
当更新一行数据时,消耗的写服务能力单元为本行的主键数据大小与要更新的属性列数据大小之和除以4 KB向上取整。如果更新操作中包含有需要删除的属性列,只有其列名长度计入该属性列数据大小。
当删除一行数据时,消耗的写服务能力单元为本行主键数据大小除以4 KB向上取整。
关于数据大小计算的更多信息,请参见数据存储量。