Anypoint Studio との IDP のインテグレーション

ドキュメントアクションの IDP Runtime Service API Connector を使用して、パブリッシュ済みのドキュメントアクションを Anypoint Studio から実行して結果を取得します。このコネクタは、ドキュメントアクションを Anypoint Exchange にパブリッシュすると自動的に生成されます。Exchange から Mule Connector としてダウンロードできます。

ドキュメントアクションのバージョンごとに異なるコネクタが生成されます。たとえば、ドキュメントアクションを初めてパブリッシュすると、このドキュメントアクションのバージョン ​1.0.0​ を実行するコネクタが Exchange に生成されます。その後、ドキュメントアクションを変更してバージョン ​1.1.0​ として再パブリッシュすると、別のコネクタが生成されます。この新しいドキュメントアクションバージョンを実行するには、このコネクタをダウンロードして Studio にインストールする必要があります。インテグレーションを構築するときに、この動作を考慮してください。

IDP Runtime Service API Connector には、次の操作があります。

  • getDocumentActionExecution

    ドキュメントアクションの実行結果を取得します。

  • postDocumentActionExecution

    処理するためにドキュメントを IDP に送信します。

始める前に

次の Anypoint 権限があることを確認します。

Execute Published Actions (パブリッシュ済みアクションの実行)

ユーザーがパブリッシュされたドキュメントアクションを実行し、実行結果を取得できるようにします。

すでに接続アプリケーションが IDP 用に設定されている場合、​「Configure Connected Apps (接続アプリケーションの設定)」​権限は不要で、新しい接続アプリケーションを作成する代わりに既存の接続アプリケーションを使用できます。

接続アプリケーションの作成

IDP API と通信するには、次の詳細を使用して接続アプリケーションを作成します。

  • Type (種別): App acts on its own behalf (client credentials) (アプリケーションが自身ために行動する (クライアントログイン情報))

  • Scopes (スコープ): Execute Published Actions (パブリッシュ済みアクションの実行)

接続アプリケーションを作成したら、アクセストークンを取得するときに使用するために、その ​ID​ と​シークレット​をコピーしておきます。

詳細は、『接続アプリケーション』を参照してください。

アクセストークンの取得

接続アプリケーションを設定したら、次の ​curl​ コマンドを使用してトークンを取得します。

curl --location --request POST 'https://anypoint.mulesoft.com/accounts/api/v2/oauth2/token' \ (1)
--header 'Content-Type: application/json' \
--data-raw '{
 "grant_type": "client_credentials",
 "client_id": "<connected-app-client-id>", (2)
 "client_secret": "<connected-app-client-secret>" (3)
}'
bash
1 EU 地域のユーザーは、​eu1.anypoint.mulesoft.com​ ドメインを使用します。
2 <connected-app-client-id>​ を接続アプリケーションのクライアント ID に置き換えます。
3 <connected-app-client-secret>​ を接続アプリケーションのクライアントシークレットに置き換えます。

IDP API をコールするときにアクセストークンを使用します。

IDP Runtime Service API Connector の設定

操作を使用する前に、手動またはグローバル設定要素を使用して、次の値を指定してコネクタを設定します。

  • host​: Anypoint エンドポイント URL

    例: idp-rt.{region}.anypoint.mulesoft.com

  • port​: 接続の HTTP ポート

    例: 443​。

  • basePath​: プロトコルなしの、コールする URL のベースパス

  • protocol​: コールのプロトコル (大文字)

    例: HTTPS

  • Response timeout​: この操作の応答タイムアウト

  • clientId​: IDP をコールするための接続アプリケーションのクライアント ID

  • clientSecret​: IDP をコールするための接続アプリケーションのクライアントシークレット

  • accessTokenUrl​: 接続アプリケーションのアクセストークンを取得するための URL

IDP へのドキュメントの送信

postDocumentActionExecution​ 操作を使用して、ドキュメントを IDP に送信し、対応するドキュメントアクションバージョンを実行します。

コネクタの ​[Postdocumentactionexecution request data (Postdocumentactionexecution 要求データ)]​ 項目で要求の詳細を指定します。サンプル要求を次に示します。

%dw 2.0
output multipart/form-data
---
{
   parts : {
   	 callback : {
   	 	  headers : {
               "Content-Type" : "text/plain"
               },
           content : '{"noAuthUrl": "https://{yourCallbackURL}.com"}'
       },
       file : {
           headers : {
               "Content-Disposition" : {
                   "name": "{fileName}",
                   "filename": "{myFile.jpg}",
                   "subtype": "form-data"
                   },
               "Content-Type" : "image/jpg"
               },
           content : payload
           }
       }
}
bash

この操作からの応答には、実行結果を取得するために使用する必要がある実行 ID が含まれています。

実行結果の取得

getDocumentActionExecution​ 操作を使用して、実行 ID を指定してドキュメントアクションの実行結果を取得します。

この操作からのサンプル応答を見やすく短縮したものを次に示します。