调用BeWrite接口开启增量的详情表进行写操作
接口说明
写接口需要确保写入的表开启增量。
请求语法
GET /sendmsg HTTP/1.1
Authorization: Basic $(base64_encode({username}:{password}))
Host: beEndpoint
其中,username和password在控制台上设置,beEndpoint在用户密码设置完成后在控制台上获取,格式为${instanceId}.be.aliyuncs.com。
请求参数
参数列表
参数名称 | 数据类型 | 是否必填 | 示例值 | 描述 |
table | String | 是 | be-cn-xxx_bhv_test | 需要写入增量的数据表名称,格式为${instanceId}_${tableName},详情见table |
h | String | 是 | 2035815278 | 写入内容的哈希值,智能引擎对增量消息做负载均衡,详情见hash |
msg | String | 是 | CMD%3Dadd%1F%0A_item_hash_id%3D5656019669429076362%1F%0Aauthor%3Dtest%1F%0A | 增量写入的内容,详情见msg |
table
table参数的取值为${instanceId}_${tableName}。如实例ID为be-cn-xxx,其中行为表的名称为bhv_test,则改参数为be-cn-xxx_bhv_test
hash
增量数据的hash值,主要是为了确保在对增量处理时能够负载均衡,并且对相同主键的增量信息进行保序。一般取主键字段的hash值。
msg
格式要求,增量以kv对的格式发送给召回引擎。kv对使用'='(%3D)分割,多个kv对之间使用"%1F%0A"分割,多个kv对以"%1F%0A"结尾
增量支持add和delete消息,需要以CMD%3Dadd或CMD%3Ddelete的方式加入到增量消息的首个kv对中。
add消息需要填充详细表中的所有字段,否则会因为数据不完整导致消息消费失败。
delete消息需要包含表的主键字段
主键字段在不同表的含义如下:
详情表:详情表的主键字段
行为表:行为表的user_id字段,删除操作时还需要加上item_id字段
add example
...&msg=CMD%3Dadd%1F%0A_item_hash_id%3D-5656019669429076362%1F%0Aauthor%3Dtest%1F%0Acategory%3D1%1F%0Acategory_level%3D5%1F%0Acategory_level1%3D1%1F%0Acategory_path%3D1_1_1_1_1%1F%0Achannel%3Dnone%1F%0Acity%3Dnone%1F%0Aclick_cnt%3D-1%1F%0Acollect_cnt%3D-1%1F%0Acomm_cnt%3D-1%1F%0Acountry%3Dnone%1F%0Adownload_cnt%3D-1%1F%0Aduration%3D-1%1F%0Aexpire_time%3D4102416000%1F%0Afeatures%3Dnone%1F%0Aid%3D-5656019669429076362%1F%0A&...
delete example
...&msg=CMD%3Ddelete%1F%0Aid%3D-5656019669429076362%1F%0A&...
返回数据
返回结果为JSON格式。
成功:{"success":true}
失败:{"errno":1,"errmsg":"Error"},具体错误原因请联系技术支持
示例
请求示例GET
GET /sendmsg?table=detail_test_inc_table&h=-71900929&msg=CMD%3Ddelete%1F%0Aid%3D-5656019669429076362%1F%0A
Header:
{
"Authorization" : "Basic authcontent",
"Host": be-cn-xxxx.be.aliyuncs.com
}
正常返回示例
Header:
{
"Server" : "nginx/1.6.1",
"Connection" : "close",
"Date" : "Tue, 24 Aug 2021 14:24:08 GMT",
"Content-Type" : "text/html; charset=utf-8"
}
Body:
{
"success":true
}