5
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?

More than 5 years have passed since last update.

Microsoft Power BIAdvent Calendar 2018

Day 6

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

Last updated at Posted at 2018-12-05

ついでに アプリのワークスペースに配置された データフロー についても更新を試みる。ただし、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) のみ追加
image.png

Get All Dataflows (Preview)

3.定義 - GetAllDataflows

全般

image.png
表示 : internal

要求

image.png
[サンプルからインポート]押下
image.png
動詞 : GET
URL : https://api.powerbi.com/v1.0/myorg/groups/{groupId}/dataflows

image.png

要求 - パス - groupId

image.png

4.テスト - GetAllDataflows

操作

image.png
[テスト操作]押下

応答

image.png
応答 - ボディをコピー

3.定義 - GetAllDataflows

応答

image.png
image.png
[サンプルからインポート]押下
image.png
テストでコピーした応答 - ボディをペースト [インポート]押下
image.png

Refresh Dataflow (Preview)

3.定義 - RefreshDataflow

全般

image.png

要求

image.png
image.png

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

image.png

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

image.png

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

image.png

試す

image.png

image.png

image.png

image.png

その他

5
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
5
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?