コンテンツにスキップ

GraphiQLでクエリを作成する

多くのクライアントは、GraphQLのセマンティクスを使用し、Cloudflare GraphQL APIの可能性を探るのに助けが必要かもしれません。

このページでは、GraphiQLクライアントを使用してGraphQLクエリを作成し、実行する方法を詳述します。

前提条件

クライアントの設定方法の詳細はここにあります。

クエリを設定し、データセットを選択する

GraphiQLの編集ペインをクリックし、以下の基本クエリを追加します。zone-idをあなたのCloudflareゾーンIDに置き換えてください:

GraphiQLペインに基本クエリを追加

クエリの構築を支援するために、GraphiQLクライアントには単語補完機能があります。クエリ内のzonesの下の行にカーソルを挿入し、値を入力してこの機能を利用します。例えば、firewallと入力すると、ファイアウォール情報を返すデータセットが表示されるポップアップメニューが表示されます:

GraphiQLの単語補完アシスタントによるクエリ構築

リストの下部に表示されるテキストは、ノードが返すデータの簡単な説明です。

クエリしたいデータセットを選択し、挿入します。リスト内の項目を選択するか、矢印キーを使用してスクロールし、Returnを押します。

必要なパラメータを提供する

フィールドの上にマウスをホバーさせると、データセットを説明するツールチップが表示されます。この例では、firewallEventsAdaptiveノードの上にホバーすると、次の説明が表示されます:

フィールドの上にマウスをホバーしてその説明を表示

データセットに関する情報、必要なパラメータを表示するには、データセット名(青いテキスト)を選択します。ドキュメンテーションエクスプローラーが開き、データセットの詳細が表示されます:

データセットの詳細を表示するドキュメンテーションエクスプローラーウィンドウ

filterおよびlimit引数は必須であり、その型定義の後に感嘆符(!)が付いていることに注意してください(金色のテキスト)。この例では、orderBy引数は必須ではありませんが、使用する場合はZoneFirewallEventsAdaptiveOrderBy型の値が必要です。

サポートされているフィルターフィールドのリストをブラウズするには、ドキュメンテーションエクスプローラーでフィルタータイプ定義(金色のテキスト)を選択します。この例では、型はZoneFirewallEventsAdaptiveFilter_InputObjectです:

GraphiQLフィルターフィールドをブラウズ

この例のクエリは、firewallEventsAdaptiveのための必須のfilterおよびlimit引数を示しています(他のGraphQLノードについても同様です):

GraphiQLクエリ引数の例

クエリで使用するフィールドを定義する

クエリで使用できるフィールドをブラウズするには、クエリ内のデータセット名の上にカーソルをホバーさせ、表示されるツールチップでデータ型定義(金色のテキスト)を選択します:

データセットの上にマウスをホバーして利用可能なフィールドを表示

ドキュメンテーションエクスプローラーが開き、フィールドのリストが表示されます:

フィールドのリストを表示するドキュメンテーションエクスプローラーウィンドウ

読み取りたいデータフィールドを追加するには、パラメータの閉じカッコの後に開き波括弧({)を入力し、取得したいフィールドの名前を入力し始めます。単語補完を使用してフィールドを選択します。

この例のクエリは、actiondatetimeclientRequestHTTPHost、およびuserAgentフィールドを返します:

返されるフィールドを持つ例のクエリ

クエリしたいすべてのフィールドを入力したら、Playボタンを選択してクエリを送信します。レスポンスペインには、設定されたGraphQL APIエンドポイントから取得したデータが含まれます:

GraphiQLレスポンスペイン

変数の置換

GraphiQLクライアントでは、値のプレースホルダーを使用し、ペイロードのvariables部分を介して提供することができます。

プレースホルダー名は$文字で始める必要があり、クエリ内で使用する際にプレースホルダーを引用符で囲む必要はありません。

プレースホルダーの値はJSON形式で提供され、プレースホルダーは$文字なしで指定されます。例えば、プレースホルダー$zoneTagの場合、GraphQL APIは提供された変数オブジェクトのzoneTagフィールドから値を読み取ります。

プレースホルダーに値を提供するには、クエリ変数ペインを選択し、変数を定義するJSONオブジェクトを編集します。

この例のクエリは、ゾーンIDを表すためにzoneTagクエリ変数を使用します:

GraphiQLクエリ変数の例