跳转到内容
搜索文档

其他详细信息

最后更新 查看 MarkdownAgent 设置

估算每日数据量

要估算 zone 每天的数据量(日志行数及其占用的字节数),可请求 1 小时时段的 1% 或 10% 样本数据(若流量较低,请使用 10%)。注意 start=2018-12-15T00:00:00Zend=2018-12-15T01:00:00Z 跨度为 1 小时,且 sample=0.1

curl "https://api.cloudflare.com/client/v4/zones/{zone_id}/logs/received?start=2018-12-15T00:00:00Z&end=2018-12-15T01:00:00Z&sample=0.1" \
--header "X-Auth-Email: <EMAIL>" \
--header "X-Auth-Key: <API_KEY>" \
> sample.log
wc -l sample.log
83 sample.log
ls -lh sample.log
-rw-r--r-- 1 mik mik 25K Dec 17 15:49 sample.log

据此信息,大约每天消息数为 19,920(83 × 10 × 24),字节大小为 6MB(25K × 10 × 24)。大小估算基于默认响应字段集。更改响应字段集(请参阅 Fields)会改变响应大小。

要较好估算每日流量,最好在小时样本中至少获得 30 行日志。若响应过小(或过大),请调整 sample 值,而非时间范围。

压缩

响应默认压缩(gzip)。cURL 会透明解压响应,除非调用时使用:

--header "Accept-Encoding: gzip"

在这种情况下,输出仍为 gzip 压缩。压缩后的数据大约为未压缩大小的 5-10%。这意味着 1GB 未压缩响应可压缩至 50-100MB。

服务预期

成功请求

若超出响应或超时限制,或获取响应时出现任何问题,将返回 200 状态,且响应以非 JSON 文本行 “Error streaming data.” 结尾。由于响应是流式传输的,无法提前识别错误。若响应不以 “Error streaming data" 文本行结尾,则视为成功。

一旦你对给定 zone 和时间范围收到成功响应,对所有后续请求以下内容成立:

  • 返回记录的数量和内容相同。
  • 返回记录的顺序可能(且很可能)不同。

响应字段

关于是否包含 fields 参数:

  • 当在请求 URL 中显式包含字段时,返回的字段不会改变。
  • 当 URL 中未指定时,返回默认字段。
  • 默认字段可能随时更改。

限制

适用以下使用限制:

  • 速率限制: 超出这些限制会导致 429 错误响应:
    • 每个 zone 每分钟 15 次请求。
    • 每个用户(电子邮件地址)每分钟 180 次请求。
  • 时间范围: startend 参数之间的最大差值可为 1 小时。
  • 响应大小: 每个请求的最大响应大小为 10GiB,在选择约 55 个字段时大约相当于 1500 万条记录(选择较少字段时可检索更多记录,因为每条记录的大小会更小)。
  • 超时: 10 分钟后响应会以连接终止失败。
  • 流超时: 若连接空闲 30 秒,请求将以 408 错误响应终止。此超时通常表示请求可能过于繁重(频繁超时(> 12 次/小时)会导致后续查询被以状态码 429 阻止 1 小时),因此:
    • 尝试使用较少字段请求记录。
    • 尝试使用更小的 startend 参数。

这篇文档对您有帮助吗?