0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Dataverse のデータを Power Automate で Azure Storage へ出力する

Last updated at Posted at 2025-06-03

はじめに

Dataverse のテーブルにレコードが追加された際に、Power Automate を使用して追加データを Azure Blob Storage へ CSV で出力する方法を検証しました。

フロー

  1. トリガー:行が追加、変更、または削除された場合
  2. 変数を初期化する
  3. 配列変数に追加
  4. JSON の解析
  5. CSV テーブルの作成
  6. BLOB を作成する (V2)

準備:Dataverse にテーブル作成

Power Apps で Copilot を使用して適当にテーブルを作成

image.png

1. トリガー:行が追加、変更、または削除された場合

行が作成(追加)されたときにトリガーされるように設定

image.png

2. 変数を初期化する

追加された行のデータ(オブジェクト)を格納するための配列変数を定義

image.png

3. 配列変数に追加

トリガーから渡された追加された行のデータ(オブジェクト)を配列変数に追加

image.png

4. JSON の解析

配列となった追加データに対して JSON の解析を実行
スキーマは自動作成されたフィールドも含めてすべて定義(抜粋することも可)

image.png

5. CSV テーブルの作成

読み取ったフィールドから CSV テーブルを作成
このとき必要なフィールドに対して列名を定義

image.png

6. BLOB を作成する (V2)

事前に Azure Blob Storage の接続を作成
今回はアクセスキーを使用

image.png

出力先とファイル名を設定
Blob content には以下の関数を設定(CSV データの先頭に UTF-8 の BOM を付けて、文字化けしないようにしている)

concat(decodeUriComponent('%EF%BB%BF'),body('CSV_テーブルの作成'))

image.png

テスト

Dataverse にデータを追加して挙動を確認

image.png

image.png

image.png

追加されたデータのうち CSV テーブルで定義した列のみが出力されていることを確認

image.png

注意点

  • 1行だけ追加した場合、トリガーの出力がオブジェクトとなるため配列に変換している
    → 複数行を追加した場合は出力が配列になる可能性あり(未検証)
  • Azure Blob コネクタでアクセスキー接続する際は完全なエンドポイントを指定する必要あり(ストレージアカウント名だけではNG)

image.png

  • Power Automate で Azure Blob コネクタを使用する場合、ファイアウォール背後にあるストレージアカウントへの接続は不可

image.png

0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?