百度智能云智能边缘配置文件说明 - baetyl-remote-object
文档简介:
简介:
baetyl-remote-object 模块用于将端侧文件上传到云端存储(Bos、Awss3)。其中,Awss3 指兼容 s3 接口的存储,可以支持标准 awss3、ceph、minio 等。baetyl-remote-obejct 从端侧 broker 订阅消息,然后解析消息内容,上传消息中的指定文件。
简介
baetyl-remote-object 模块用于将端侧文件上传到云端存储(Bos、Awss3)。其中,Awss3 指兼容 s3 接口的存储,可以支持标准 awss3、ceph、minio 等。baetyl-remote-obejct 从端侧 broker 订阅消息,然后解析消息内容,上传消息中的指定文件。
镜像地址
支持amd64/armv7/arm64架构。镜像地址:baetyltech/remote-object:v2.1.0
配置说明
baetyl-remote-object 的全量配置文件如下,并对配置字段做了相应解释:
clients: # 客户端配置 - name: # 客户端名称,[必须]指定,rules 中配置的 target
的 client 必须从这里配置的客户端列表中选取 kind: # 支持上传的对象存储服务类型,
目前可支持 bos、awss3。枚举值分别为 BOS、S3 endpoint: # 服务地址 region: #
仅对 awss3 类型有效,表示区域,默认值:us-east-1。endpoint 的优先级高于 region
ak: # ak sk: # sk bucket: # bos、awss3 的 bucket timeout: # 默认值:30s,
client 连接 bos、awss3 服务的超时时间 backoff: # 上传策略,对 bos 生效 max:
# 最大重试次数,默认为 0 delay: # 上传最长重试时间,默认为 20s base: #
上传重试基数时间,默认为 0.3s,按照重试基数乘以 2 的指数级增长方式进行重试,
直到达到最大重试次数或最长重试时间为止 multipart: # 大文件分块配置 partsize:
# 块大小,默认 10m,即 10MB,超过 10MB 分块 concurrency: # 并发上传块数量,
默认为 10 pool: # 协程池配置 worker: # 协程池最大协程数,默认为 1000 idletime:
# 空闲清理时间, 默认为 30s temppath: # 打包类型暂存地址 limit: # 按月限流策略
enable: # 是否开启限流,默认 false data: # 最大上传流量/月,[必须]大于 0,
单位支持 k,m,g,t,p path: # 持久化统计文件路径 rules: - name: rule1 # 规则名称,
必须保持唯一 source: # 消息源 topic: broker/topic1 # 消息主题 qos: 1 # 消息质量
target: # 消息目的地 client: baidubos # object 目标节点 logger:
# 日志配置 path: # 日志路径 level: # 日志级别
Demo实例
对接百度BOS对象存储示例
clients: - name: baidubos kind: BOS endpoint: bj.bcebos.com ak: XXXXXXXXXXXXXXXXX
XXXXXXXXX sk: XXXXXXXXXXXXXXXXXXXXXXXXXX multipart: partsize: 10m concurrency:
10 pool: worker: 1000 idletime: 30s bucket: bos-remote-demo temppath: var/lib/
baetyl/tmp limit: enable: true data: 9g path: var/lib/baetyl/data/stats.yml rules:
- name: rule1 source: topic: broker/topic1 qos: 1 target: client: baidubos logger
: path: var/log/baetyl/service.log level: "debug"
对接S3标准对象存储示例
clients: - name: minio kind: S3 endpoint: http://127.0.0.1:8080 ak: XXXXXXXXXXXXXXXXX
XXXXXXX sk: XXXXXXXXXXXXXXXXXXXXXXXX multipart: partsize: 10m concurrency: 10 pool:
worker: 1000 idletime: 30s bucket: bos-remote-demo temppath: var/lib/baetyl/tmp #
max 1000g limit: enable: true data: 9g path: var/lib/baetyl/data/stats.yml rules:
- name: rule3 source: topic: broker/topic3 qos: 1 target: client: minio logger:
path: var/log/baetyl/service.log level: "debug"
注意,baetyl-remote-object 会默认连接端侧的 broker,相关资料可以参考 broker。
消息传递模板
remote-object会订阅baetyl-broker当中的消息,对于消息格式要求如下:
{ "type":"UPLOAD", "content":{ "localPath":"var/pic/2019-01-01.png", //必填,
边缘容器内目录。可是文件/文件夹,文件夹可打包zip/tar "remotePath":"dir/abc.zip",
//必填,云端对选存储路径 "zip":true, // 选填,打包zip true打包为zip,false下,
对于文件不作改动,对于文件夹打包为tar "meta": { // 选填,文件meta值,kv键值对
"key1":"value1", "key2":"value2" } } }
消息示例
{ "type":"UPLOAD", "content":{ "localPath":"var/lib/baetyl/image/jeep.jpg",
"remotePath":"var/lib/baetyl/image/jeep.jpg" } }