智能日志管理平台

  • 智能日志管理平台 > API 文档 > 工作流 API > 流式导出数据至对象存储服务

    流式导出数据至对象存储服务

    最近更新时间: 2018-09-25 19:16:20

    请求语法

    POST /v2/repos/<RepoName>/exports/<ExportName>
    Content-Type: application/json
    Authorization: Pandora <auth>
    {
        "type": <kodo>,
        "whence": <ExportWhence>,
        "spec": {
             "bucket": <Bucket>,
             "keyPrefix": <KeyPrefix>, 
             "email": <Email>,  
             "accessKey": <AccessKey>,    
             "fields": {
                 "key1": <#value1>,
                 "key2": <#value2>,
                 ...
             },
             "rotateStrategy": <RotateStrategy>,
             "rotateSize": <RotateSize>,
             "rotateInterval": <RotateInterval>,   
             "format": <Format>,
             "delimiter": <Delimiter>,
             "compress": <true|false>,
             "retention": <Retention>
        }
    }
    

    请求内容

    参数 类型 必填 说明
    bucket string 数据中心名称
    keyPrefix string 导出的文件名的前缀
    email string 数据中心名称所属用户的七牛账户名称
    accessKey string 七牛账户的公钥
    fields map 字段关系说明
    keykodo-bucket的字段名
    value为导出数据的消息队列的字段名
    rotateStrategy string 文件切割策略,可取值为sizeintervalboth,其中,size表示文件大小超过rotateSize触发切割行为;interval表示文件写时长超过rotateInterval将进行切割;both表示只要满足其中一个条件将触发切割行为。为了保持兼容性,默认值为interval
    rotateSize int 当文件大小超过该值时将触发切割行为,单位为字节,默认值为5242880(5MB),最大值不超过1073741824(1GB)
    rotateInterval int 文件切割间隔,单位为秒(s),默认值为600(10分钟)
    format string 文件导出格式
    支持jsontextparquetcsv四种形式
    默认为json
    delimiter string csv文件分割符,当文件类型为csv时,delimiter为必填项
    compress bool 是否开启文件压缩功能
    默认为false
    retention int 数据储存时限
    以天为单位
    当不大于0或该字段为空时,则永久储存

    !> 注1: compress 会压缩成gzip格式,但当用户指定formatparquet时,由于parquet已经是压缩好的列存格式,compress选项将不起作用。

    !> 注2: keyPrefix字段表示导出文件名称的前缀,该字段可选,默认值为""(生成文件名会自动加上时间戳格式为yyyy-MM-dd-HH-mm-ss),如果使用了一个或者多个魔法变量时不会自动添加时间戳,支持魔法变量,采用$(var)的形式求值,目前可用的魔法变量var如下:

    • year 上传时的年份
    • mon 上传时的月份
    • day 上传时的日期
    • hour 上传时的小时
    • min 上传时的分钟
    • sec 上传时的秒钟

    举例说明:

    • 假如keyPrefix取值为kodo-parquet/date=$(year)-$(mon)-$(day)/hour=$(hour)/min=$(min)/$(sec),且生成某一文件时的北京标准时间为2017-01-12 15:30:00, 则keyPrefix将被解析为kodo-parquet/date=2017-01-12/hour=15/min=30/00,其中的魔法变量$(year)、$(mon)、$(day)、$(hour)、$(min)、$(sec)分别对应文件生成时间2017-01-12 15:30:00的年、月、日、时、分、秒。
    • 假如keyPrefix使用默认值,且生成某一文件时的北京标准时间为2017-01-12 15:30:00, 则keyPrefix将被解析为2017-01-12-15-30-00

    示例

    curl -X POST https://pipeline.qiniu.com/v2/repos/repox/exports/export1 \
    -H 'Content-Type: application/json' \
    -H 'Authorization: Pandora 2J1e7iG13J66GA8vWBzZdF-UR_d1MF-kacOdUUS4:NTi3wH_WlGxYOnXsvgUrO4XMD6Y='  \
    -d '{
        "type": "kodo", 
        "spec": { 
            "bucket": "bucket2", 
            "keyPrefix": "key1/", 
            "email": "xiaoming@qiniu.com",
            "accessKey": "7H4FDc1M-FxXFZKwjbN_Up1OfY7DotXDjaM5jXzm",
            "fields": { 
                "f1": "#f1", 
                "f2": "#f2" 
            } 
            "format":"json",
            "compress": true
    }' 
    
    以上内容是否对您有帮助?
  • Qvm free helper
    Close