本文共 1548 字,大约阅读时间需要 5 分钟。
当你需要把特定数据下载到本地时, 是否遇到一些困难:
如果是的, 你可能需要使用日志服务的CLI来轻松拉取数据到本地.
拉取数据(PullLog)指的是针对特定分区, 按照游标来消费日志, 游标指的是服务器接收到日志的时间.
拉取数据的特点是:命令pull_log_dump
针对下载做了优化,直接指定文件路径,即可将日志下载在本地。
aliyunlog log pull_log_dump --project_name="p1" --logstore_name="l1" --from_time="2018-01-24 16:00:00+8:00" --to_time="2018-01-24 17:00:00 +8:00" --file_path="/data/dump_{}.data"
这里拉取从时间2018-01-24 16:00:00+8:00
到2018-01-24 17:00:00+8:00
并把数据下载本地,因为是并发,所以会存储在多个文件中,文件名根据/data/dump_{}.data
中的{}
替换成多个并发的数字(一般是分区号
)。文件的内容格式为一行一个日志,例如:
{"k1":"a1", "k2":"a2"}{"k1":"b1", "k2":"b2"}...
下载完后会显示下载的文件列表以及日志数,例如:
{"files": {"/data/dump_1.data": 75, "/data/dump_2.data": 14}, "total_count": 89}
时间格式推荐是%Y-%m-%d %H:%M:%S %Z
, 如2018-01-24 17:00:00+8:00
, 但也支持其他合法的时间格式, 例如:Jan 01 2018 10:10:10+8:00
命令pull_log_dump
传入的时间范围, 需要注意几点:
[)
, 上面例子中16:00:00
服务器接受到的日志会被拉取到, 但是17:00:00
服务器所接受到的日志不会.有时我们不关心数据的某一边界, 例如期望获得所有存储的数据到某一天日期位置. 或者获取从某一天开始到目前存储的数据为止的话, 就可以使用特殊游标.
特殊游标包括begin
和end
. 例如:
aliyunlog log pull_log_dump --project_name="p1" --logstore_name="l1" --shard_id=3 --from_time="begin" --to_time="2018-01-24 17:00:00+8:00"
这里拉取所有2018-01-24 17:00:00+8:00
之前服务器接收到的日志.
又例如:
aliyunlog log pull_log_dump --project_name="p1" --logstore_name="l1" --shard_id=3 --from_time="2018-01-24 17:00:00+8:00" --to_time="end"
这里拉取所有2018-01-24 17:00:00+8:00
开始及之后服务器接收到的日志.
转载地址:http://juwbm.baihongyu.com/