JavaScript を使用して JSON のレスポンスを解析する Bot を構築する
Microsoft Azure で作成したサブスクリプション キーを使用して bot を構築し、Automation 360 REST Web サービスおよび JavaScript アクションを使用して JSON のレスポンスを解析します。
前提条件
bot を構築するには、以下があることを確認します:
- Azure Portal でアカウントを作成済みで、利用できるサブスクリプション キーがある。
- Control Room または Community Control Room にアクセスする
- ワークステーションが Control Room の登録済みデバイスであること。
手順
- Control Room にログインします。
- [Bot] > [マイ Bot] の順に移動して、[Bot を作成] アイコンをクリックします。
- [名前] フィールドに、「API_Sentinel_Score_Bot」と入力します。
- 作成&編集 をクリックします。
-
[アクション] ウィンドウで、[変数] をクリックして新しい変数を作成します。
- [名前] フィールドに、「sURI」と入力します。
- [タイプ] フィールドで、[文字列] を選択します。
- [デフォルト値] フィールドで、以前に作成したリソースにアクセスし、その値をここに貼り付けます。https://westus.api.cognitive.microsoft.com/text/analytics/v2.1/sentiment
- [作成] をクリックします。
-
新しい [変数] の作成:
- [名前] フィールドに、「sSubscriptionKey」と入力します:
- [タイプ] フィールドで、[文字列] を選択します。
- [デフォルト値] フィールドで、[K1] フィールドからの値 0abfa73d93f1469d9d4b5db459394315 を貼り付けます。
- [作成] をクリックします。
-
[アクション] ウィンドウで、[REST Web サービス] > [POST メソッド] の順に選択し、bot の [開始] に配置します。
- [URI] フィールドで「$sURI$」を選択し、[はい、挿入します] をクリックします。
- [認証モード] ドロップダウン リストで、[認証なし] を選択します。
-
[ヘッダー] > [カスタム ヘッダー] > [(追加)] の順にクリックします:
- [名前] フィールドに、「Ocp-Apim-Subscription-Key」と入力します。
- [値] フィールドで [$sSubscriptionKey$] を選択し、[はい、挿入します] をクリックします。
- [コンテンツ タイプ] ドロップダウン リストで、[JSON (アプリケーション/JSON)] を選択します。
-
[カスタム パラメーター] に、次のコードを入力します:
{ "documents": [ { "language": "en", "id": "1", "text": "I love this world" } ] }
- [タイプ] > [ディクショナリ] および [サブタイプ] > [文字列] の新しい dResponse 変数を作成します。
- [出力を変数に割り当てる] ドロップダウン リストで、[dResponse - 文字列のディクショナリ] を選択します。
- [作成&選択] をクリックします。
- [アクション] ウィンドウで、[メッセージ ボックス] を bot にドラッグします。[表示するメッセージを入力] フィールドで、[dResponse - 文字列のディクショナリ] を選択し、[はい、挿入します] をクリックします。
- [タイプ] > [文字列] の新しい sOutput 変数を作成します。
-
[アクション] ウィンドウで、[ディクショナリ] > [取得] の順にクリックします。
- [ディクショナリ変数] ドロップダウン リストで、[dResponse - ディクショナリ] を選択します。
- [キー] フィールドに「Body」と入力します。
- [出力を変数に割り当てる] ドロップダウン リストで、[sOutput - 文字列] を選択します。
- [タイプ] > [リスト] および [サブタイプ] > [文字列] の新しい lParseOutput 変数を作成します。
- [タイプ] > [文字列] の新しい sSentimentValue 変数を作成します。
-
[アクション] ウィンドウで、[リスト] > [項目の追加] の順にクリックします。
- [リスト変数] ドロップダウン リストで、[lParseOutput - リスト] を選択します。
- [追加する項目] ドロップダウン リストで、[sOutput - 文字列] を選択します。
- [項目を追加] フィールドで、[リストの末尾] を選択します。
-
[アクション] ウィンドウで、[JavaScript] > [開く] の順にクリックします。
- [JavaScript セッション] フィールドで、[デフォルト] を選択します。
-
[JavaScript] で、[手動入力] を選択し、次のスクリプトを入力します。
function extractValue(list) {var output = JSON.parse(list);return output.documents[0].score;}
-
[アクション] ウィンドウで、[JavaScript] > [JavaScript を実行] の順にクリックします。
- [JavaScript セッション] で、[デフォルト] を選択します。
- [実行する関数の名前を入力] に、「extractValue」と入力します。
- [パラメーター] ドロップダウン リストで、[IParseOutput - リスト] を選択します。
- [出力を変数に割り当てる] ドロップダウン リストで、[sSentimentValue - 文字列] を選択します。
-
[アクション] ウィンドウで、[メッセージ ボックス] を bot にドラッグします。
- [表示するメッセージを入力] フィールドに次を入力します: 「Sentiment score: $sSentimentValue$」
-
[保存] をクリックして、[実行] をクリックします。
次のメッセージが表示されます。Bot が正常に実行されました! センチメント スコア: 0.9671428203582764