9
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Power Apps から Power Automate を介して Dataverse のファイル列に保存をする

Last updated at Posted at 2024-03-03

はじめに

Microsoft Dataverse では、以下のようにテーブルにファイルや画像を保存する用の列を追加することが出来ます。

image.png

利用ケースは沢山あると思いますが、例えば、私の場合、以下のような感じで、Power Apps で領収書を読み取り、読み取ったデータを保存すると共に、ファイル自体も保存したいというケースで、このファイルや画像の列を利用しています。

image.png

image.png

image.png

このように、Power Apps で画像を取り、Power Automate を介して Dataverse にファイルを保存する方法について、あまり情報がなく、ちょっと時間を要してしまったので、備忘も兼ねて記事を書きました。

アプローチ

Power Apps

Power Apps では、以下などと同じように、AI Builder の OCR とカスタムプロンプトで読み取った情報を JSON 形式にします。Power Apps 側はここがポイントになります。

image.png

そして、以下のようにして、Power Automate に情報を渡します。

image.png

領収書保存フロー.Run(
    TextInputCanvas1_1.Value,
    JSON(
        TextRecognizer1.OriginalImage,
        JSONFormat.IncludeBinaryData
    ),
    Concatenate(
        "recipt_",
        Text(
            Now(),
            "yyy/mm/dd hh:mm:ss"
        )
    )
);
Notify(
    "領収書情報を保存しました",
    NotificationType.Success
);

Navigate(Screen1)

なお、AI プロンプトは以下のような感じで作っています。

image.png

Power Automate

Power Automate 側は以下のような感じです。

image.png

JSON データは、Power Apps に表示されているものをサンプルとして解析する感じです。

作成アクションは以下のような感じです。この辺がちょっと難しい、また、情報をすぐに見つけられなかったところです。

image.png

replace(split(triggerBody()['text_1'],',')[1],'"','')

あとは、画像の場合は、レコード作成と一緒に保存し、ファイルの場合は、レコード作成後に追加します。

image.png

image.png

結果

アプリを実行してみます。無事にフローが成功し、ファイルも保存されました。

image.png

image.png

※今回は、あえて画像とファイルを両方保存しましたが、最終的にはどちらか片方のみ残します

まとめ

今回は、Power Apps から Power Automate を介して Dataverse のファイル列に保存をする方法を紹介しました。紹介したように、データと合わせてファイル自体を保存するようなケース多いと思いますし、ファイルの保存で詰まってしまうのはもったいないので、今後同じようなことをしようとする方の参考になれば幸いです

9
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?