Cloudflare GraphQL API のスキーマは動的で、ゾーンとアカウントのスコープにわたって 70 を超えるデータセットを公開しています。一覧は継続的に増え、既存のデータセットは、より高機能な代替に置き換わります。
スキーマの把握には、GraphQL の イントロスペクション ↗ を使います。これは GraphQL 仕様の一部で、データセットとフィールドのグラフを調べられます。
イントロスペクションの結果では、利用できるすべてのノードとフィールド、説明、非推奨の状態を確認できます。
GraphQL には query、subscription、mutation の操作がありますが、Cloudflare GraphQL API がサポートするのは query だけです。
ノードやフィールドが公開するデータの説明には、ベータかどうかも示されます。ベータのノード(またはフィールド)は検証と試用向けで、通常はより上位のプランの顧客が使えます。ベータのデータノードは、予告なく変更または削除されることがあるため、本番では依存しないでください。
イントロスペクションは、非推奨の状態も知らせます。Cloudflare は、置き換え予定の通知としてこれを使います。廃止日が示されている場合は、その日までに代替ノードへ移行し、中断を避けてください。
一部のノードは、クエリできるユーザーが限られます。ノードごとの利用可否と個人の上限は、settings ノードを参照してください。
スキーマをイントロスペクトするいちばん簡単な方法は、GraphQL クライアント(GraphiQL、Altair など)に付属するドキュメント エクスプローラー を使うことです。
手動で行う場合は、必要なディレクティブとともに __schema ノードを使います。
{
__schema {
queryType {
name
}
mutationType {
name
}
subscriptionType {
name
}
types {
...FullType
}
directives {
name
description
locations
args {
...InputValue
}
}
}
}
fragment TypeRef on __Type {
kind
name
ofType {
kind
name
ofType {
kind
name
ofType {
kind
name
ofType {
kind
name
ofType {
kind
name
ofType {
kind
name
ofType {
kind
name
}
}
}
}
}
}
}
}
fragment InputValue on __InputValue {
name
description
type {
...TypeRef
}
defaultValue
}
fragment FullType on __Type {
kind
name
description
fields(includeDeprecated: true) {
name
description
args {
...InputValue
}
type {
...TypeRef
}
isDeprecated
deprecationReason
}
inputFields {
...InputValue
}
interfaces {
...TypeRef
}
enumValues(includeDeprecated: true) {
name
description
isDeprecated
deprecationReason
}
possibleTypes {
...TypeRef
}
}curl で GraphQL リクエストを送る手順は、curl で GraphQL クエリを実行する を参照してください。