データセット (テーブル)
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! # ... 他のフィールド}