Slide 1

Slide 1 text

Power Automate の 子フローについて 気ままに勉強会 #48

Slide 2

Slide 2 text

Miyake Mito @MiTo60448639 https://qiita.com/MiyakeMito 株式会社アイシーソフト Technical Manager www.icsoft.jp https://speakerdeck.com/miya kemito 2

Slide 3

Slide 3 text

免責事項 当スライドは、 2023年3月現在のバージョンでの情報です 今後のアップデート等により、 仕様変更する可能性があります。 また、私の見解による内容が含まれます 間違いなどありましたらご指摘ください。 3

Slide 4

Slide 4 text

本日の参考サイト 4 ◼ 子フローの作成(Microsoft Learn) https://learn.microsoft.com/ja-jp/power-automate/create-child- flows ◼ Power Automate「ソリューション対応 フロー」を賢く使えばもっと便 利になる!(りなたむ さん) https://www.youtube.com/watch?v=M9RrdTU5wIU ◼ Power Automate って何か説明できますか?(清水 優吾 さん) https://www.docswell.com/s/yugoes1021/K24LQ9-2023-02-18- PowerAutomate

Slide 5

Slide 5 text

Power Automate の 子フローについて

Slide 6

Slide 6 text

子フロー 6 親フロー Trigger Action Action Action 入力パラメータを定義 戻り値を定義し値を代入 子フローへ渡す 入力パラメータを設定 動的な値で 取得可能 応答アクションは必須

Slide 7

Slide 7 text

メリット ① ◼ 保守性の向上(メンテナビリティ) ➢ 一つのフローを大量ステップで構築することを回避 (パフォーマンス低下対策にも) ➢ 可読性の向上、問題の特定が容易となる ◼ 再利用 ➢ フロー内の複数個所で ➢ 複数のフロー間で 7

Slide 8

Slide 8 text

メリット ② 8 ◼ オーケストレーション ➢ 仕様変更に柔軟に対応 ➢ DevOps ➢ アジャイル ◼ 制限対策 ➢ 以下の制限に対し有効 ✓ 一つのフローのアクション数上限:500 ✓ 許可されるアクションのネストの深さ:8

Slide 9

Slide 9 text

制限 ◼ ソリューション内でのみ作成可能 ➢ 親と子がソリューションに存在する必要がある ➢ が、親と子が別のソリューションに存在してもいい ◼ 親フローから子フローに接続を渡せない (Dataverseへの接続は除く) ➢ 次ページ参照 ◼ 子フローはソリューションにインポート不可 ➢ 予期しない結果が発生する 9

Slide 10

Slide 10 text

子フローの使用する接続を変更 10 実行のみのユーザー で編集を選択 フローで使用される接続ごとに、 「実行専用のユーザーによって提供されました」を 「この接続 (<接続名>) を使用する」に変更する

Slide 11

Slide 11 text

ソリューションのメリット ◼ バージョン管理 ◼ マネージド/アンマネージド環境 ◼ 環境変数/接続情報 ◼ ソリューションのコピー ◼ 子フロー ◼ 業務アプリを開発する際の導入は必須に近い ◼ Microsoft APPSource への登録時に利用 11

Slide 12

Slide 12 text

子フローのトリガー ■ 以下の3つがトリガーとして利用可能 12 トリガー 特徴 オススメ (私見) モバイルのフローボタン • 子フロー単体でテストがしやすい (入力パラメータの設定が容易) ◎ PowerApps • Power Appsと共有可能 ○ 要求 • プレミアムコネクタ • 入力パラメータの定義はJSONで行う △

Slide 13

Slide 13 text

アクション 特徴 オススメ (私見) PowerApps • 戻り値は、項目:値 で定義する ◎ 要求 • プレミアムコネクタ • 戻り値はJSONで定義する △ 応答アクション ■ 親フローへの応答は2アクションで可能 13

Slide 14

Slide 14 text

パラメータ 説明 例 テキスト • 文字列 'Panda Love' はい/いいえ • Boolean型 はい/いいえ(ドドロップダウン) ファイル • 親から受け渡す際は、 name と contentBytes で指定する • 受取った値はそのままファイルコンテンツ として利用可能 name:ファイル名(テキスト) contentBytes: body(ファイルメタデータ取得アクショ ン)?['$content'] など 電子メール • メールアドレスの形式 miyake@aaa.com など 数 • Float型(整数型含む) -1.7976931348623158e+308 ~ 1.7976931348623158e+308 5963.01 日付 • 日付のフォーマット ISO 8601準拠フォーマットではない 時刻は受け渡せない '2023-03-11'(テキスト) パラメータ 14

Slide 15

Slide 15 text

その他 ◼ 子フローは「ON」しよう ➢ 親フローでリストに表示されない ◼ 子フローのネスト(階層化) ➢ 10階層までは動作確認済み 15

Slide 16

Slide 16 text

ありがとうございました