Skip to content

非公式本サイトは非公式の日本語ドキュメントであり、Cloudflare 公式サイトではありません。最新情報はdevelopers.cloudflare.comをご確認ください。

イントロスペクション

最終更新 Markdown で表示Agent セットアップ

Cloudflare GraphQL API のスキーマは動的で、ゾーンとアカウントのスコープにわたって 70 を超えるデータセットを公開しています。一覧は継続的に増え、既存のデータセットは、より高機能な代替に置き換わります。

スキーマの把握には、GraphQL の イントロスペクション を使います。これは GraphQL 仕様の一部で、データセットとフィールドのグラフを調べられます。

イントロスペクションの結果では、利用できるすべてのノードとフィールド、説明、非推奨の状態を確認できます。

GraphQL には querysubscriptionmutation の操作がありますが、Cloudflare GraphQL API がサポートするのは query だけです。

説明とベータ

ノードやフィールドが公開するデータの説明には、ベータかどうかも示されます。ベータのノード(またはフィールド)は検証と試用向けで、通常はより上位のプランの顧客が使えます。ベータのデータノードは、予告なく変更または削除されることがあるため、本番では依存しないでください。

非推奨

イントロスペクションは、非推奨の状態も知らせます。Cloudflare は、置き換え予定の通知としてこれを使います。廃止日が示されている場合は、その日までに代替ノードへ移行し、中断を避けてください。

利用可否

一部のノードは、クエリできるユーザーが限られます。ノードごとの利用可否と個人の上限は、settings ノードを参照してください。

ドキュメントを調べる

スキーマをイントロスペクトするいちばん簡単な方法は、GraphQL クライアント(GraphiQL、Altair など)に付属するドキュメント エクスプローラー を使うことです。

手動で行う場合は、必要なディレクティブとともに __schema ノードを使います。

典型的なイントロスペクションクエリgraphql
{
	__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 クエリを実行する を参照してください。

役に立ちましたか?