上传文档
支持新增、更新、删除 等操作,以及对应批量操作
URL
/v3/openapi/apps/$app_name/$table_name/actions/bulk
- $app_name 为您要操作的应用名
- $table_name 为您要将数据推送到应用中的表名
- 以上 URL 省略了请求Header参数及编码等因素
- 以上 URL 中省略了访问应用的 host 地址
支持格式
JSON
HTTP请求方式
POST
请求参数
推送涉及的签名及设置请求Header操作,请参考
V3版API 签名机制 文档中的描述
POST方式提交 body数据格式(外网高级版支持timestamp,下面以高级版应用数据格式为例)
- cmd : 必选字段。定义该文档的操作行为,可以为“add”、“update”、“delete”,标准版不支持“update”。建议一个请求中进行批量更新操作,提高网络交互及处理效率。“add”表示新增文档,如果该主键对应文档已经存在,则执行先“delete”再“add”的操作;“update”表示更新文档,对该主键对应文档进行部分字段更新,如果未存在主键文档,则执行“add”操作;“delete”表示删除文档,如果该主键对应文档已经不存在,则认为删除成功。
- timestamp : 可选字段。用来记录文档实际发生时间,单位为毫秒。系统会用该时间戳来作为同一主键文档更新顺序的判断标准,标准版应用没有该timestamp选项。如果没有timestamp项,则默认以文档发送到OpenSearch的时间作为文档更新时间进行操作。
- fields : 必选字段。要操作的文档内容,主键字段必选,系统所有操作都是通过主键来进行的。对于“delete”只需要提供文档主键即可。
- 对于Array类型,需要使用JsonArray来处理,如[{“fields”: { “id”: “0”,”int_array”: [14,85],”string_array”: [“abc”,”xyz”]},”cmd”: “ADD”}];
- 注意:最外层是JsonArray类型,支持多个文档批量操作。
返回结果
示例
请求:(此处省略了请求Header参数及编码等因素)
注意事项
- 使用API/SDK推送数据有次数及大小限制,不同应用限制不同,具体请参考系统限制描述。
- 数据上传后请务必检查返回值,并对相关错误码进行重试(尤其是3007错误),否则会出现数据丢失情况。同时,数据处理是异步的,系统返回“OK”后只表示系统接收数据成功,数据处理过程的错误会在控制台错误信息中展示,请注意及时检查。
- POST的数据大小有限制,如果您上传的文档总量过大(编码前2M),服务器将拒绝接收任何参数,同时返回异常。
- POST推送操作 body 部分的数据若包含中文必须要做 utf-8 编码,Header中的Content-MD5 参数也一样,在计算数据 MD5 值前,必需要先进行 utf-8 编码,否则会出现推送报错问题。