INTEGRITY Dokumentace

Introspekce

Cloudflare GraphQL API má dynamické schéma a zpřístupňuje více než 70 datasetů v rozsahu zón i účtů. Tento seznam průběžně rozšiřujeme a stávající datasety nahrazujeme výkonnějšími alternativami.

K řešení otázky schématu nabízí GraphQL introspekce ↗ mechanismus. Je součástí specifikace GraphQL a umožňuje prozkoumávat graf datasetů a polí.

Výsledky introspekce poskytují přehled VŠECH dostupných uzlů a polí, jejich popisů a stavu zastarání.

Ačkoli GraphQL má query, subscription, a mutation operace, Cloudflare GraphQL API podporuje pouze query operace.

Popis a beta režim

Popisy kromě podrobností o datech, která daný uzel nebo pole zpřístupňuje, uvádějí také, zda se jedná o režim Beta. Uzly (nebo pole) v režimu Beta slouží k testování a průzkumu a obvykle jsou dostupné pouze zákazníkům s rozsáhlejšími plány. Na datové uzly v režimu beta se nespoléhejte, protože se mohou kdykoli bez předchozího upozornění změnit nebo být odstraněny.

Zastarávání

Introspekce poskytuje informace o stavu zastarání. Cloudflare ji využívá jako upozornění na plánované náhrady. Pokud je uvedeno datum ukončení podpory, migrujte prosím na náhradní uzel (uzly) před tímto datem, abyste předešli výpadkům.

Dostupnost

Některé uzly mohou být dostupné pro dotazování jen pro některé uživatele. Další informace naleznete v nastavení uzel, kde najdete další podrobnosti o dostupnosti a osobních limitech pro daný uzel.

Prozkoumejte dokumentaci

Nejpohodlnějším způsobem, jak prozkoumat schéma, je použít dokumentační prohlížeč která je obvykle součástí GraphQL klienta (například GraphiQL, Altair atd.).

Případně to můžete provést i ručně pomocí __schema uzel s potřebnými směrnicemi.

Typický introspekční dotaz
{
	__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
	}
}

Podrobnosti o tom, jak odeslat požadavek GraphQL pomocí curl, najdete v Spusťte dotaz GraphQL pomocí curl.