Cloudflare の GraphQL Analytics API を探検するツールが出てた
はじめに
Cloudflare GraphQL API Explorer の紹介です(以下 Explorer で行きます)。Changelog に紹介されています。
このGraphQL Analytics API を dev docs や blog で見てたけど、まだ手を付けてないな、という方はブラウザで簡単に試せるからおすすめです。
自分は普段 Altair GraphQL Client を使っていますが、Cloudflare はこれでもいいかもな、と思いました。
試す
-
Explorer にアクセスします。
-
事前に用意した Analytics API 用のトークンをいれるか
Login
をクリックします。 後者の場合 Cloudflare ダッシュボードからの接続確認が表示されますので、許可します。
-
Analytics API のチュートリアルから GraphQL クエリーのサンプルを選びます。
今回は Querying HTTP events by hostname with GraphQL にしてみます。
(他を選んでも、パラメータの調整は各々変わってきますが、基本操作は同じです。) -
curl を使った API Call から
"query":"値"
の値
の部分をコピーします。
-
Explorer に貼り付けます。
-
同様に
"variables": 値
の値
の部分をコピーします。
-
Explorer の
Variables
に貼り付けます。
-
こんな感じになります。
-
波線の警告を訂正しておきます。
波線にマウスオーバーするとfilter
のタイプを探す必要があるようです。
-
filter
をマウスオーバーすると、タイプが出てきますので、コピーします。
波線部をこれに置換します。新しい警告になります。
見づらいですが、Non-Null ということで!
を末尾に追加する必要があるようです。
指摘通りにすると警告が消えました。
-
Variables
を変更します。
変更点
- zoneTag を自分のゾーン ID に合わせる
- 日時の調整
-
clientRequestHTTPHost
を自分のゾーンの Proxy されたホストに合わせる
日時の調整について
- タイムゾーン
デフォルトは UTC なので、00Z
➜00+09:00
で JST の時間で検索できます。
"2025-05-31T16:00:00Z"
の代わりに
"2025-06-01T00:00:00+09:00"
を使う
- リクエスト発行時の時間系エラー
対象データには期限および間隔が指定されています。
リクエストを発行したときに、取得期限を過ぎた・まだ取得可能の前・対象間隔が広すぎなどの場合、その理由がエラーが返ってきます。
内容に従って時間を調整します。(警告が秒なので日に換算するのが若干面倒)
"message": "zone \"...\" cannot request data older than 7776000s"
"message": "query time range is too large for zone \"...\". Time range can't be wider than 2764800s, but it's 2768400s",
-
リクエストを発行 ▶️ すると、HTTP リクエストの統計を得ることができました。
-
少しいじる。
sum
の対象がvisits
とedgeResponseBytes
なので、なにか加えてみます。
httpRequestsAdaptiveGroups
をマウスオーバーしてリンクをクリック
左側にそのDocs
が出現。
Type
からZoneHttpRequestsAdaptiveGroups
をクリック
Filedsum
を探しZoneHttpRequestsAdaptiveGroupsSum
をクリック
リストから良さげな Filed を見つけoriginResponseDurationMs
、クエリーに追加(候補を補完してくれるので便利)
発行し、無事に取れました。
さいごに
このような感じでドキュメントを参照し、さまよいながら目的地ににたどり着くことができます。
スキーマを新鮮に保つこともできそうですし、
履歴からお気に入りにして再利用したり、
よく使う機能はありそうなので、今後の機能追加にも期待です。
余談(MCP ってやつは...)
ちなみに同じ Changelogs に記載の GraphQL MCP サーバーにお願いしてみます。
自分で API のクエリー探検をするまでもなく、代理で旅をしてくれます。
一気にゴールにたどり着けました。
なんか寂しいですが、作業効率が格段に上がりますね。
Discussion