追加の詳細
ゾーンごとの1日のデータ量(ログ行数とそれにかかるバイト数)を推定するには、1時間の期間のデータの1%または10%のサンプルをリクエストします(ボリュームが少ない場合は10%を使用)。start=2018-12-15T00:00:00Zとend=2018-12-15T01:00:00Zは1時間の期間をカバーし、sample=0.1です。
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.log83 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リクエスト/分。
- 時間範囲: startとendパラメータの最大差は1時間です。
- レスポンスサイズ: 最大レスポンスサイズはリクエストごとに10GiBで、約55フィールドが選択されている場合、約15Mレコードに相当します(フィールドが少ない場合、レコードサイズが小さくなるため、より多くのレコードを取得できます)。
- タイムアウト: レスポンスは10分後に接続が終了して失敗します。
- ストリームタイムアウト: 接続が30秒間アイドル状態の場合、リクエストは
408エラー応答で終了します。このタイムアウトは通常、リクエストが過度に exhaustive であることを意味します(頻繁なタイムアウト(> 12/hr)は、1時間の間にステータスコード429で後続のクエリがブロックされることになります)ので:- より少ないフィールドを使用してレコードをリクエストしてみてください。
- より小さいstartとendパラメータで試してみてください。