---
schema_version: "1"
id: 2a0d2b7f2033b6be8849acc5b58f48a6c5c0a688e0415c9da4e0f239afd476d1
title: Mule 4 アプリケーションでの Mule ゲートウェイの API 自動検出の設定
collection: mulesoft
version: current
locale: ja-jp
portal_url: https://docs.salesforce.com/mulesoft/current/ja-jp/mule-gateway/mule-gateway-config-autodiscovery-mule4.md
canonical_url: https://docs.mulesoft.com/jp/mule-gateway/mule-gateway-config-autodiscovery-mule4
source_site: docs.mulesoft.com
content_type: documentation
content_hash: 70eed3eacf8104dc4aaeb1740bce476f3ed0f9f0f62e92c6ffc504762e535bd6
description: MuleSoft Documentation Site
latest: true
---
# Mule 4 アプリケーションでの Mule ゲートウェイの API 自動検出の設定

Mule 4.x アプリケーションで API 自動検出を設定するには、次の要件を満たす必要があります。

## [](#api-manager-で-api-を使用できるようにする)API Manager で API を使用できるようにする

Mule アプリケーションとペアにする API は、API Manager で使用できる必要があります。  
次のどちらかで対応してください。

- Exchange に API をパブリッシュして、そこから API Manager にインポートする。  
    [「Exchange から API を管理する方法」](#api-manager::manage-exchange-api-task.adoc)​を参照してください。
- マシンから直接インポートする。  
    詳細は、​[「API インスタンスをインポートする方法」](https://docs.mulesoft.com/jp/api-manager/latest/import-api-task)​を参照してください。

API Manager は、インポートされた各 API の「API ID」識別子を生成します。

![API インスタンス ID が強調表示されている HTTP API インスタンス](/mulesoft/current/ja-jp/mule-gateway/_images/api-id.png)

この API ID は、アプリケーションとペアにする API を識別するために自動検出要素で必要になります。

## [](#api-manager-の設定)API Manager の設定

この手順は、デプロイ済み Mule アプリケーションを API プロキシ自体として使用するように API Manager に指示する場合に必要になります。

1. \[Managing Type (管理種別)\] で、\[Basic Endpoint (基本エンドポイント)\] を選択します。
2. デプロイ済み Mule アプリケーションを参照する実装 URI を追加します。
3. チェックマーク ​`Check this box if you are managing this API in Mule 4 or above`​ を選択します。

## [](#mule-runtime-で-anypoint-platform-組織のログイン情報を設定する)Mule Runtime で Anypoint Platform 組織のログイン情報を設定する

Mule アプリケーションで自動検出を使用するには、Anypoint Platform のログイン情報がすでに設定されている状態で Mule Runtime Engine を開始する必要があります。 デプロイメント対象に基づいて組織のログイン情報を設定する方法については、​[「Mule Runtime 4 の組織のログイン情報の設定」](https://docs.mulesoft.com/jp/mule-gateway/mule-gateway-org-credentials-mule4)​を参照してください。

## [](#mule-アプリケーションでの自動検出要素の設定)Mule アプリケーションでの自動検出要素の設定

Mule アプリケーションのコード内で、​`api-gateway:Autodiscovery`​ 要素を設定する必要があります。 Autodiscovery 要素は、API Manager のペアにする特定の API を参照します。

<table><tbody><tr><td class="icon"><i class="fa icon-tip" title="Tip"></i></td><td class="content">API のプロキシエンドポイントを設定している場合、自動生成されたプロキシは自動検出要素で適切に設定されます。</td></tr></tbody></table>

XML 要素

```xml
<api-gateway:autodiscovery
  apiId="${apiId}" (1)
  flowRef="myFlow" /> (2)
```

<table><tbody><tr><td><i class="conum" data-value="1"></i><b>1</b></td><td>API Manager が API に割り当てた API ID を使用して ​<code>apiId</code>​ を設定します。</td></tr><tr><td><i class="conum" data-value="2"></i><b>2</b></td><td>API Manager の API とペアにするフローを参照するように ​<code>flowRef</code>​ 要素を設定します。</td></tr></tbody></table>

`${apiId}`​ を特定の値に置き換えるか、キー - 値形式 (​`apiId=[your-specific-value]`​) で値を定義する ​`config.properties`​ ファイルを作成して、この設定の ​`${apiId}`​ として参照できます。

これは、Anypoint Studio の UI を使用して設定することもできます。

1. 既存のフローで、Mule 設定ファイルエディターの \[Global Elements (グローバル要素)\] タブを選択します。
2. \[Create (作成)\] ボタンをクリックし、API 自動検出グローバル要素を探します。
    
    ![\[Component configurations (コンポーネント設定)\] というラベルが付いたドロップダウンで \[API Autodiscovery (API の自動検出)\] が選択されているグローバル要素を設定するためのフォーム](_images/auto-discovery-studio-7.png)
3. API ID とフロー参照を設定します。  
    
    ![API の自動検出設定を表示するフォーム](/mulesoft/current/ja-jp/mule-gateway/_images/auto-discovery-api-config.png)
    
    `${apiId}`​ 値を使用して、​`config.properties`​ ファイルから参照することもできます。

アプリケーションで要素が定義され、Anypoint Platform のログイン情報でランタイムが設定されたら、Mule Runtime は、API Manager で定義された API 設定を自動的に追跡して最新の状態に保ちます。

## [](#mule-3-x-設定からの変更)Mule 3.x 設定からの変更

API 自動検出要素の構文は、Mule 3.x から変更されていますが、その目的は変わりません。Mule アプリケーションの要素の形式は次のとおりです。

<table class="tableblock frame-all grid-all fit-content spread">
<colgroup>
<col>
<col>
</colgroup>
<thead>
<tr>
<th class="tableblock halign-center valign-top">Mule 3.x XML 要素</th>
<th class="tableblock halign-center valign-top">Mule 4.x XML 要素</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-center valign-top"><div class="content"><div class="paragraph">
<p>&lt;api-platform-gw:api (…​)/&gt;。</p>
</div></div></td>
<td class="tableblock halign-center valign-top"><div class="content"><div class="paragraph">
<p>&lt;api-gateway:autodiscovery (…​)/&gt;。</p>
</div></div></td>
</tr>
</tbody>
</table>

Mule 4 では、API は API ID と、HTTP リスナーが定義されているフローへの参照によって識別されます。Mule 4 の apiId は、Mule 3.x 以前の自動検出要素を指定するために使用される apiName と apiVersion を置き換えます。

## [](#関連情報)関連情報

- [Mule ゲートウェイの API 自動検出の概念の確認](https://docs.mulesoft.com/jp/mule-gateway/mule-gateway-autodiscovery-overview)