OutSystemsアプリケーションでAzure MLコネクタを使用する
Azure MLコネクタを使用してAzure機械学習スコアモデルとリアルタイムで通信し、予測結果を返します。
前提条件
Azure MLコネクタをアプリケーションで使用する前に、以下の手順を実行する必要があります。
- Azure ML Studioで、トレーニングと予測実験を作成します。
- 新規として、予測実験をデプロイします。
OutSystemsアプリケーションでコネクタを使用する
OutSystemsアプリケーションでAzure MLコネクタを使用するには、以下の手順を実行する必要があります(詳細については後ほど説明しています)。
-
作成した予測実験のAPIキーとエンドポイントを取得する
-
リクエストおよびレスポンスのJSON文字列を保持するデータストラクチャを作成する
-
コネクタへの参照をアプリケーションに追加する
-
ロジックフローでコネクタを使用する
手順I. 作成した予測実験のAPIキーとエンドポイントを取得する
APIキーおよびエンドポイントの値は、ロジックフローにおいてコネクタのアクションの入力パラメータとなります。これらの値を取得するには、以下の手順を実行します。
-
Webサービスのリストに移動し、必要な実験を選択します。または、Azure Machine Learning Webサービスのホームページのメニューから[Web Services]タブを選択し、必要な実験を選択します。
-
[Use Web Service]をクリックし、メニューの[Consume]タブに移動します。
-
[Primary Key]フィールドと[Request-Response]フィールドの値をコピーして、ドキュメントに保存します。
[Primary Key]の値はAPIキー、[Request-Response]の値はエンドポイントです。
手順2. リクエストおよびレスポンスのJSON文字列を保持するデータストラクチャを作成する
リクエストおよびレスポンスのJSON文字列からデータストラクチャを作成するには、以下の手順を実行します。
-
Azure ML WebサービスのWebサイトにあるWebサービス詳細ページのメニューで、[Swagger API]タブに切り替えます。
-
[Submit Request]をクリックしてセクションを展開し、Execution requestとExecutionResultsのJSON文字列を表示します。
-
Service Studioで[Data]タブに移動し、Structuresフォルダを右クリックして[Add Structure from JSON]を選択します。
-
ストラクチャの名前を指定し、入力ボックスにExecution requestのJSON文字列を入力します。空の「Global Parameters」オブジェクトを削除し、[Add Structure]ボタンをクリックしてストラクチャを作成します。
-
手順2および3を繰り返して、ExecutionResults JSON文字列のストラクチャを取得します。
手順3. コネクタへの参照をアプリケーションに追加する
コネクタへの参照をアプリケーションで追加するには、以下の手順を実行する必要があります。
- Service Studioで、[Manage Dependencies]ツールバーボタンをクリックします。
- プロデューサのリストから[AzureMLConnector]を選択し、すべての要素にチェックを付けます。
- [OK]をクリックし、コネクタの要素への参照をアプリケーションに追加します。
手順4. ロジックフローでコネクタを使用する
ロジックフローでコネクタを使用し、以下の手順を実行します。
-
TestValuesおよびRequest_Exampleという2つのローカル変数を作成します。TestValuesのデータ型をInput1Itemに設定し、Request_Exampleのデータ型をExecution requestストラクチャに設定します。
-
TestValuesには、設定する値が保持されます。
-
Request_Exampleは、Var1の値が追加されたExecution requestストラクチャです。これがコネクタの入力パラメータになります。
-
-
TestValuesをフローにドラッグし、必要なフィールドを入力します。
-
ListAppendアクションをフローにドラッグし、必要な入力パラメータをドロップダウンから選択します。
-
JSON Serializeアクションをフローに追加し、Execution requestストラクチャをJSON文字列にシリアル化します。
-
[Logic]タブで、[Server Actions]を展開して[AzureMLConnector]ドロップダウンを開きます。PredictResultsアクションを目的のフローにドラッグします。
-
PredictResultsアクションのRequestBody_JSONフィールドで、JSON Serializeの出力を選択します。
-
APIキーとエンドポイントの値を保存したドキュメントに戻ります。[EndpointURL]フィールドにエンドポイントの値を入力し、[AuthToken]フィールドにAPIキーの値を入力します。
-
-
コネクタからのJSON文字列出力を逆シリアル化してExecutionResultsデータストラクチャにマッピングするため、JSON Deserializeアクションをフローにドラッグし、[JSON String]フィールドにPredictResults.ResponseBody_JSONを入力します。
-
パブリッシュしてテストします。