yamaxzira
@yamaxzira

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

PowerAppsから処理時間のかかるPowerAutomateの呼び出し

PowerAppsからPowerAutomateを呼び出す処理があるのですが、
PowerAutomateの処理時間がかかってしまっています。
そもそも件数が多いのと処理が重いのでチューニングには限界があり、
PowerAppsからバッチ処理を呼ぶようにPowerAutomateのコールだけして
バックグラウンドでPowerAutomateを動かして結果だけTeamsで知らせるというような仕組みを作ろうとしています。

上記のような仕組みを作成した経験のある方、こういう案があるという方がいらっしゃいましたら
ご教授いただけないでしょうか。

今、考えているのは、
PowerAppsからPowerAutomate起動用のテキストファイルをSharePointのディレクトに作成し、
それをトリガーにPowerAutomateを起動させたらどうかと考えています。

0

3Answer

PowerAppsからPowerAutomateを呼び出す処理があるのですが、

「PowerApps」はDesktopアプリで、「PowerAutomate」はクラウドアプリの意味でしょうか?

PowerAppsからバッチ処理を呼ぶようにPowerAutomateのコールだけして
バックグラウンドでPowerAutomateを動かして結果だけTeamsで知らせるというような仕組みを作ろうとしています。

DesktopアプリからクラウドのPowerAutomateを非同期にコールしたいということでしょうかね?

PowerAutomateのフローでTeamsに連携もできると思いますが、全体として何がしたいのかが分かりません。

すべてPowerAppsで処理する、すべてPowerAutomateで処理する、ようにすればよいと思いますが、そうできないのでしょうか?

0Like

Comments

  1. @yamaxzira

    Questioner

    コメントありがとうございます。
    PowerAppsから処理時間の長いPowerAutomateをコールすると、
    ずっと処理中になってPowerAppsがいじれなくなってしまうので、それを回避したいなと思っています。

    >すべてPowerAppsで処理する、すべてPowerAutomateで処理する、ようにすればよいと>思いますが、そうできないのでしょうか?
    オンラインバッチになるので、PowerAppsは必要で、セキュリティの関係上PowerAutomateを間にかます必要があるんですよね。

  2. ↓これが近いように思います。

  3. @yamaxzira

    Questioner

    多分こちら、PowerAppsからPowerAutomateを実行したときの戻り値の話をしていると思うのですが、私がやろうとしているのは
    ・ユーザーがPowerAppsから処理時間の長いPowerAutomateを呼び出す。
    ・呼び出したPowerAutomateはバックグラウンドで動き続けPowerAppsでは別の処理を操作可能にしてあげたい。
    ということなので違うかなと。
    やりたいのはアプリからオンラインバッチを呼び出してあげたいというイメージです。

  4. @yamaxzira

    Questioner

    そうなんですよね。。。
    ・オンラインバッチのようにPowerAutomateの起動だけして放っておける。
    ・PowerAutomateの処理は順番に実行したい。
    の2つの要件があるんですよね。
    思いつく仕組みはあるのですが、一般的にはこういうときどうするのかなと。そもそも珍しい要件なのでしょうか。
    コメントありがとうございます。
    もしなにか良い案がありましたらご教授お願いします。

作成したフロー側でPowerAppsへの応答アクションを使用しなければ、PowerAppsはフローの呼び出しのみで実行結果の待機はしなかった記憶ですが作成されたフローには応答アクションは使用されていませんでしょうか?

0Like

Comments

  1. @yamaxzira

    Questioner

    ボタンをクリックしてフローを実行すると、そのフローが終わるまでボタンが非活性になりませんでしたっけ?応答のアクションがあったかは確認してみます。ありがとうございます。

  2. 確か応答アクションがなければ、コントロールがApps側に戻ってきた記憶です。
    (現在検証できる状況になく、記憶で話してしまい申し訳ございません。)

    ただ別で投稿されている質問の順次処理も合わせたいのであれば、応答を使用して戻り値をもって処理完了を検知するのが一番手っ取り早いでしょうから、この二つの要件を両立するのは確かに工夫の必要がありそうですね。

    すいません、パッとは浮かびませんが、何かスマートな方法が浮かびましたら共有させていただきます。

PowerAppsから、処理実行開始をSharePointリストへの行の追加という形でおこなってはどうでしょうか?行追加するだけなので、処理待ちをPowerAppsで行う必要はなくなります。処理の途中経過はリストのステータス列で表すなどすると、PowerAppsからはリストの値を表示させることでユーザーに知らせることができます。

こちらにSharePointリストの更新をトリガーとしたフローの実行の例を書いてみました。

ちなみに、SharePointリストは、特定の行だけを特定のユーザーに対して閲覧させることもできます。

この方法を使って、行追加と同時に行に対する閲覧権をAppsを操作しているユーザーに与えれば、SharePointリストのURLを開いて自分の実行した処理がいまどのステータスまで進んでいるかを自分で確認してもらうこともできそうです。

0Like

Comments

  1. @yamaxzira

    Questioner

    回答ありがとうございます。
    なるほど。バッチの進捗状況もユーザーに知らせられないかなぁとは思っていたのですが、応用できそうですね。
    こちらもうかがった方法で実装できるか試してみます。

  2. @yamaxzira

    Questioner

    遅くなりましたが。上記仕組みで実装してみました。
    バッチの処理時間等の付加情報を入れたところ、フローが2回起動してしまいましたが
    トリガーの起動条件を追加することで回避できました。

    それ以外はうまく動いています。
    厳密なテストはこれからですがご報告まで。

Your answer might help someone💌