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

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

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

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

api name version autodiscovery

API Manager は、上記のタスクで生成した API 参照名とバージョンを公開します。
これらの API 参照名とバージョンは、アプリケーションとペアにする API を識別するために Autodiscovery 要素で必要になります。

Mule Runtime で Anypoint Platform 組織のログイン情報を設定する

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

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

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

API のプロキシエンドポイントを設定している場合、自動生成されたプロキシは Autodiscovery 要素で適切に設定されます。
XML 要素
<api-platform-gw:api
  apiName="${apiName}" (1)
  version="${apiVersion}" (2)
  flowRef="proxy" (3)
  apikitRef="api-config"/> (4)
1 UUID (API Manager によって API に割り当てられたグループ ID と Exchange アセット ID) を使用して ​${apiName}​ を設定します。
2 API バージョン (API Manager によって API に割り当てられたバージョン名とインスタンス ID または表示ラベル) を使用して ​${apiVersion}​ を設定します。
3 API Manager の API とペアにするフローを参照するように ​flowRef​ 要素を設定します。
4 APIKit を使用する場合、リソースレベルでポリシーを適用するには、この値を設定する必要があります。そのようにしないと、ポリシーがリソースレベルで機能しません。

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

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

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

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

    autodis cerate global2
  3. APIname、バージョン、フロー参照を設定します。

    autodis choose global2

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

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