Edited at

Power BI REST API を使ってデータフローの更新を仕掛ける

ついでに アプリのワークスペースに配置された データフロー についても更新を試みる。ただし、Power BI データフロー は 現在パブリックプレビューの段階だし、サポートする API も当然プレビュー。普段使いまでには至らないけどちょっとした小道具っぽく使えてよいかなと。

以前のポストでアプリのワークスペースに配置されたデータセットの更新を仕掛けてみた。

Power BI REST API を使ってデータセットの更新を仕掛ける - Qiita


情報

Power BI データフロー用の開発者向けリソース (プレビュー) - Power BI | Microsoft Docs

ここに Power BI データフロー REST API のリファレンスがあるのでよく読むなど。

今回利用するのは、


  • Get All Dataflows (Preview)

  • Refresh Dataflow (Preview)

の 2つだけど、Create Dataflow Reference to external storage (Preview) というのがあって面白そうです。API だけで操作するということでないはずだが、


The Create Dataflow Reference operation creates a new dataflow artifact in the Power BI service that is referencing a dataflow hosted in an external storage. The external storage includes both the dataflow definition file and the dataflow data.


Azure 統合 - Release Notes | Microsoft Docs

Power BI データフロー で利用されるストレージは 用意されたAzure Data Lake Storage Gen2 なのだけど、これを持ち込みの Azure リソースを参照先とすることができるようになるっていうお話。


Action


Group

Groups - Get Groups をそのまま使う


Dataflows


Get All Dataflows (Preview)

ワークスペースに配置された データフローの情報をGET


HTTP

GET https://api.powerbi.com/v1.0/myorg/groups/{groupId}/dataflows


アプリのワークスペースを特定できる groupId が必須。

必要なAPIのアクセス許可 : Dataflow.Read.All


Refresh Dataflow (Preview)


HTTP

POST https://api.powerbi.com/v1.0/myorg/groups/{groupId}/dataflows/{dataflowId}/refreshes


必要なAPIのアクセス許可 : Dataflow.ReadWrite.All

リファレンスには Request Body の記述がなかったので、データセットと同じ Notify Option をPOSTしてみた。


ひと通り動作まで


登録したアプリの更新

データセットの更新をサポートするカスタムコネクタがすでにあるので、API のアクセス許可(Dataflow.ReadWrite.All) のみ追加


Get All Dataflows (Preview)


3.定義 - GetAllDataflows


全般



表示 : internal


要求



[サンプルからインポート]押下



動詞 : GET

URL : https://api.powerbi.com/v1.0/myorg/groups/{groupId}/dataflows


要求 - パス - groupId


4.テスト - GetAllDataflows


操作



[テスト操作]押下


応答



応答 - ボディをコピー


3.定義 - GetAllDataflows


応答





[サンプルからインポート]押下



テストでコピーした応答 - ボディをペースト [インポート]押下


Refresh Dataflow (Preview)


3.定義 - RefreshDataflow


全般


要求




要求 - パス - groupId - パラメーター


要求 - パス - dataflowId - パラメーター


要求 - 本文 - body - スキーマのプロパティ


試す


その他