IBM Cloud Docs
GraphiQLでクエリを作成する

GraphiQLでクエリを作成する

GraphiQLクライアントを使用して、GraphQLクエリを作成し、実行することができます。

クエリーの設定とデータセットの選択

GraphiQL の編集画面をクリックし、 zone-id をCloudflareのゾーンIDに置き換えて、以下の基本クエリを追加します

GraphiQLペインにベースクエリを追加する
GraphiQLペインにベースクエリを追加する

ゾーンのタグを見つけるには、Cloudflareアカウントにログインし、タグを取得したいサイトを選択します。 Cloudflareダッシュボードの概要ページで、右サイドバーの API セクションまでスクロールします。 ゾーンとアカウントのタグが表示されます。

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

クエリ構築のためのGraphiQL単語補完アシスタント
クエリ構築のためのGraphiQL単語補完アシスタント

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

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

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

フィールドの上にマウスを置くと、データセットを説明するツールチップが表示されます。 この例では、「firewallEventsAdaptive ノードにカーソルを合わせると、ここに描かれている説明が表示される:

フィールドにマウスカーソルを合わせるとその説明が表示される
フィールドにマウスカーソルを合わせるとその説明が表示される

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

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

filter と'limit 引数は必須であることを、それらの型定義(金色のテキスト)の後に感嘆符(!)で示す。 この例では、'orderBy 引数は必要ないが、使用する場合は'ZoneFirewallEventsAdaptiveOrderBy 型の値を必要とする。

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

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

以下のクエリー例では、'firewallEventsAdaptive(およびその他のGraphQLノード)に対して必要な'filter および'limit 引数を示している:

GraphiQLクエリ引数の例
GraphiQLクエリ引数の例

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

クエリで使用できるフィールドを参照するには、データセット名にカーソルを合わせると表示されるツールチップで確認できます。 次にデータ型定義(金色のテキスト)を選択する:

データセットにマウスを合わせると、利用可能なフィールドが表示される
データセットにマウスを合わせると、利用可能なフィールドが表示される

Documentation Explorerが開き、フィールドのリストが表示される:

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

読み込みたいデータ・フィールドを追加するには、パラメータの閉じ括弧の後に開始括弧({)を入力し、次に取り込みたいフィールド名を入力し始める。 単語補完を使ってフィールドを選択する。

以下のクエリー例は、'action、'datetime、'clientRequestHTTPHost、'userAgent フィールドを返す:

返りフィールドを持つクエリの例
返りフィールドを持つクエリの例

クエリーしたいフィールドをすべて入力したら、再生ボタンを選択してクエリーを送信します。 応答ペインには、構成されたGraphQLAPI エンドポイントから取得したデータが含まれます:

GraphiQLレスポンスペイン
GraphiQL レスポンスペイン

変数置換

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

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

プレースホルダーの値はJSON形式で提供されるべきで、その中でプレースホルダーは'$ 文字なしでアドレスされる。 例として、プレースホルダ'$zoneTag に対して、GraphQLAPIは提供された変数オブジェクトの'zoneTag フィールドから値を読み取ります。

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

この問い合わせ例では、ゾーンIDを表すために'zoneTag 問い合わせ変数を使用している:

GraphiQLクエリ変数の例
GraphiQLクエリ変数の例