Mule 4 アプリケーションでの Mule ゲートウェイの API 自動検出の設定

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

API Manager で API を使用できるようにする

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

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

api id

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

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 アプリケーションで Autodiscovery を使用するには、Anypoint Platform のログイン情報がすでに設定されている状態で Runtime を開始する必要があります。
デプロイメント対象に基づいて組織のログイン情報を設定する方法については、​「Mule Runtime 4 の組織のログイン情報の設定」​を参照してください。

Mule アプリケーションでの Autodiscovery 要素の設定

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

API のプロキシエンドポイントを設定している場合、自動生成されたプロキシは Autodiscovery 要素で適切に設定されます。
XML 要素
<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 を使用して設定することもできます。

  1. 既存のフローで、Mule 設定ファイルエディターの [Global Elements (グローバル要素)] タブを選択します。

  2. [Create (作成)] ボタンをクリックし、API Autodiscovery グローバル要素を探します。

    auto discovery studio 7
  3. API ID とフロー参照を設定します。

    auto discovery api config

    ${apiId}​ 値を使用して、​config.properties​ ファイルから参照することもできます。

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

Mule 3.x 設定からの変更

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 を置き換えます。