智能日志管理平台

  • 智能日志管理平台 > API 文档 > 数据推送 API

    数据推送 API

    最近更新时间: 2018-09-26 14:40:00

    接收地址

    https://nb-pipeline.qiniuapi.com

    数据推送

    请求语法

    POST /v2/repos/<RepoName>/data?tags=<tags>
    Content-Type: text/plain
    Authorization: Pandora <auth>
    keyName=valName<TAB>keyName=valName ...
    keyName=valName<TAB>keyName=valName ...
    ...
    

    请求内容

    参数 类型 必填 说明
    RepoName string 消息队列名称
    keyName string 字段名称
    valName string 对应字段名称的数据内容
    注意:如果是string类型
    那么 \t\r\n \ 需要用\转义
    空格' ' 可以不转义
    tags string 自定义字段

    多个keyNamevalName之间应使用单个 <TAB> 分隔。

    对于array类型:

    打点格式为[e1,e2,...,en],数组元素采用逗号分割,且所有元素使用[]包括,当元素类型为string时,需要加上双引号;

    对于map类型:

    打点格式为 json 字符串,比如{"f1":123,"f2":"abc"},注意所有元素使用{}包括;

    tags为base64编码之后的字符串,编码之前是由若干个kv对拼接而成的字符串,每个kv对之间由\t分隔,k和v之间由=分隔,形如 "key0=Value0\tkey1=value1", 其中key0,key1均为仓库的某个字段名,value0,value1为对应字段的值。注意:value中若存在\t\r\n \ 需要用\转义,空格' ' 可以不转义。
    tags 字段用来自定义一些字段的值,若打点时相同字段上也有数据,则由tags字段定义的值将其覆盖。

    示例

    curl -X POST https://nb-pipeline.qiniuapi.com/v2/repos/test_Repo/data?tags=dGFnMD12YWx1ZTAJdGFnMT12YWx1ZTE=\
    -H 'Content-Type: text/plain' \
    -H 'Authorization: Pandora 2J1e7iG13J66GA8vWBzZdF-UR_d1MF-kacOdUUS4:NTi3wH_WlGxYOnXsvgUrO4XMD6Y=' \
    -d '
        userName=小张        age=22   addresses=["beijing","shanghai"] profile={"position":"engineer",salary:15000} 
        userName=小王        age=28   addresses=["hangzhou","shenzhen"] profile={"position":"engineer",salary:12000}
        '
    

    日志原始文本上传接口

    请求语法

    POST /v2/streams/<RepoName>/data?tags=<tags>&rules=<rules>
    Content-Type: text/plain
    Authorization: Pandora <auth>
    [日志原始文本]
    

    请求内容

    参数 类型 必填 说明
    RepoName String 消息队列名称
    tags String 自定义字段
    rules String 指定解析规则

    每个数据仓库最多可以绑定 5 条解析规则。 上传数据时,如果数据仓库绑定了解析规则,则按照解析规则进行解析。多个解析规则依次解析时有覆盖效果,举例如下: 假定当前有两个规则,规则 1 解析后结果为 {A : "aa" , B : "bb"},规则 2 解析后结果为 {A : "abcd" , C : "cc"},则最终的解析结果为{A : "abcd" , B : "bb" , C : "cc"}

    tags为base64编码之后的字符串,编码之前是由若干个kv对拼接而成的字符串,每个kv对之间由\t分隔,k和v之间由=分隔,形如 "key0=Value0\tkey1=value1", 其中key0,key1均为仓库的某个字段名,value0,value1为对应字段的值。注意:value中若存在\t\r\n \ 需要用\转义,空格' ' 可以不转义。
    tags 字段用来自定义一些字段的值,若打点时相同字段上也有数据,则由tags字段定义的值将其覆盖。

    rules为形如"r1,r2,r3"的字符串,其中r1,r2,r3均为该用户账号下拥有的规则名称,不同名称之间用逗号分隔。
    如果rules字段里传了规则,则解析使用传入的rules字段传入的规则,否则使用仓库已绑定的规则。
    如果rules字段没有传入规则,并且数据仓库没有绑定解析规则,上传数据格式遵从POST /v2/repos/{RepoName}/data接口规定的形式。

    示例

    curl -X POST https://nb-pipeline.qiniuapi.com/v2/streams/token_agent__test2/data?tags=dGFnMD12YWx1ZTAJdGFnMT12YWx1ZTE=&rules=rule1,rule2 \
    -H 'content-type: text/plain' \
    -H 'Authorization: Pandora 2J1e7iG13J66GA8vWBzZdF-UR_d1MF-kacOdUUS4:NTi3wH_WlGxYOnXsvgUrO4XMD6Y=' \
    -d '
    200 {} POST 000.00.00.00 fusion_applog 43274 pipe.niuniu.ggeh.com FgAAABCbBb4s9zsV PostData ["lili:97"] text/plain /n5/sche/applog/file REQ 1000 1328438666 application/json pipeline-apiserver-31355784-jnk2f STRONGER 2 938343 2 1536863302210 2018-06-27T08:31:09.961094Z
    200 {} POST 000.00.00.00 kodo_pfdstg 4821 pipe.niuniu.io FgAAA4s9zsV PostData ["STREAMING:350"] text/plain /nb/sche/kodo_pfdstg/file REQ 1500 1538921591 application/json pipeline-apiserver-3179997084-gxvmf STRONGER 2 3505878 2 1530088274411 2018-06-27T08:31:09.960729Z
    '
    
    以上内容是否对您有帮助?
  • Qvm free helper
    Close