---
schema_version: "1"
id: 906660a25e5914c77bd2f87efd61b4f1450d1097cb2b414c2727e9c4e5fdc3f3
title: クエリおよび変異の実行
collection: mulesoft
version: current
locale: ja-jp
portal_url: https://docs.salesforce.com/mulesoft/current/ja-jp/datagraph/query-unified-schema.md
canonical_url: https://docs.mulesoft.com/jp/datagraph/query-unified-schema
source_site: docs.mulesoft.com
content_type: documentation
content_hash: c0746691f1d9cd5ecac095fd21c24e5523a3cd66308508fdcbf897c719992239
description: MuleSoft Documentation Site
latest: true
---
# クエリおよび変異の実行

統合スキーマは 1 つの GraphQL エンドポイントに解決されます。統合スキーマに対するクエリまたは変異を実行するには、まずアクセス権を要求し (該当する場合)、クエリエディターで GraphQL クエリを作成して実行します。

## [](#始める前に)始める前に

- [「Consume (コンシューム)」、「Contribute (参加)」、「Admin (管理)」のいずれかの権限](https://docs.mulesoft.com/jp/datagraph/permissions)​が必要です。
- [「Anypoint DataGraph の API のサポート」](https://docs.mulesoft.com/jp/datagraph/#anypoint-datagraph-api-support)​を確認してください。

## [](#クエリを実行するためのアクセス権を要求する)クエリを実行するためのアクセス権を要求する

クエリまたは変異を実行するためには、アクセス権を要求する必要があります。

外部クライアントプロバイダーを使用している場合は、​[「外部クライアントプロバイダーを使用する環境へのアクセス権の要求」](#request-access-to-environments-using-an-external-client-provider)​を参照してください。

1. **\[Run Operation (操作を実行)\]**​ をクリックします。
2. **\[Request access to run queries (クエリを実行するためのアクセス権の要求)\]**​ ダイアログで、クエリを実行するためのアクセス方法を選択します。
    
    既存のクライアントアプリケーション、またはクライアントの ID とシークレットのペアを使用する場合は、Exchange で確認できます。新しいタブで Exchange を開き、​**\[My applications (マイアプリケーション)\]**​ に移動し、リストからアプリケーションを選択して関連情報を確認します。
    
    次のいずれかのオプションを選択します。
    
    - **Use one of my existing applications (既存のアプリケーションの 1 つを使用する)**​: リストから既存のクライアントアプリケーションを選択して、\[Request Access (アクセス権を要求)\] をクリックします。
    - **Create a new application and use it immediately (新しいアプリケーションを作成してすぐに使用する)**​: **\[Next (次へ)\]**​ をクリックし、アプリケーション名と、説明やアプリケーション URL (省略可能) を指定して、​**\[Create and Request Access (作成してアクセス権を要求)\]**​ をクリックします。
    - **I already have credentials…​ (ログイン情報を取得済み…​)**​: **\[Next (次へ)\]**​ をクリックし、クライアント ID とシークレットのペアを指定してから、​**\[Authenticate & Request Access (認証してアクセス権を要求)\]**​ をクリックします。
3. クエリエディターでアクセス方法を変更するには、アクションメニュー (​**…​**​) から ​**\[Switch Current Credentials (現在のログイン情報を切り替え)\]**​ を選択します。

## [](#クエリを実行する)クエリを実行する

クエリエディターは、クエリの作成、実行、トラブルシューティングに使用できます。

1. 統合スキーマの API にパススルー認証が必要なものがある場合は、​**\[Add HTTP Headers (HTTP ヘッダーを追加)\]**​ をクリックして、次の手順を実行します。
    
    1. ヘッダー名を選択します。
    2. ヘッダー値を入力します。
    3. 他の API のヘッダー名と値のペアも指定する場合は、​**\[+Add Header (+ヘッダーを追加)\]**​ をクリックします。
    4. **\[Save (保存)\]**​ をクリックします。
    5. HTTP ヘッダーを編集する場合は、​**\[Edit HTTP Headers (HTTP ヘッダーを編集)\]**​ をクリックします。
2. クエリエディターで、インラインのオートコンプリート機能を使用してクエリを入力するか、​**Option/Alt + Shift + Space**​ キーでオートコンプリートメニューを開いて入力します。
    
    ![インラインのオートコンプリートを使用してクエリを作成](/mulesoft/current/ja-jp/datagraph/_images/datagraph-qsg-query-autocompletion.png)
3. 必要に応じて、​**\[Query Variables (クエリ変数)\]**​ ペインで、使用するクエリ変数を追加します。
    
    ![クエリエディターにクエリ変数を挿入](/mulesoft/current/ja-jp/datagraph/_images/datagraph-query-variable.png)
4. **\[Run (実行)\]**​ をクリックします。
    
    ![クエリエディターに表示されたクエリ結果](/mulesoft/current/ja-jp/datagraph/_images/datagraph-qsg-query-result.png)
5. クエリトレースを使用して結果を表示する場合は、アクションメニュー (​**…​**​) から ​**\[Trace Query (クエリをトレース)\]**​ を選択して、​**\[Run (実行)\]**​ をクリックします。
    
    ![クエリのトレースビューとクエリ結果](/mulesoft/current/ja-jp/datagraph/_images/datagraph-qsg-query-traces.png)
    
    DataGraph のクエリトレースの結果には、次の情報が示されます。
    
    - DataGraph でクエリの解析と検証に要した時間
    - クエリ全体の合計応答時間
    - クエリでの各ソース API への要求時間
6. クエリに関連するログを表示するには、アクションメニュー (​**…​**​) から ​**\[View Response Logs (応答ログを表示)\]**​ を選択します。
    
    ![クエリの応答ログページ](/mulesoft/current/ja-jp/datagraph/_images/datagraph-qsg-response-logs.png)
    
    DataGraph のログレベルには、DEBUG、INFO、WARN、ERROR があります。
7. **\[View History (履歴を表示)\]**​ をクリックすると、後からこの同じクエリ (または別のクエリ) にアクセスできます。
8. このクエリをアプリケーションで使用するには、​**\[Copy endpoint (エンドポイントをコピー)\]**​ をクリックして、クエリと自動的に生成された GraphQL エンドポイントをコピーします。クエリを curl スニペットとしてコピーすることもできます。

## [](#変異を実行する)変異を実行する

クエリエディターを使用して、変異を作成して実行します。必要に応じて、クエリエディターで変異のトラブルシューティングを行うこともできます

1. 統合スキーマの API にパススルー認証が必要なものがある場合は、​**\[Add HTTP Headers (HTTP ヘッダーを追加)\]**​ をクリックして、次の手順を実行します。
    
    1. ヘッダー名を選択します。
    2. ヘッダー値を入力します。
    3. 他の API のヘッダー名と値のペアも指定する場合は、​**\[+Add Header (+ヘッダーを追加)\]**​ をクリックします。
    4. **\[Save (保存)\]**​ をクリックします。
    5. HTTP ヘッダーを編集する場合は、​**\[Edit HTTP Headers (HTTP ヘッダーを編集)\]**​ をクリックします。
2. クエリエディターで、インラインのオートコンプリート機能を使用して変異を入力するか、​**Option/Alt + Shift + Space**​ キーでオートコンプリートメニューを開いて入力します。
    
    ![インラインのオートコンプリートを使用して変異を作成](/mulesoft/current/ja-jp/datagraph/_images/datagraph-mutation-autocomplete.png)
3. 必要に応じて、​**\[Query Variables (クエリ変数)\]**​ ペインで、使用する変数を追加します。
4. **\[Run (実行)\]**​ をクリックします。
    
    ![クエリエディターに表示された変異結果](/mulesoft/current/ja-jp/datagraph/_images/datagraph-mutation-result.png)
5. クエリトレースを使用して結果を表示する場合は、アクションメニュー (​**…​**​) から ​**\[Trace Query (クエリをトレース)\]**​ を選択して、​**\[Run (実行)\]**​ をクリックします。
6. クエリに関連するログを表示するには、アクションメニュー (​**…​**​) から ​**\[View Response Logs (応答ログを表示)\]**​ を選択します。
7. **\[View History (履歴を表示)\]**​ をクリックすると、後からこの同じ変異 (または別の変異) にアクセスできます。
8. この変異をアプリケーションで使用するには、​**\[Copy endpoint (エンドポイントをコピー)\]**​ をクリックして、クエリと自動的に生成された GraphQL エンドポイントをコピーします。クエリを curl スニペットとしてコピーすることもできます。

## [](#クエリエディターのショートカット)クエリエディターのショートカット

次の表は、クエリエディターで使用可能なショートカットを示しています。

<table class="tableblock frame-all grid-all fit-content spread">
<colgroup>
<col>
<col>
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">関数</th>
<th class="tableblock halign-left valign-top">ショートカット</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">クエリの整形</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Shift ​Ctrl​ p</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">操作を実行</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Ctrl + Enter</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">オートコンプリート</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Ctrl + space</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">行のコメントアウト</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Cmd + /</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">現在のスコープの終点または始点にジャンプ</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Cmd + m</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">現在の単語の強調表示</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Cmd + d</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">正規表現検索</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Cmd + f</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">検索と置換</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Cmd + h</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">次の行を現在の行に移動</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Cmd + j</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">行のカーソルより後の部分を削除</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Cmd + kk</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">現在の行の強調表示</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Cmd + l</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">現在の行のアウトデント</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Cmd + [</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">現在の行のインデント</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Cmd + ]</p></td>
</tr>
</tbody>
</table>

## [](#外部クライアントプロバイダーを使用する環境へのアクセス権の要求)外部クライアントプロバイダーを使用する環境へのアクセス権の要求

API Manager を使用すると、環境ごとに異なるクライアントプロバイダーを設定できます。データグラフが実行される環境によっては、クライアントアプリケーションで、デフォルトの Anypoint Platform ネイティブクライアントプロバイダーまたはサポートされている外部クライアントプロバイダーのいずれかを使用して認証する必要のある場合があります。詳細は、​[「クライアント管理について」](https://docs.mulesoft.com/jp/access-management/managing-api-clients)​を参照してください。

環境に特定のクライアントプロバイダーを設定しない場合は、Anypoint Platform のデフォルトのネイティブクライアントプロバイダーが使用されます。

各自の環境で外部クライアントプロバイダーを使用している場合は、​**\[Request Access (アクセス権の要求)\]**​ ポップアップに、外部クライアントプロバイダーの実装で定義された必須項目と省略可能な項目が表示されます。

たとえば、​`/api-federation/xapi/organizations/{organizationID}/environments/{environmentID}/type/federation/api/clientProvider/`​ エンドポイントに照会すると、その環境で設定されている許可種別が返されます。

```JSON
{
    "id": "aaaaaaaa-1a1a-1a1a-1a1a-aaaa1111aaa1",
    "name": "OpenAM",
    "typeName": "openam",
    "grantTypes": [
        {
            "name": "password",
            "label": "Resource Owner Grant",
            "depends": [],
            "exclude": [],
            "required": true (1)
        },
        {
            "name": "implicit",
            "label": "Implicit Grant",
            "depends": [],
            "exclude": [],
            "required": true (1)
        },
        {
            "name": "client_credentials",
            "label": "Client Credentials Grant",
            "depends": [],
            "exclude": [
                "authorization_code" (2)
            ],
            "required": false
        },
        {
            "name": "authorization_code",
            "label": "Authorization Code Grant",
            "depends": [],
            "exclude": [
                "client_credentials" (2)
            ],
            "required": false
        }
    ]
}
```

これらの許可種別のプロパティは、クライアントのアクセス権を設定するときの UI に反映されます。

![外部クライアントプロバイダーを使用する場合のアクセス権の要求](/mulesoft/current/ja-jp/datagraph/_images/confirm-credentials.png)

<table><tbody><tr><td><i class="conum" data-value="1"></i><b>1</b></td><td>UI で ​<strong>[Resource Owner Grant (リソースオーナー許可)]</strong>​ と ​<strong>[Implicit Grant (暗黙的許可)]</strong>​ の両方が必須とマークされています。</td></tr><tr><td><i class="conum" data-value="2"></i><b>2</b></td><td>UI の ​<strong>[Client Credentials Grant (クライアントログイン情報許可)]</strong>​ と ​<strong>[Authorization Code Grant (認証コード許可)]</strong>​ は相互に排他的です。</td></tr></tbody></table>

## [](#関連リソース)関連リソース

- [DataGraph での GraphQL クエリおよび変異の作成](https://docs.mulesoft.com/jp/datagraph/write-queries-tutorial)
- [Anypoint DataGraph のトラブルシューティング](https://docs.mulesoft.com/jp/datagraph/troubleshoot-schemas-queries)
- [Configure Multiple Client Providers for Client Management in API Manager (API Manager でのクライアント管理用の複数のクライアントプロバイダーの設定)](https://docs.mulesoft.com/jp/api-manager/latest/configure-multiple-credential-providers)