2017-01-11 11 views
2

Logic Appでは、配列Bのエンティティが存在しない配列Aにオブジェクトを配置したいと考えています。配列は以下の構造を有する:ID以外にも別の配列に基づいてLogicアプリケーションで配列をフィルタリングすることはできますか?

アレイ

[{"ExternalId": 1}, {"ExternalId": 2}] 

アレイB

[{"Id": 2}] 

は、これらのアレイは、私は簡単にするために離れ去るより多くのプロパティが含まれています。

私が望む結果が配列に、これは、次のフィルタ配列を生じるはずであるように、アレイBには利用できない外部IDの基づいてfilterdを持つことです。

[{"ExternalId": 1}] 

私はFilterArrayアクションを使用してみましたこれをモデル化する方法はわかりません。 Workflow Definition Languageには@contains関数がありますが、正しい方法でそれを構築することはできません。

このようにすることは可能ですか? Azure Logic Appsでこの結果を達成する別の方法はありますか?

答えて

3

ええ、私はこれがまだ可能ではないと思います。それを得るには唯一の方法がありますが、今のところAzure関数の中で実行するほうが簡単かもしれません。

    1. はアレイB内の各項目にforeachループを作成し(これはあなたがフィルタ内部@contains()でそれを使用できるようになる)だけ「外部ID」の値の新しい配列を構図
    2. foreachループの中にあなたが今(「作曲」)@bodyを行うことができ、あなたがExternalIの配列を持っていると思いますforeachループの外{ "body": "@item()['ExternalId']" }

でコンを追加d値(この場合は[ 1 ])。

今アレイA上のフィルタアレイを作成し、フィルタ条件がある場合@contains(本体(「作曲」)、アイテム())、我々は@Selectをサポートする予定の将来

()@Whereこれをより簡単にする@orderby()型の構造体と、マップ配列の動作 - しかし、まだ設計中です。今のところ、上記の方法を選択するか、javascript/Cで行うAzure関数を呼び出すことができます。

+0

私はすでにこの答えを期待していましたが、既にfilterArray経由で可能だったかどうかは完全には分かりませんでした。この場合、@select()メソッドは非常に時間を節約するはずです。 –

関連する問題