Azure Logic Apps でデータの操作を実行する
この記事では、次のようなタスクのアクションを追加することにより、ロジック アプリのデータを操作する方法を示します。
- 配列からテーブルを作成します。
- 条件に基づいて他の配列から配列を作成します。
- JavaScript Object Notation (JSON) オブジェクトのプロパティからわかりやすいトークンを作成し、ワークフローでこれらのプロパティを簡単に使用できるようにします。
必要なアクションがここで見つからない場合は、Azure Logic Apps で提供されている多くのデータ操作関数を参照してみてください。
前提条件
Azure サブスクリプション。 サブスクリプションをお持ちでない場合には、無料の Azure アカウントにサインアップしてください。
データを操作するための操作が必要なロジック アプリ。
ロジック アプリを初めて使用する場合は、「Azure Logic Apps とは」とクイックスタートの初めてのロジック アプリの作成に関するページを参照してください。
ロジック アプリの最初のステップになるトリガー
データ操作はアクションとしてのみ使用できるので、これらのアクションを使用するには、その前に、トリガーでロジック アプリを開始し、目的の出力を作成するために必要な他のアクションを含める必要があります。
データ操作アクション
使用できるデータ操作をまとめた次の表は、操作が使用するソース データの種類を基に整理されていますが、各説明はアルファベット順になっています。
配列アクション
これらのアクションは、配列内のデータを操作するのに役立ちます。
アクション | 説明 |
---|---|
CSV テーブルの作成 | 配列からコンマ区切り値 (CSV) テーブルを作成します。 |
HTML テーブルの作成 | 配列から HTML テーブルを作成します。 |
配列のフィルター処理 | 指定したフィルターまたは条件に基づいて、配列から配列のサブセットを作成します。 |
結合 | 配列内のすべての項目から 1 つの文字列を作成し、指定した文字で各項目を区切ります。 |
選択 | 異なる配列のすべての項目に対して指定されているプロパティから配列を作成します。 |
JSON アクション
これらのアクションは、JavaScript Object Notation (JSON) 形式のデータを操作するのに役立ちます。
アクション | 説明 |
---|---|
作成 | さまざまなデータ型を含むことができる複数の入力からメッセージまたは文字列を作成します。 その後は、同じ入力を繰り返し入力するのではなく、この文字列を 1 つの入力として使用できます。 たとえば、さまざまな入力から 1 つの JSON メッセージを作成できます。 |
Parse JSON | ロジック アプリでプロパティを簡単に使用できるように、JSON コンテンツのプロパティに対するわかりやすいデータ トークンを作成します。 |
さらに複雑な JSON 変換を作成する場合は、「Liquid テンプレートを使用して高度な JSON 変換を実行する」をご覧ください。
作成アクション
複数の入力から JSON オブジェクトなどの 1 つの出力を作成するには、作成アクションを使用できます。 入力では、整数、ブール値、配列、JSON オブジェクト、および Azure Logic Apps がサポートする他の任意のネイティブ型 (たとえば、バイナリや XML) など、さまざまな型を使用できます。 その後、作成アクションの後に続くアクションで出力を使用できます。 作成アクションを使用すると、ロジック アプリのワークフローを作成するときに同じ入力を繰り返さなくて済むようにもできます。
たとえば、ユーザーの名と姓を格納している文字列変数や、ユーザーの年齢を格納している整数変数など、複数の変数から JSON メッセージを作成できます。 ここでは、作成アクションは次の入力を受け取ります。
{ "age": <ageVar>, "fullName": "<lastNameVar>, <firstNameVar>" }
そして、次の出力を作成します。
{"age":35,"fullName":"Owens,Sophie"}
例を試すには、ロジック アプリ デザイナーを使用して以下の手順に従ってください。 または、コード ビュー エディターを使用する場合は、この記事の例の作成と変数を初期化するのアクション定義を、独自のロジック アプリの基になるデータ操作コードの例 - 作成のワークフロー定義にコピーします。
Azure portal または Visual Studio で、ロジック アプリをロジック アプリ デザイナーで開きます。
この例では、Azure portal と、繰り返しトリガーおよび複数の変数を初期化するアクションを含むロジック アプリを使用します。 これらのアクションは、2 つの文字列変数と 1 つの整数変数を作成するように設定されています。 後でロジック アプリをテストするときは、トリガーの発生を待つことなく、手動でアプリを実行できます。
出力を作成するロジック アプリでは、次のいずれかの手順に従います。
最後のステップにアクションを追加するには、 [新しいステップ] を選択します。
ステップとステップの間にアクションを追加するには、接続矢印の上にマウスを移動してプラス記号 [+] を表示させます。 プラス記号を選択し、 [アクションの追加] を選択します。
[アクションを選択してください] の下の検索ボックス内に、フィルターとして「
compose
」と入力します。 アクションの一覧で、[作成] アクションを選択します。[入力] ボックスで、出力を作成するための入力を指定します。
この例では、[入力] ボックスの内部をクリックすると、動的コンテンツの一覧が表示されるので、前に作成した変数を選択できます。
完成した作成アクションの例を次に示します。
ロジック アプリを保存します。 デザイナーのツール バーで、 [保存] を選択します。
基になるワークフロー定義でのこのアクションについて詳しくは、「作成アクション」をご覧ください。
ロジック アプリをテストする
作成アクションで意図した結果が作成されるかどうかを確認するには、作成アクションからの出力を含む通知を自分自身に送信します。
ロジック アプリで、作成アクションからの結果を送信できるアクションを追加します。
そのアクションでは、結果を表示する任意の場所をクリックします。 動的コンテンツの一覧が開いたら、作成アクションで [出力] を選択します。
この例では、メールの送信アクションを使用し、メールの本文と件名に [出力] フィールドが含まれます。
ロジック アプリを手動で実行します。 デザイナーのツール バーで、 [実行] を選択します。
使用したメール コネクタをに基づいて、次のような結果が表示されます。
CSV テーブルの作成アクション
JavaScript Object Notation (JSON) オブジェクトからのプロパティと値を配列に含むコンマ区切り値 (CSV) テーブルを作成するには、CSV テーブルの作成アクションを使用します。 その後、CSV テーブルの作成アクションに続くアクションで、結果のテーブルを使用できます。
コード ビュー エディターを使用する場合は、この記事の例のCSV テーブルの作成と変数を初期化するのアクション定義を、独自のロジック アプリの基になるデータ操作コードの例 - CSV テーブルの作成のワークフロー定義にコピーします。
Azure portal または Visual Studio で、ロジック アプリをロジック アプリ デザイナーで開きます。
この例では、Azure portal と、繰り返しトリガーおよび変数を初期化するアクションを含むロジック アプリを使用します。 このアクションは、JSON 形式のプロパティと値を含む配列が初期値である変数を作成するように設定されています。 後でロジック アプリをテストするときは、トリガーの発生を待つことなく、手動でアプリを実行できます。
CSV テーブルを作成するロジック アプリでは、次のいずれかの手順に従います。
最後のステップにアクションを追加するには、 [新しいステップ] を選択します。
ステップとステップの間にアクションを追加するには、接続矢印の上にマウスを移動してプラス記号 [+] を表示させます。 プラス記号を選択し、 [アクションの追加] を選択します。
[アクションを選択してください] の下の検索ボックス内に、フィルターとして「
create csv table
」と入力します。 アクションの一覧から、CSV テーブルの作成アクションを選択します。[From](ソース) ボックスで、テーブルを作成するための配列または式を指定します。
この例では、[From](ソース) ボックスの内部をクリックすると、動的コンテンツの一覧が表示されるので、前に作成した変数を選択できます。
ヒント
JSON オブジェクトのプロパティにわかりやすいトークンを作成し、プロパティを入力として選択できるようにするには、CSV テーブルの作成アクションを呼び出す前に JSON の解析を使用します。
完成した CSV テーブルの作成アクションの例を次に示します。
•
ロジック アプリを保存します。 デザイナーのツール バーで、 [保存] を選択します。
テーブルの形式をカスタマイズする
既定では、[列] プロパティは、配列の項目に基づいてテーブルの列を自動的に作成するように設定されます。 カスタム ヘッダーと値を指定するには、次の手順のようにします。
[列] の一覧を開き、[カスタム] を選択します。
[ヘッダー] プロパティで、代わりに使用するカスタム ヘッダー テキストを指定します。
[値] プロパティで、代わりに使用するカスタム値を指定します。
配列から値を返すには、CSV テーブルの作成アクションで item()
関数を使用できます。 For_each
ループでは、items()
関数を使用できます。
たとえば、プロパティ値のみを含み、配列からのプロパティ名を含まないテーブル列が必要であるとします。 これらの値のみを返すには、以下に示すデザイナー ビューまたはコード ビューでの操作手順に従ってください。 この例で返される結果を次に示します。
Apples,1
Oranges,2
デザイナー ビューでの操作
アクションで、[ヘッダー] 列を空のままにします。 [値] 列の各行で、目的の各配列プロパティを逆参照します。 [値] の下の各行は、指定された配列プロパティのすべての値を返し、テーブル内の列になります。
[値] の下にある目的の各行で、編集ボックス内をクリックして、動的コンテンツの一覧が表示されるようにします。
動的コンテンツ リストの [式] を選択します。
式エディターで、必要な配列プロパティ値を指定する次の式を入力し、[OK] を選択します。
item()?['<array-property-name>']
次に例を示します。
item()?['Description']
item()?['Product_ID']
必要な配列プロパティごとに、前の手順を繰り返します。 完了すると、アクションは次の例のようになります。
式をより記述的なバージョンに解決するには、コード ビューに切り替え、再びデザイナー ビューに戻って、折りたたまれているアクションを再度開きます。
これにより、CSV テーブルの作成アクションは次の例のようになります。
コード ビューでの操作
アクションの JSON 定義で、columns
配列内で header
プロパティを空のストリングに設定します。 value
プロパティごとに、目的の各配列プロパティを逆参照します。
デザイナーのツール バーで、[コード ビュー] を選択します。
コード エディターでは、アクションの
columns
配列で、必要な配列値の列ごとに、空のheader
プロパティとこのvalue
式を追加します。{ "header": "", "value": "@item()?['<array-property-name>']" }
次に例を示します。
"Create_CSV_table": { "inputs": { "columns": [ { "header": "", "value": "@item()?['Description']" }, { "header": "", "value": "@item()?['Product_ID']" } ], "format": "CSV", "from": "@variables('myJSONArray')" } }
デザイナー ビューに戻り、折りたたまれたアクションを再度開きます。
CSV テーブルの作成アクションは次の例のようになり、式は、より記述的なバージョンに解決されました。
基になるワークフロー定義でのこのアクションについて詳しくは、「テーブル アクション」をご覧ください。
ロジック アプリをテストする
CSV テーブルの作成アクションで意図した結果が作成されるかどうかを確認するには、CSV テーブルの作成アクションからの出力を含む通知を自分自身に送信します。
ロジック アプリで、CSV テーブルの作成アクションからの結果を送信できるアクションを追加します。
そのアクションでは、結果を表示する任意の場所をクリックします。 動的コンテンツの一覧が開いたら、CSV テーブルの作成アクションで [出力] を選択します。
この例では、Office 365 Outlook のメールの送信アクションを使用し、メールの本文に [出力] フィールドが含まれます。
注意
正しくない形式でテーブルが返される場合は、テーブル データの形式を確認する方法に関するページを参照してください。
ロジック アプリを手動で実行します。 デザイナーのツール バーで、 [実行] を選択します。
使用したメール コネクタをに基づいて、次のような結果が表示されます。
HTML テーブルの作成アクション
JavaScript Object Notation (JSON) オブジェクトからのプロパティと値を配列に含む HTML テーブルを作成するには、HTML テーブルの作成アクションを使用します。 その後、HTML テーブルの作成アクションに続くアクションで、結果のテーブルを使用できます。
コード ビュー エディターを使用する場合は、この記事の例のHTML テーブルの作成と変数を初期化するのアクション定義を、独自のロジック アプリの基になるデータ操作コードの例 - HTML テーブルの作成のワークフロー定義にコピーします。
Azure portal または Visual Studio で、ロジック アプリをロジック アプリ デザイナーで開きます。
この例では、Azure portal と、繰り返しトリガーおよび変数を初期化するアクションを含むロジック アプリを使用します。 このアクションは、JSON 形式のプロパティと値を含む配列が初期値である変数を作成するように設定されています。 後でロジック アプリをテストするときは、トリガーの発生を待つことなく、手動でアプリを実行できます。
HTML テーブルを作成するロジック アプリでは、次のいずれかの手順に従います。
最後のステップにアクションを追加するには、 [新しいステップ] を選択します。
ステップとステップの間にアクションを追加するには、接続矢印の上にマウスを移動してプラス記号 [+] を表示させます。 プラス記号を選択し、 [アクションの追加] を選択します。
[アクションを選択してください] の下の検索ボックス内に、フィルターとして「
create html table
」と入力します。 アクションの一覧から、HTML テーブルの作成アクションを選択します。[From](ソース) ボックスで、テーブルを作成するための配列または式を指定します。
この例では、[From](ソース) ボックスの内部をクリックすると、動的コンテンツの一覧が表示されるので、前に作成した変数を選択できます。
ヒント
JSON オブジェクトのプロパティにわかりやすいトークンを作成し、プロパティを入力として選択できるようにするには、HTML テーブルの作成アクションを呼び出す前に JSON の解析を使用します。
完成した HTML テーブルの作成アクションの例を次に示します。
ロジック アプリを保存します。 デザイナーのツール バーで、 [保存] を選択します。
テーブルの形式をカスタマイズする
既定では、[列] プロパティは、配列の項目に基づいてテーブルの列を自動的に作成するように設定されます。 カスタム ヘッダーと値を指定するには、次の手順のようにします。
[列] の一覧を開き、[カスタム] を選択します。
[ヘッダー] プロパティで、代わりに使用するカスタム ヘッダー テキストを指定します。
[値] プロパティで、代わりに使用するカスタム値を指定します。
配列から値を返すには、HTML テーブルの作成アクションで item()
関数を使用できます。 For_each
ループでは、items()
関数を使用できます。
たとえば、プロパティ値のみを含み、配列からのプロパティ名を含まないテーブル列が必要であるとします。 これらの値のみを返すには、以下に示すデザイナー ビューまたはコード ビューでの操作手順に従ってください。 この例で返される結果を次に示します。
Apples,1
Oranges,2
デザイナー ビューでの操作
アクションで、[ヘッダー] 列を空のままにします。 [値] 列の各行で、目的の各配列プロパティを逆参照します。 [値] の下の各行は、指定されたプロパティのすべての値を返し、テーブル内の列になります。
[値] の下にある目的の各行で、編集ボックス内をクリックして、動的コンテンツの一覧が表示されるようにします。
動的コンテンツ リストの [式] を選択します。
式エディターで、必要な配列プロパティ値を指定する次の式を入力し、[OK] を選択します。
item()?['<array-property-name>']
次に例を示します。
item()?['Description']
item()?['Product_ID']
必要な配列プロパティごとに、前の手順を繰り返します。 完了すると、アクションは次の例のようになります。
式をより記述的なバージョンに解決するには、コード ビューに切り替え、再びデザイナー ビューに戻って、折りたたまれているアクションを再度開きます。
これにより、HTML テーブルの作成アクションは次の例のようになります。
コード ビューでの操作
アクションの JSON 定義で、columns
配列内で header
プロパティを空のストリングに設定します。 value
プロパティごとに、目的の各配列プロパティを逆参照します。
デザイナーのツール バーで、[コード ビュー] を選択します。
コード エディターでは、アクションの
columns
配列で、必要な配列値の列ごとに、空のheader
プロパティとこのvalue
式を追加します。{ "header": "", "value": "@item()?['<array-property-name>']" }
次に例を示します。
"Create_HTML_table": { "inputs": { "columns": [ { "header": "", "value": "@item()?['Description']" }, { "header": "", "value": "@item()?['Product_ID']" } ], "format": "HTML", "from": "@variables('myJSONArray')" } }
デザイナー ビューに戻り、折りたたまれたアクションを再度開きます。
HTML テーブルの作成アクションは次の例のようになり、式は、より記述的なバージョンに解決されました。
基になるワークフロー定義でのこのアクションについて詳しくは、「テーブル アクション」をご覧ください。
ロジック アプリをテストする
HTML テーブルの作成アクションで意図した結果が作成されるかどうかを確認するには、HTML テーブルの作成アクションからの出力を含む通知を自分自身に送信します。
ロジック アプリで、HTML テーブルの作成アクションからの結果を送信できるアクションを追加します。
そのアクションでは、結果を表示する任意の場所をクリックします。 動的コンテンツの一覧が開いたら、HTML テーブルの作成アクションで [出力] を選択します。
この例では、Office 365 Outlook のメールの送信アクションを使用し、メールの本文に [出力] フィールドが含まれます。
注意
HTML テーブルの出力をメール アクションに含めるときは、メール アクションの詳細オプションで [HTML です] プロパティを [はい] に設定してください。 これにより、メール アクションは HTML テーブルを正しく書式設定します。
注意
正しくない形式でテーブルが返される場合は、テーブル データの形式を確認する方法に関するページを参照してください。
ロジック アプリを手動で実行します。 デザイナーのツール バーで、 [実行] を選択します。
使用したメール コネクタをに基づいて、次のような結果が表示されます。
配列のフィルター処理アクション
既存の配列から特定の条件を満たす項目を含む小さい配列を作成するには、配列のフィルター処理アクションを使用します。 その後、配列のフィルター処理アクションに続くアクションで、フィルター処理された配列を使用できます。
注意
条件で使用するフィルター テキストでは、大文字と小文字が区別されます。 また、このアクションでは、配列内の項目の形式またはコンポーネントを変更することはできません。
配列のフィルター処理アクションからの配列出力をアクションで使用する場合、入力として配列を受け入れるアクションを使用するか、または出力配列を別の互換性のある形式に変換する必要があります。
HTTP エンドポイントを呼び出し、JSON 応答を受け取る場合は、[JSON の解析] アクションを使用して JSON 応答を処理します。 そうしない場合、[配列のフィルター処理] アクションを使うと、JSON ペイロードの構造ではなく、応答本文のみを読み取ることができます。
コード ビュー エディターを使用する場合は、この記事の例の配列のフィルター処理と変数を初期化するのアクション定義を、独自のロジック アプリの基になるデータ操作コードの例 - 配列のフィルター処理のワークフロー定義にコピーします。
Azure portal または Visual Studio で、ロジック アプリをロジック アプリ デザイナーで開きます。
この例では、Azure portal と、繰り返しトリガーおよび変数を初期化するアクションを含むロジック アプリを使用します。 このアクションは、サンプルの整数を含む配列が初期値である変数を作成するように設定されています。 後でロジック アプリをテストするときは、トリガーの発生を待つことなく、手動でアプリを実行できます。
注意
この例では単純な整数の配列を使用しますが、このアクションはオブジェクトのプロパティと値に基づいてフィルター処理できる JSON オブジェクトの配列の場合に特に便利です。
フィルター処理された配列を作成するロジック アプリでは、次のいずれかの手順に従います。
最後のステップにアクションを追加するには、 [新しいステップ] を選択します。
ステップとステップの間にアクションを追加するには、接続矢印の上にマウスを移動してプラス記号 [+] を表示させます。 プラス記号を選択し、 [アクションの追加] を選択します。
検索ボックスに、フィルターとして「
filter array
」と入力します。 アクションの一覧から、配列のフィルター処理アクションを選択します。[From](ソース) ボックスで、フィルター処理する配列または式を指定します。
この例では、[From](ソース) ボックスの内部をクリックすると、動的コンテンツの一覧が表示されるので、前に作成した変数を選択できます。
条件では、比較する配列項目を指定し、比較演算子を選択し、比較対象値を指定します。
この例では、
item()
関数を使用して配列の各項目にアクセスし、配列のフィルター処理アクションで値が 1 より大きい配列項目を検索します。ロジック アプリを保存します。 デザイナーのツール バーで、 [保存] を選択します。
基になるワークフロー定義でのこのアクションについて詳しくは、「クエリ アクション」をご覧ください。
ロジック アプリをテストする
配列のフィルター処理アクションで意図した結果が作成されるかどうかを確認するには、配列のフィルター処理アクションからの出力を含む通知を自分自身に送信します。
ロジック アプリで、配列のフィルター処理アクションからの結果を送信できるアクションを追加します。
そのアクションでは、結果を表示する任意の場所をクリックします。 動的なコンテンツの一覧が表示されたら、[式] を選択します。 配列のフィルター処理アクションから配列の出力を取得するには、配列のフィルター処理アクションの名前を含む次の式を入力します。
@actionBody('Filter_array')
この例では、Office 365 Outlook のメールの送信アクションを使用し、メールの本文には actionBody('Filter_array') 式の出力が含まれます。
ロジック アプリを手動で実行します。 デザイナーのツール バーで、 [実行] を選択します。
使用したメール コネクタをに基づいて、次のような結果が表示されます。
結合アクション
配列のすべての項目を含み、それらの項目が特定の区切り文字で区切られた文字列を作成するには、結合アクションを使用します。 その後、結合アクションの後に続くアクションで文字列を使用できます。
コード ビュー エディターを使用する場合は、この記事の例の結合と変数を初期化するのアクション定義を、独自のロジック アプリの基になるデータ操作コードの例 - 結合のワークフロー定義にコピーします。
Azure portal または Visual Studio で、ロジック アプリをロジック アプリ デザイナーで開きます。
この例では、Azure portal と、繰り返しトリガーおよび変数を初期化するアクションを含むロジック アプリを使用します。 このアクションは、サンプルの整数を含む配列が初期値である変数を作成するように設定されています。 後でロジック アプリをテストするときは、トリガーの発生を待つことなく、手動でアプリを実行できます。
配列から文字列を作成するロジック アプリでは、次のいずれかの手順に従います。
最後のステップにアクションを追加するには、 [新しいステップ] を選択します。
ステップとステップの間にアクションを追加するには、接続矢印の上にマウスを移動してプラス記号 [+] を表示させます。 プラス記号を選択し、 [アクションの追加] を選択します。
検索ボックスに、フィルターとして「
join
」と入力します。 アクションの一覧から、結合アクションを選択します。[From](ソース) ボックスで、文字列として結合する項目を含む配列を指定します。
この例では、[From](ソース) ボックスの内部をクリックすると、動的コンテンツの一覧が表示されるので、前に作成した変数を選択できます。
[次を使用して結合] ボックスに、各配列項目を区切るための文字を入力します。
この例では、区切り記号としてコロン (:) を使用します。
ロジック アプリを保存します。 デザイナーのツール バーで、 [保存] を選択します。
基になるワークフロー定義でのこのアクションについて詳しくは、「結合アクション」をご覧ください。
ロジック アプリをテストする
結合アクションで意図した結果が作成されるかどうかを確認するには、結合アクションからの出力を含む通知を自分自身に送信します。
ロジック アプリで、結合アクションからの結果を送信できるアクションを追加します。
そのアクションでは、結果を表示する任意の場所をクリックします。 動的コンテンツの一覧が開いたら、結合アクションで [出力] を選択します。
この例では、Office 365 Outlook のメールの送信アクションを使用し、メールの本文に [出力] フィールドが含まれます。
ロジック アプリを手動で実行します。 デザイナーのツール バーで、 [実行] を選択します。
使用したメール コネクタをに基づいて、次のような結果が表示されます。
JSON の解析アクション
JavaScript Object Notation (JSON) のコンテンツのプロパティを参照したりプロパティにアクセスしたりするには、JSON の解析アクションを使用して、プロパティのわかりやすいフィールドまたはトークンを作成できます。 これにより、ロジック アプリの入力を指定するときに、動的コンテンツの一覧からそのプロパティを選択できます。 このアクションでは、JSON スキーマを指定するか、サンプルの JSON コンテンツまたはペイロードから JSON スキーマを生成することができます。
コード ビュー エディターを使用する場合は、この記事の例の JSON の解析と変数を初期化するのアクション定義を、独自のロジック アプリの基になるデータ操作コードの例 - JSON の解析のワークフロー定義にコピーします。
Azure portal または Visual Studio で、ロジック アプリをロジック アプリ デザイナーで開きます。
この例では、Azure portal と、繰り返しトリガーおよび変数を初期化するアクションを含むロジック アプリを使用します。 このアクションは、プロパティと値を含む JSON オブジェクトが初期値である変数を作成するように設定されています。 後でロジック アプリをテストするときは、トリガーの発生を待つことなく、手動でアプリを実行できます。
JSON コンテンツを解析するロジック アプリでは、次のいずれかの手順に従います。
最後のステップにアクションを追加するには、 [新しいステップ] を選択します。
ステップとステップの間にアクションを追加するには、接続矢印の上にマウスを移動してプラス記号 [+] を表示させます。 プラス記号を選択し、 [アクションの追加] を選択します。
検索ボックスに、フィルターとして「
parse json
」と入力します。 アクションの一覧から、JSON の解析アクションを選択します。[内容] ボックスで、解析する JSON コンテンツを指定します。
この例では、[内容] ボックスの内部をクリックすると、動的コンテンツの一覧が表示されるので、前に作成した変数を選択できます。
解析している JSON コンテンツを記述する JSON スキーマを入力します。
この例では、次のような JSON スキーマです。
スキーマがない場合は、解析している JSON コンテンツつまり "ペイロード" からスキーマを生成できます。
[JSON の解析] アクションで、 [サンプルのペイロードを使用してスキーマを生成する] を選択します。
[サンプルの JSON ペイロードを入力するか、貼り付けます] で JSON コンテンツを指定し、[完了] を選択します。
ロジック アプリを保存します。 デザイナーのツール バーで、 [保存] を選択します。
基になるワークフロー定義でのこのアクションについて詳しくは、「JSON の解析アクション」をご覧ください。
ロジック アプリをテストする
JSON の解析アクションで意図した結果が作成されるかどうかを確認するには、JSON の解析アクションからの出力を含む通知を自分自身に送信します。
ロジック アプリで、JSON の解析アクションからの結果を送信できるアクションを追加します。
そのアクションでは、結果を表示する任意の場所をクリックします。 動的コンテンツの一覧が開くと、[JSON の解析] アクションで、解析された JSON コンテンツからプロパティを選択できます。
この例では、Office 365 Outlook のメールの送信アクションを使用し、メールの本文に FirstName、LastName、Email フィールドが含まれます。
完成したメール アクションを次に示します。
ロジック アプリを手動で実行します。 デザイナーのツール バーで、 [実行] を選択します。
使用したメール コネクタをに基づいて、次のような結果が表示されます。
選択アクション
既存の配列内の値から構築された JSON オブジェクトを含む配列を作成するには、選択アクションを使用します。 たとえば、整数配列の値ごとに JSON オブジェクトを作成するには、各 JSON オブジェクトに必要なプロパティと、ソース配列の値をそれらのプロパティにマップする方法を指定します。 また、これらの JSON オブジェクトのコンポーネントを変更することはできますが、出力配列の項目の数は常にソース配列と同じです。
注意
選択アクションからの配列出力をアクションで使用する場合、入力として配列を受け入れるアクションを使用するか、または出力配列を別の互換性のある形式に変換する必要があります。
コード ビュー エディターを使用する場合は、この記事の例の選択と変数を初期化するのアクション定義を、独自のロジック アプリの基になるデータ操作コードの例 - 選択のワークフロー定義にコピーします。
Azure portal または Visual Studio で、ロジック アプリをロジック アプリ デザイナーで開きます。
この例では、Azure portal と、繰り返しトリガーおよび変数を初期化するアクションを含むロジック アプリを使用します。 このアクションは、サンプルの整数を含む配列が初期値である変数を作成するように設定されています。 後でロジック アプリをテストするときは、トリガーの発生を待つことなく、手動でアプリを実行できます。
配列を作成するロジック アプリでは、次のいずれかの手順に従います。
最後のステップにアクションを追加するには、 [新しいステップ] を選択します。
ステップとステップの間にアクションを追加するには、接続矢印の上にマウスを移動してプラス記号 [+] を表示させます。 プラス記号を選択し、 [アクションの追加] を選択します。
[アクションを選択してください] で [Built-in](組み込み) を選択します。 検索ボックスに、フィルターとして「
select
」と入力します。 アクションの一覧で、[選択] アクションを選択します。[From](ソース) ボックスで、ソース配列を指定します。
この例では、[From](ソース) ボックスの内部をクリックすると、動的コンテンツの一覧が表示されるので、前に作成した変数を選択できます。
[マップ] ボックスの左側の列では、ソース配列の各値を割り当てるプロパティの名前を指定します。 右側の列では、プロパティを割り当てる値を表す式を指定します。
この例では、各配列項目にアクセスする式で
item()
関数を使用することにより、整数配列内の各値を割り当てるプロパティ名として "Product_ID" を指定します。完成したアクションを次に示します。
ロジック アプリを保存します。 デザイナーのツール バーで、 [保存] を選択します。
基になるワークフロー定義でのこのアクションについて詳しくは、「選択アクション」をご覧ください。
ロジック アプリをテストする
選択アクションで意図した結果が作成されるかどうかを確認するには、選択アクションからの出力を含む通知を自分自身に送信します。
ロジック アプリで、選択アクションからの結果を送信できるアクションを追加します。
そのアクションでは、結果を表示する任意の場所をクリックします。 動的なコンテンツの一覧が表示されたら、[式] を選択します。 選択アクションから配列の出力を取得するには、選択アクションの名前を含む次の式を入力します。
@actionBody('Select')
この例では、Office 365 Outlook のメールの送信アクションを使用し、メールの本文には
@actionBody('Select')
式の出力が含まれます。•
ロジック アプリを手動で実行します。 デザイナーのツール バーで、 [実行] を選択します。
使用したメール コネクタをに基づいて、次のような結果が表示されます。
トラブルシューティング
テーブル データの形式の設定
CSV テーブルや HTML テーブルが正しくない形式で返される場合は、入力データの行間に改行があることを確認してください。
正しくない形式:
Fruit,Number Apples,1 Oranges,2
正しい形式:
Fruit,Number
Apples,1
Oranges,2
行間に改行を追加するには、次のいずれかの式をテーブルに追加します。
replace(body('Create_CSV_table'),'','<br/>')
replace(body('Create_HTML_table'),'','<br/>')
次に例を示します。
{
"Send_an_email_": {
"inputs": {
"body": {
"Body": "<p>Results from Create CSV table action:<br/>\n<br/>\n<br/>\n@{replace(body('Create_CSV_table'),'\r\n','<br/>')}</p>",
"Subject": "Create CSV table results",
"To": "sophia.owen@fabrikam.com"
}
}
}
}
次のステップ
- Logic Apps のコネクタについて確認します。