调用BeWrite接口开启增量的详情表进行写操作

接口说明

  • 写接口需要确保写入的表开启增量。

请求语法

GET /sendmsg HTTP/1.1
Authorization: Basic $(base64_encode({username}:{password}))
Host: beEndpoint

其中,usernamepassword在控制台上设置,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
}