コンテンツにスキップ

データセット (テーブル)

Cloudflare Analyticsは、一般的なデータセットと製品特有のデータセットを含むさまざまなデータセットを提供しています。データセットは、一貫した命名規則を使用しており、返されるデータの種類を明示的に識別します。

  • ドメイン - 各データセットは、それが説明するフィールドの名前にちなんで名付けられ、ノードのセットに関連付けられています。製品特有のデータノードは、関連する製品の名前を組み込んでいます。例えば、loadBalancingRequests*ノードです。

  • 適応サンプリング - 適応サンプリングを使用して取得されたデータを表すノードは、Adaptiveという接尾辞を含みます。詳細については、samplingを参照してください。

  • 集約データ - 集約データを表すノードは、Groupsという接尾辞を含みます。例えば、loadBalancingRequestsAdaptiveGroupsノードは、ロードバランシングリクエストの集約データを表します。集約データは、...Groupオブジェクトの配列で返されます。注意してください:現在、その命名規則から除外されているノードがあります - workersInvocationsAdaptive(ベータ)。

  • 生データ - loadBalancingRequestsAdaptiveのような生データノードは、集約されておらず、したがってGroupsという接尾辞を含みません。生データは、関連するデータ型のオブジェクトを含む配列で返されます。例えば、loadBalancingRequestsAdaptiveへのクエリは、さまざまなLoadBalancingRequestオブジェクトを返します。

データセット、可用性、ベータ、および非推奨のステータスに関する詳細情報については、GraphQLのdiscovery機能を参照してください。

データセットの操作

集約フィールド

この例は、グループの構造を示しています:

type WhateverGroup {
count # サブフィールドはなく、グループのサイズのみです。ロールアップテーブルでは利用できません。
sum {
# 合計をサポートするフィールド(数値、数値のマップ)
}
avg {
# 平均をサポートするフィールド(数値)
}
uniq {
# ユニークをサポートするフィールド(数値、文字列、列挙型、IP、日付など)
}
}

ユニークな値は次元としては利用できませんが、次の例のようにクエリできます:

{
# 各分ごとのバイト数とユニークIPの数を取得します。
httpRequests1mGroups {
sum {
bytes
}
uniq {
uniques # ユニークIP
}
dimensions {
datetimeMinute
}
}
# 各時間ごとのイベントの数をカウントします。
firewallEventsAdaptiveGroups {
count
dimensions {
datetimeHour
}
}
}

スキーマ型定義

公開されているすべてのテーブルには、GraphQL型定義があります。型定義は以下のルールに従います:

  • 通常のフィールドは自分自身を表します。
  • すべてのフィールド(ネストされたフィールドを含む)には型があり、その型のリストを表します。
  • enum型は列挙フィールドを表します。

以下はContentTypeMapElemの型定義の例です:

type ContentTypeMapElem {
edgeResponseContentType: UInt32!
requests: UInt64!
bytes: UInt64!
}
# httpRequests1hGroupsまたはhttpRequests1mGroupsクエリの結果はhttpRequestsGroupの配列です。
type httpRequestsGroup {
date: Date!
timeslot: DateTime!
requests: UInt64!
contentTypeMap: [ContentTypeMapElem!]!
# ... 他のフィールド
}
enum TrustedClientCategory {
UNKNOWN
REAL_BROWSER
HONEST_BOT
}
# httpRequestsクエリの結果はRequestの配列です。
type Request {
trustedClientCategory: TrustedClientCategory!
# ... 他のフィールド
}