🛺

Cloudflare の GraphQL Analytics API を探検するツールが出てた

に公開

はじめに

Cloudflare GraphQL API Explorer の紹介です(以下 Explorer で行きます)。
https://graphql.cloudflare.com/explorer
この Changelog に紹介されています。

GraphQL Analytics API を dev docsblog で見てたけど、まだ手を付けてないな、という方はブラウザで簡単に試せるからおすすめです。

自分は普段 Altair GraphQL Client を使っていますが、Cloudflare はこれでもいいかもな、と思いました。

試す

  1. Explorer にアクセスします。

  2. 事前に用意した Analytics API 用のトークンをいれるか Login をクリックします。 後者の場合 Cloudflare ダッシュボードからの接続確認が表示されますので、許可します。

  3. Analytics API のチュートリアルから GraphQL クエリーのサンプルを選びます。
    今回は Querying HTTP events by hostname with GraphQL にしてみます。
    (他を選んでも、パラメータの調整は各々変わってきますが、基本操作は同じです。)

  4. curl を使った API Call から "query":"値"の部分をコピーします。

  5. Explorer に貼り付けます。

  6. 同様に "variables": 値の部分をコピーします。

  7. Explorer の Variables に貼り付けます。

  8. こんな感じになります。

  9. 波線の警告を訂正しておきます。
    波線にマウスオーバーすると filter のタイプを探す必要があるようです。

  10. filter をマウスオーバーすると、タイプが出てきますので、コピーします。

    波線部をこれに置換します。新しい警告になります。

    見づらいですが、Non-Null ということで ! を末尾に追加する必要があるようです。
    指摘通りにすると警告が消えました。

  11. Variables を変更します。

変更点
日時の調整について
  • タイムゾーン
    デフォルトは UTC なので、00Z00+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",

  1. リクエストを発行 ▶️ すると、HTTP リクエストの統計を得ることができました。

  2. 少しいじる。
    sum の対象が visitsedgeResponseBytes なので、なにか加えてみます。
    httpRequestsAdaptiveGroups をマウスオーバーしてリンクをクリック

    左側にその Docs が出現。
    Type から ZoneHttpRequestsAdaptiveGroups をクリック

    Filed sum を探し ZoneHttpRequestsAdaptiveGroupsSum をクリック

    リストから良さげな Filed を見つけ originResponseDurationMs、クエリーに追加(候補を補完してくれるので便利)

    発行し、無事に取れました。

さいごに

このような感じでドキュメントを参照し、さまよいながら目的地ににたどり着くことができます。
スキーマを新鮮に保つこともできそうですし、

履歴からお気に入りにして再利用したり、

よく使う機能はありそうなので、今後の機能追加にも期待です。

余談(MCP ってやつは...)

ちなみに同じ Changelogs に記載の GraphQL MCP サーバーにお願いしてみます。

自分で API のクエリー探検をするまでもなく、代理で旅をしてくれます。
一気にゴールにたどり着けました。
なんか寂しいですが、作業効率が格段に上がりますね。



Discussion