#MicrosoftFlow で CommonDataService の 特定レコードを操作する方法


はじめに

本内容は、昨日(2019/08/31)に開催されました
こちらのイベント
Power Platform Day Summer '19 ~ 連携祭り!
にてお話した内容となっております。

登壇資料はこちらをご確認ください。
https://speakerdeck.com/rnakamuramartiny/terewakuye-wu-niokeruhuan-jing-gou-zhu-toqin-dai-guan-li-nipower-platformwohuo-yong-sitemita

CDSのエンティティ

とりあえずこんな感じにしてみました。

データ

お題

この赤枠で示したデータ(text1が「ありがたい」となっているレコード)を消すFlowを作ってみます。

とりあえず作ってみたが・・・

項目識別子、何を指定したらええねん!?
レコードを特定できるデータ指定できないじゃん!

とりあえず、一覧表示で指定したフィルタークエリを入れてみる。

 ↓

ですよねー

項目(レコード)を識別するIDは・・・

一覧表示の出力のJSONを見てみると・・・・

どうもこの赤枠で指定した、ItemInternalIdというのがそれっぽい。

が・・・動的コンテンツにそれっぽい項目がない。

出力をそのまま使うには・・・

jsonの解析を使い、コンテンツにbody関数を使えば行けそう!

コンテンツ
body(<アクション名>)

削除アクションの項目識別子は・・・

InternalIdが指定できるようになっているので、これを指定する。

複数のデータが入る想定のアクションから呼び出しているので
こんな風に Apply to Each が挿入される。

結果・・・

成功した!!

まとめ

動的アクションに欲しい情報がないけど
出力データに使えそうなデータがあるときは
body関数とJSONの解析をうまく活用しよう!

その後・・・

ちょっとやってみた

結果

うわ!できるやん!!
というわけで、JSON解析必要ないみたいです・・・( ノД`)