Flex Gateway新着情報
Governance新着情報
Monitoring API ManagerMule 4.x アプリケーションで API Autodiscovery を設定するには、次の要件を満たす必要があります。
Mule アプリケーションとペアにする API は、API Manager で使用できる必要があります。
次のどちらかで対応してください。
Exchange に API をパブリッシュして、そこから API Manager にインポートする。
「Exchange から API を管理する方法」を参照してください。
マシンから直接インポートする。
詳細は、「API インスタンスをインポートする方法」を参照してください。
API Manager は、インポートされた各 API の「API ID」識別子を生成します。
この API ID は、アプリケーションとペアにする API を識別するために Autodiscovery 要素で必要になります。
この手順は、デプロイ済み Mule アプリケーションを API プロキシ自体として使用するように API Manager に指示する場合に必要になります。
[Managing Type (管理種別)] で、[Basic Endpoint (基本エンドポイント)] を選択します。
デプロイ済み Mule アプリケーションを参照する実装 URI を追加します。
チェックマーク Check this box if you are managing this API in Mule 4 or above
を選択します。
Mule アプリケーションで Autodiscovery を使用するには、Anypoint Platform のログイン情報がすでに設定されている状態で Runtime を開始する必要があります。
デプロイメント対象に基づいて組織のログイン情報を設定する方法については、「Mule Runtime 4 の組織のログイン情報の設定」を参照してください。
Mule アプリケーションのコード内で、api-gateway:Autodiscovery
要素を設定する必要があります。
Autodiscovery 要素は、API Manager のペアにする特定の API を参照します。
API のプロキシエンドポイントを設定している場合、自動生成されたプロキシは Autodiscovery 要素で適切に設定されます。 |
<api-gateway:autodiscovery
apiId="${apiId}" (1)
flowRef="myFlow" /> (2)
1 | API Manager が API に割り当てた API ID を使用して apiId を設定します。 |
2 | API Manager の API とペアにするフローを参照するように flowRef 要素を設定します。 |
${apiId}
を特定の値に置き換えるか、キー - 値形式 (apiId=[your-specific-value]
) で値を定義する config.properties
ファイルを作成して、この設定の ${apiId}
として参照できます。
これは、Anypoint Studio の UI を使用して設定することもできます。
既存のフローで、Mule 設定ファイルエディターの [Global Elements (グローバル要素)] タブを選択します。
[Create (作成)] ボタンをクリックし、API Autodiscovery グローバル要素を探します。
API ID とフロー参照を設定します。
${apiId}
値を使用して、config.properties
ファイルから参照することもできます。
アプリケーションで要素が定義され、Anypoint Platform のログイン情報でランタイムが設定されたら、Mule Runtime は、API Manager で定義された API 設定を自動的に追跡して最新の状態に保ちます。
API Autodiscovery 要素の構文は、Mule 3.x から変更されていますが、その目的は変わりません。Mule アプリケーションの要素の形式は次のとおりです。
Mule 3.x XML 要素 | Mule 4.x XML 要素 |
---|---|
<api-platform-gw:api (…)/>。 |
<api-gateway:autodiscovery (…)/>。 |
Mule 4 では、API は API ID と、HTTP リスナーが定義されているフローへの参照によって識別されます。Mule 4 の apiId は、Mule 3.x 以前の Autodiscovery 要素を指定するために使用される apiName と apiVersion を置き換えます。