コンテンツにスキップ

追加の詳細

日次データ量の推定

ゾーンごとの1日のデータ量(ログ行数とそれにかかるバイト数)を推定するには、1時間の期間のデータの1%または10%のサンプルをリクエストします(ボリュームが少ない場合は10%を使用)。start=2018-12-15T00:00:00Zend=2018-12-15T01:00:00Zは1時間の期間をカバーし、sample=0.1です。

Terminal window
curl -s \
-H "X-Auth-Email: <EMAIL>" \
-H "X-Auth-Key: <API_KEY>" \
"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" \
>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

この情報に基づくと、1日のメッセージ数は約19,920(83 × 10 × 24)で、バイトサイズは6MB(25K × 10 × 24)です。サイズの推定はデフォルトのレスポンスフィールドセットに基づいています。レスポンスフィールドセットを変更すると(フィールドを参照)、レスポンスサイズも変わります。

日次トラフィックの良い推定を得るには、時間ごとのサンプルで少なくとも30行のログを取得するのが最良です。レスポンスサイズが小さすぎる(または大きすぎる)場合は、時間範囲ではなくサンプル値を調整してください。

圧縮

レスポンスはデフォルトで圧縮されています(gzip)。cURLは、以下のように呼び出さない限り、レスポンスを透過的に解凍します:

-H "accept-encoding: gzip"

その場合、出力はgzippedのままです。圧縮データは、非圧縮サイズの約5-10%になります。つまり、1GBの非圧縮レスポンスは50-100MBに圧縮されます。

サービスの期待

成功したリクエスト

レスポンスまたはタイムアウト制限を超えた場合、またはレスポンスの取得に問題がある場合、200ステータスが返され、レスポンスは「Error streaming data.」という非JSONテキスト行で終了します。レスポンスはストリーミングされるため、事前にエラーを特定することはできません。レスポンスが「Error streaming data」というテキスト行で終了しない場合、それは成功したレスポンスです。

特定のゾーンと時間範囲に対して成功したレスポンスを受け取った後、すべての後続リクエストに対して以下が真となります:

  • 返されるレコードの数と内容は同じです。
  • 返されるレコードの順序は異なる場合があります(異なる可能性が高いです)。

レスポンスフィールド

fieldsパラメータの含有に関して:

  • フィールドがリクエストURLに明示的に含まれている場合、返されるフィールドは変更されません。
  • URLに指定されていない場合、デフォルトのフィールドが返されます。
  • デフォルトのフィールドはいつでも変更される可能性があります。

制限

以下の使用制限が適用されます:

  • レート制限: これらの制限を超えると、429エラー応答が返されます:
    • ゾーンごとに15リクエスト/分。
    • ユーザー(メールアドレス)ごとに180リクエスト/分。
  • 時間範囲: startendパラメータの最大差は1時間です。
  • レスポンスサイズ: 最大レスポンスサイズはリクエストごとに10GiBで、約55フィールドが選択されている場合、約15Mレコードに相当します(フィールドが少ない場合、レコードサイズが小さくなるため、より多くのレコードを取得できます)。
  • タイムアウト: レスポンスは10分後に接続が終了して失敗します。
  • ストリームタイムアウト: 接続が30秒間アイドル状態の場合、リクエストは408エラー応答で終了します。このタイムアウトは通常、リクエストが過度に exhaustive であることを意味します(頻繁なタイムアウト(> 12/hr)は、1時間の間にステータスコード429で後続のクエリがブロックされることになります)ので:
    • より少ないフィールドを使用してレコードをリクエストしてみてください。
    • より小さいstartendパラメータで試してみてください。