コンテンツにスキップ

内省

Cloudflare GraphQL APIは動的スキーマを持ち、ゾーンおよびアカウントスコープ全体で70以上のデータセットを公開しています。私たちは常にリストを拡張し、既存のものをより能力の高い代替品に置き換えています。

スキーマの問題に対処するために、GraphQLはintrospectionメカニズムを提供します。これはGraphQL仕様の一部であり、データセットとフィールドのグラフを探索することを可能にします。

内省の結果は、すべての利用可能なノードとフィールド、その説明および非推奨ステータスの概要を提供します。

GraphQLにはquerysubscription、およびmutation操作がありますが、Cloudflare GraphQL APIはquery操作のみをサポートしています。

説明とベータモード

特定のノードまたはフィールドによって公開されるデータの詳細に加えて、説明はそれがベータモードにあるかどうかも示します。ベータノード(またはフィールド)はテストおよび探索のためのものであり、通常はより広範なプランの顧客に利用可能です。ベータデータノードには依存しないでください。これらは通知なしに変更または削除される可能性があります。

非推奨

内省は非推奨ステータスに関する情報を提供します。Cloudflareはこれを置き換え計画に関する通知として使用します。日付が提供されている場合は、その日付までに置き換えノードに移行してください。そうしないと、何らかの中断が発生する可能性があります。

利用可能性

一部のノードは、特定のユーザーに対してのみクエリ可能である場合があります。特定のノードの利用可能性および個人の制限に関する詳細については、settingsノードを参照してください。

ドキュメントの探索

スキーマを内省する最も便利な方法は、通常GraphQLクライアント(GraphiQL、Altairなど)の一部であるドキュメントexplorerを使用することです。

また、必要なディレクティブを使用して__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リクエストを送信する方法の詳細については、このガイドを参照してください。