智能日志管理平台

  • 智能日志管理平台 > 使用文档 > logkit-pro 日志收集工具 >发送源(Senders) > AWS S3

    AWS S3

    最近更新时间: 2020-08-06 21:36:07

    必填项

    • region:S3服务所在区域(region),例如us-east-1
    • s3_access_key: 必填项, AWS 的 access key ID。为了不在配置中明文存储,我们在 1.0.4 版本及以后支持使用环境变量的方式填写该字段,填写方式为:${YOUR_ENV},其中 YOUR_ENV 为环境变量,需要在机器上将该环境变量设置为原先要填写的值,YOUR_ENV可以根据您的实际使用需求进行修改。
    • s3_secret_key: 必填项, AWS 的 secret key。为了不在配置中明文存储,我们在 1.0.4 版本及以后支持使用环境变量的方式填写该字段,填写方式为:${YOUR_ENV},其中 YOUR_ENV 为环境变量,需要在机器上将该环境变量设置为原先要填写的值,YOUR_ENV 可以根据您的实际使用需求进行修改。
    • s3_bucket: 必填项, S3存储桶名称。
    • object_key:支持写一个Pattern作为路径,例如 "file_send_path":"data-%Y-%m-%d.txt" ,此时数据就会根据当前时间渲染出日期。渲染变量列表见sender中本地文件系统文档。

    选填

    • 单个文件最大行数:达到最大行数,发送文件,默认10000行。
    • 单个文件最大大小:达到最大大小,发送文件,默认500MB,单位MB。

    高级选项

    • Endpoint:终端节点地址,如s3-REGION.amazonaws.com
    • 文件压缩: 对文件进行gzip或者snappy压缩,默认none,不使用压缩。
    • 文件存储类型: 可以对文件进行parquet进行存储,默认none,文本存储。
    • Parquet字段: 存储类型为parquet时,需要填写schema字段,否则无法解析存储。
    • 发送间隔:填写1m表示1分钟,10m表示10分钟,默认1m。

    【注】
    1.parquet文件中schema中配置的字段所对应的值不能为空,由于解析数据失败时会导致某些字段的值为空,建议通过在解析器中设置禁止记录解析失败数据true解决。
    2.parquet schema填写格式:json格式。其中第一个Tag的name为表名,之后Tag的name为parquet字段名。
    例:

    {
      "Tag": "name=parquet-go-root, repetitiontype=REQUIRED",
      "Fields": [
        {"Tag": "name=name, inname=Name, type=UTF8, repetitiontype=OPTIONAL"},
        {"Tag": "name=age, inname=Age, type=INT32, repetitiontype=OPTIONAL"},
        {"Tag": "name=id, inname=Id, type=INT64, repetitiontype=OPTIONAL"},
        {"Tag": "name=weight, inname=Weight, type=FLOAT, repetitiontype=OPTIONAL"},
        {"Tag": "name=sex, inname=Sex, type=BOOLEAN, repetitiontype=OPTIONAL"},
    
        {"Tag": "name=classes, inname=Classes, type=LIST, repetitiontype=REPEATED",
         "Fields": [{"Tag": "name=element, type=UTF8, repetitiontype=REQUIRED"}]
        },
        {
          "Tag": "name=scores, inname=Scores, type=MAP, repetitiontype=REPEATED",
          "Fields": [
            {"Tag": "name=key, type=UTF8, repetitiontype=OPTIONAL"},
            {"Tag": "name=value, type=LIST, repetitiontype=OPTIONAL",
             "Fields": [{"Tag": "name=element, type=FLOAT, repetitiontype=OPTIONAL"}]
            }
          ]
        },
        {
          "Tag": "name=friends, inname=Friends, type=LIST, repetitiontype=REPEATED",
          "Fields": [
           {"Tag": "name=element, repetitiontype=REQUIRED",
            "Fields": [
             {"Tag": "name=name, inname=Name, type=UTF8, repetitiontype=OPTIONAL"},
             {"Tag": "name=id, inname=Id, type=INT64, repetitiontype=OPTIONAL"}
            ]}
          ]
        },
        {
          "Tag": "name=teachers, inname=Teachers, repetitiontype=REPEATED",
          "Fields": [
            {"Tag": "name=name, inname=Name, type=UTF8, repetitiontype=OPTIONAL"},
            {"Tag": "name=id, inname=Id, type=INT64, repetitiontype=OPTIONAL"}
          ]
        }
      ]
    }
    

    注意事项
    三种repetitiontype:REQUIRED, OPTIONAL, REPEATED
    REQUIRED:必需的,该字段的值不能为空,如果声明了REQUIRED的字段在实际数据中不存在时,该条数据会被丢弃
    OPTIONAL:可选的,该字段的值可以为空。
    REPEATED:重复的,用于声明嵌套结构,如list,map等

    以上内容是否对您有帮助?
  • Qvm free helper
    Close