内省
Cloudflare GraphQL APIは動的スキーマを持ち、ゾーンおよびアカウントスコープ全体で70以上のデータセットを公開しています。私たちは常にリストを拡張し、既存のものをより能力の高い代替品に置き換えています。
スキーマの問題に対処するために、GraphQLはintrospection ↗メカニズムを提供します。これはGraphQL仕様の一部であり、データセットとフィールドのグラフを探索することを可能にします。
内省の結果は、すべての利用可能なノードとフィールド、その説明および非推奨ステータスの概要を提供します。
GraphQLにはquery、subscription、および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リクエストを送信する方法の詳細については、このガイドを参照してください。