1
3

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 3 years have passed since last update.

あらゆるREST APIのダイレクトクエリをPower BI Serviceからオンプレミスで実行する

Last updated at Posted at 2020-06-26

はじめに

最近ではエンタープライズ環境においてREST APIはデータの公開や受信に非常によく使われています。REST APIはデータアクセスやアクセス制御、プラットフォームの依存関係を簡素化しますが、Power BI経由でこれらのAPIからデータ接続をする場合には注意が必要です。認証、ページネーション、正規化を取り扱うためには、REST APIが変わるたびに最新の状態を保つことはもちろん、カスタムコードを記述しなければいけません。

Progress Data Direct Autonomous REST Connectorならば、コードを記述することなく、Power BIからどのようなエンタープライズREST APIにも簡単に接続できます。この記事では

  • Power BIからあらゆるRESTサービスへの接続方法
  • ダイレクトクエリを使ったPower BIへのデータ取得方法
  • データセットを更新できるPower BI Serviceにダイレクトクエリを使ってレポートを公開する方法
    について、一つずつ順を追って説明します。

Power BI Connector をダウンロードする

1.Autonomous REST Connector for ODBCを直接Power BIに使用することはできますが、REST APIでダイレクトクエリが必要な場合には、Progress社のPower BI Connectorをダウンロードしインストールしなければいけません。
注意:ベータ版です。正式なコネクターは近日Progress社からリリースされる予定です
2.パスにDataDirect.Autonomous.REST.Connector.mez コネクターを追加します。

C:\Users\{user}\Documents\Power BI Desktop\Custom Connectors

3.コネクターを使うためPower BIを再起動します。

Autonomous REST Connector for ODBCを設定する

  1. 今回は、AlphaVantageと呼ばれる、リアルタイムに株式データを提供するAPIに接続します。資料はこちらから確認できます。
  2. 情報登録を済ませてAlphaVantageのAPIキーを入手します。
  3. 新しいファイルを開き、以下のように接続したいすべてのエンドポイントを追加します。

{
"StockIntraday":"https://www.alphavantage.co/query?function=TIME_SERIES_INTRADAY&symbol=MSFT&interval=5min&outputsize=full",
"StockDaily":"https://www.alphavantage.co/query?function=TIME_SERIES_DAILY&symbol=MSFT&outputsize=full"
}

4.上記ファイルをalphavantage.restファイルとして保存します。

5.ODBCデータソースアドミニストレーターを起動してSystem DSNタブに移動します。Addをクリックし新しいデータソースを作成します。DataDirect 8.0 Autonomous REST Connectorを選択してください。

1.png

6.設定画面上で下記詳細をGeneralタブ内に入力します。
1. Data Source Name: {好きな名前}
注意:この名前は後で使いますので忘れないようにしてください。
2. REST Config File: 先ほど作成した.restファイルへのパス

2.png

7.Authenticationタブに移動し、下記のようにAlphaVantage APIの認証を設定します。
AlphaVantage APIは認証用にAPIキーを使いますが、これはリクエストごとにクエリパラメーターとして送る必要があります。
1.Authentication Method: UrlParameter
2.Auth Param: apikey
3.SecurityToken: Your AlphaVantage API Key
3.png

8.Test Connectをクリックします。Autonomous REST Connectorが設定した.rest設定内のすべてのエンドポイントに接続しようとします。すべてが正しく設定されれば成功した旨のメッセージが表示されるはずです。

Progress DataDirect Autonomous REST Connectorをインストールする

  1. Progressのwebsiteから Autonomous REST ODBC connector をダウンロードしインストールします。
  2. PCにあるセットアップファイルを実行しコネクターをインストールします。

Power BIからREST APIのダイレクトクエリを実行する

  1. Power BIを起動し、Get Data -> Otherと進み、Progress DataDirect Autonomous REST Connectorを選択します。
    4.png

    注意:コネクターが見つからない場合にはFile -> Optionsと進み下記のように進めてください。
    Settings -> Security -> Data Extensions -> Allow any extension to load without validation or warningを選択
    その後、Power BIを再起動します。

  2. 次の画面で、前のセクションで作成したODBCデータソースアドミニストレーターのDSN nameを入力しDirectQueryを選択します。
    5.png

  3. OKをクリックします。すでにODBCデータソースアドミニストレーターで認証の設定は完了しているので、次の画面ではAnonymousを選択します。

  4. Navigator上にREST APIのテーブルが表示されるはずです。株式データを見るには、TimeSeries5MINまたはTIMESERIESDAILYテーブルをクリックします。
    6.png

  5. Loadをクリックします。REST APIに接続したダイレクトクエリを使ってレポートを作成してください。
    7.png

  6. 作成したレポートを保存しPower BI Serviceにパブリッシュすれば他の人もレポートにアクセスできるようになります。ツールバーにあるPublishをクリックして実行してみてください。

  7. 公開先を選択します。今回の例ではMy workspaceを選びましょう。
    8.png

レポートがオンライン上に公開されるはずです。

ダイレクトクエリを使ってゲートウェイ経由でオンラインレポートを更新する

1.一度共有用のオンラインレポートを公開したら、最新情報を保つために直近のデータセットにレポートを更新したくもなるでしょう。しかしデータソース(REST API)にはオンプレミス環境からしかアクセスできません。オンプレミスのデータベースとREST APIを更新するには、ODBCコネクターを設定したPCにMicrosoftからオンプレミスデータゲートウェイをインストールする必要があります。

2.Power BI Serviceからデータゲートウェイをダウンロードします。下記のようなダウンロードオプションがあるはずです。
10.png

3.データゲートウェイをインストールしたら、セットアップ中はMicrosoftアカウントにログインします。Power BI Desktopからレポートを公開したときと同じアカウントであることを確認してください。

4.前のセクションでコネクターをコピーしたC:\Users{username}\Documents\Power BI Desktop\Custom Connectorsにアクセスし、カスタムコネクターのプロパティを開きます。

5.Security Tab -> Advanced-> Add の順に進みます。カスタムコネクターフォルダにアクセスするために、New Principalを選択しサービスアカウントのNT SERVICE\PBIEgwServiceを追加します。
データゲートウェイはこのサービスアカウントを使ってサービスを実行するため、サービスアカウントがカスタムコネクターフォルダにアクセスできることを確認する必要があります。

6.LocationをPC名に変更しNT SERVICE\PBIEgwServiceを追加します。サービスアカウントを有効にするためCheck Name、OKの順にクリックします。
11.png

7.Security Permissionを保存し、画面を閉じる前にNT SERVICE\PBIEgwServiceがカスタムコネクターフォルダにアクセスできることを確認します。
12.png

8.これでオンプレミスゲートウェイが使えます。コネクタータブを開きパスを以下に変更します。

C:\Users\{username}\Documents\Power BI Desktop\Custom Connectors

これは以前コネクターに追加し、NT SERVICE\PBIEgwServiceへアクセスできることを確認したカスタムコネクターフォルダと同じものです。
13.png

9.Applyをクリックすれば、データゲートウェイに表示されるフォルダのすべてのコネクターが表示されているはずです。
14.png

10.Power BI ServiceのSettings -> Manage Gatewaysを開くと、先ほどインストールしたゲートウェイが表示されているはずです。下記のようにGateway settingsタブのAllow User’s custom data connectors to refresh through this gateway clusterにチェックしてください。Applyをクリックし設定を保存します。
15.png

11.Settings -> Data Sets tabに移動すると前のセッションでPower BI Serviceに公開したデータセットが表示されているはずです。またGateway connectionに“Not configured Properly”エラーが表示されているはずなので、Actionsをクリックして表示される“Manually add to gateway”をクリックします。
16.png

12.これでゲートウェイに新しいデータソースを追加するゲートウェイ設定に移動できるはずです。DSN Nameに、PCに作成したODBC DSN名を入力しAddをクリックします。これで接続が有効になり、接続に成功すればデータソースが作成されます。
17.png

13.それではSettings -> Data Sets -> Your Data Set -> Gateway Connectionに移動しましょう。ステータスはrunningが表示され、先ほど上記で作成したデータソースを選択できるMaps toという新しいドロップダウンメニューが見えるはずです。Applyをクリックします。
18.png

14.下記のようにScheduled Cache Refreshでデータセットのスケジュール更新ができます。
19.png

15.またはレポート設定から都度レポートを更新することもできます。Progress DataDirect Autonomous REST Connectorを利用して、REST API宛にリアルタイムにクエリを送ることで、データセットが更新されます。
20.png

Power BI ServiceがProgress DataDirect Autonomous REST Connectorを使うように、この記事がPower BI DesktopからREST APIにダイレクトクエリを実行する際の参考になれば幸いです。

参照元:
https://www.progress.com/tutorials/odbc/directquery-any-on-premises-rest-api-from-power-bi-service

1
3
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
1
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?