テクテク日記

テクテク=テクノロジー&一歩ずつ(テクテク)

PowerBIRESTAPIを使う②

前回はPower BI DesktopでPower BI Serviceの各種情報の取得について見ました。今回はPower BI Desktopで取得したこれらの情報をPower BI Serviceへ発行し、スケジュール更新を行うやり方及び留意点についてご紹介します。

前提条件(ゲートウェイ

カスタムコネクタを使用したスケジュール更新を行う場合、オンプレミスデータゲートウェイ(以降、「ゲートウェイ」)が必要になります(スクショは英語ですが開くと日本語になります)。

docs.microsoft.com

ゲートウェイの概念は上記リンクに記載されていますが、

  1. オンプレ*1環境(ローカルフォルダやオンプレDBサーバー等)からクラウド環境へデータを安全に送信するために必要な仕組み
  2. オンプレデータをETL*2して自動更新(スケジュール更新)を行う際に必要
  3. カスタムコネクタを使用した場合も必要

といった点をまず知っておくとよいでしょう。今回構築したカスタムコネクタも漏れなくこれに該当しますが、下記2つのゲートウェイは設定方法が少し違います。

  • オンプレミス データ ゲートウェイ(標準モード)
    複数のユーザーが複数のオンプレミスのデータ ソースに接続可能。 単一のゲートウェイ インストールで、サポートされているすべてのサービスでオンプレミス データ ゲートウェイを使用できる。 このゲートウェイは、複数のユーザーが複数のデータ ソースにアクセスする複雑なシナリオに適しており、企業で使用する場合、通常はこちらを指す
  • オンプレミス データ ゲートウェイ(個人用モード)
    1 人のユーザーがデータ ソースに接続可能で、他のユーザーと共有できません。 個人用モードは、Power BI でのみ使用可能。このゲートウェイは、レポートを作成するユーザーが 1 人だけで、データ ソースを他のユーザーと共有する必要がないシナリオの場合に適している

どちらをインストールするかで自動更新の設定が少し異なりますので、今回はそれについて解説をしていきます。

ゲートウェイのダウンロード及びインストール

ゲートウェイをインストールするには、以下2つの方法があります。

  1. Power BI Serviceからダウンロードしてインストール
  2. ダウンロードサイトからインストール

1ですが、以下の順番で進めていきます。

  • Power BI Serviceへサインイン
  • (右上)プロフィール画像の左の・・・を左クリック > ダウンロード > データゲートウェイ
  • 新しいウィンドウが開くため、どちらかをクリックしてダウンロード
    なお、標準モードは本ブログのエンプラ用モードとなります。

  • ダウンロードが完了したダウンロードフォルダにはpersonal mode(個人モード)と標準モード(GatewayInstall.exe)の2つが入っています

なお、デモ用に同じパソコンに2つのゲートウェイをインストールしますが、実際にはサーバーにインストールするため、どちらかに限定して下さい。組織であれば、当然ながら標準モードでインストールしますが、どうしても2つのゲートウェイを同時にインストールしないといけない場合(RやPythonを使う場合は個人モードが必要)は本番環境でのパフォーマンスに留意が必要です。

今回のデモではカスタムコネクタを使うため、実は個人モードが必要になりますが、標準モードでも設定が可能になりますので、まずは個人モードをインストールして設定を行います。

個人用モードのスケジュール更新

インストールが完了すると、ゲートウェイ登録のために使用するメールアドレスを入力するよう促されますので、メールを入れて「サインイン」。

新規で作った場合は出てこないと思いますが、既にセットアップ済みのゲートウェイがあった場合、以下のようなポップアップメッセージが出てきますので、そのまま続行。

ここで、カスタムコネクタがある場合、下図のようにコネクタが出現するため、これを確認しておきます。コネクタが出ていなかった場合、ボタンがOnになっていなかったりした場合にスケジュール更新が失敗しますので、注意が必要です。

これで個人用モードのゲートウェイの準備が完了しましたので、前回の記事で紹介したPower BIデモファイルをPower BI Serviceに発行して、スケジュール更新の設定を行います。適当に可視化したいコンテンツを作り、発行します。

Power BI Serviceへ行き、無事発行が完了したことを確認します。

ここから右上にある①「・・・」>②「関連するコンテンツの表示」>③「更新のスケジュール設定」の順番でクリックしていきます。

④で緑色の✅が入っていれば、問題なく設定できていることになります。なお、✅の横に「〇〇で実行しています」の〇〇は、ゲートウェイをインストールしたマシーンであり、Windows + Iというショートカットで、以下の通り確認することができます。

この後、直下にある「データ ソースの資格情報」の設定を行います。

設定がうまくいくと、⑧のようなポップアップが出現しますが、✅マークが入った状態であれば構成終了です。ここから下図のように、スケジュール更新をお好みに設定していきます。

スケジュール更新が設定できましたが、留意点として、

ゲートウェイが常に立ち上がった状態

でないと、スケジュール更新の際、失敗してしまいます。そのため、自分のローカルマシーンにゲートウェイをインストールするのではなく、常に稼働しているサーバーにゲートウェイをインストールすることが一般的となります。

ここで、更新がスムーズに済むかどうかを手動更新で試してみます。同じ設定画面(データセット)の一番上の①「データセットの表示」をクリックし、②「更新」>「今すぐ更新」を押します。

③の通り、更新済となれば、手動更新が完了したことを意味しますので、これでスケジュール更新も無事成功するばすです。これを確認するため、再び④「更新」>「更新のスケジュール設定」から⑤「更新履歴」>⑥「詳細チェック」と進めていくと、更新ステータスを最終的に確認することができます。

これにて、個人用モードでPower BI REST APIのカスタムコネクタのスケジュール更新を設定することができました。個人用モードは自分ひとりのテスト環境、そしてPower BI用にしか設定できないため、実運用上では役に立たないものとなります。そこで、次はエンタープライズBIの構築に必須な標準モードの設定方法について見ていきたいと思います。

標準モードのスケジュール更新

標準モードのインストールは個人用と同じ流れですが、インストール先が違います。

使用するメールアカウントを登録し、サインイン。

サインインが終わると、新しいゲートウェイを登録するか、既存のゲートウェイを移行(中略)するかを選びます。

既にゲートウェイを使っている場合、新しいサーバーに移動したい場合は「既存のゲートウェイを移行、復元、または置き換えます」を使用しますが、ここではいったん「このコンピューターに新しいゲートウェイを登録します」を選びます。

すると、今度はゲートウェイの名称及び回復キー、その他設定(ゲートウェイクラスターへの追加、リージョンの変更等)を行う画面になりますが、以下のように任意に設定をします。

成功すると、以下のように、個人用モードとは少し違う画面が出現します。ここでお分かりの通り、標準モードではPower BIのみならず、Logic Apps、Azure Analysis Service(AAS)、Power Apps、Power Automateのデータソースについてもゲートウェイで処理を行うことができます。

なお、個人用モードにもありますが、「診断」というタブがあり、ここではゲートウェイのパフォーマンス、モニタリングに必要なログが格納されており、ゲートウェイの監査に際して非常に重要な情報が入っています。これらは本記事のスコープ外となりますので、別の機会で紹介できればと思います。

ここで個人用モードと同じように、「コネクタ」というタブを見てみます。すると、以下のように、フォルダが見つかりませんというメッセージが出現していますので、ここから更に追加設定を行います。

実は、ここが標準モードのゲートウェイでカスタムコネクタのデータソースを更新させる際に直面する最大のつまづきポイントで、気を付けないといつまで経ってもスケジュール更新のための設定が終わりません。

設定をする前に、まずはPower BI Serviceの「ゲートウェイの管理」へ飛んで、現時点の設定について確認してみます。

すると、下の画面が出現し、先ほどインストールしたゲートウェイが出現していることを確認できます。④~⑥をクリックすると、個人用・標準モード別のゲートウェイ、その状態等を確認することができます。

ここでもう一度先ほど発行したレポートのデータセットへ行きます。通常はワークスペースからレポートを探していきますが、直接右上にある検索ボックスでレポートを検索したほうが早いです。

冒頭に示した手順と同じく、下記①~③で「データセット」の設定を開きます。

ここで、「ゲートウェイ接続」を開くと、下記の通り、「正しく構成されていません」と出ます(Demo Gatewayは別マシーンにあるため、ここでは無視)。

右側の▶をクリックすると、「ゲートウェイに追加できません」というメッセージが出現します。このままではデータセットの更新を手動でやったとしてもエラーが出ますので、やはり正しく設定をしてあげる必要があります。

エラーを見るのはこれくらいにして、以下のステップに従います。

  1. インストールしたゲートウェイから、カスタムデータコネクタのフォルダを設定
  2. 設定したフォルダにサービスアカウント*3(NT SERVICE\PBIEgwService)がアクセスできるようにする
  3. Power BI Service上で、カスタムコネクタがゲートウェイクラスタを介して、更新することを可能にする

上記3つが大まかな流れですが、1つずつ見ていきます。

1. カスタムデータコネクタのフォルダを設定

ゲートウェイのコネクタでフォルダパスの変更、そしてゲートウェイを再起動します。

再起動すると、フォルダパスが新しいものに置き換わっていることを確認できますが、下記メッセージが引き続き出現しているため、次のプロセスへ進みます。

2. サービスアカウントのフォルダへのアクセス許可の設定

まずはカスタムコネクタを保存しているフォルダを右クリック > プロパティ。

「編集」から「追加」をクリック。

サービスアカウントを追加していく。

PBIEgwServiceが追加され、アクセス許可の内容を確認した後、OKをクリック。

これでフォルダへのアクセス許可の設定が完了しました。もう一度ゲートウェイを再起動し、(反映されるまでに少し時間が掛かるかもしれませんが)カスタムコネクタが出現していることを確認します。

3. Power BI Service上での設定

再びPower BI Serviceへ行き、以下のステップを実施。

記述したプロセスを参考に「ゲートウェイ接続」へ行き、「ゲートウェイを手動で追加する」をクリック。

画面が移り変わりますので、「マップ先」を今作ったデータソースに変更して、「適用」ボタンをクリック。

成功すると、以下のメッセージが出現します。

これで問題なく終了となったわけですが、最後に更新ができるかどうかチェックしてみます。チェックの前にまずPersonal Gatewayを一時停止にします(標準モードでデータ取得を検証するため)。

Ctrl + Shit + Esc

でタスクマネージャーを立ち上げ、PersonalGatewayプロセスを終了します。

ゲートウェイ接続」の画面でF5を押して更新し、Personal Gatewayが止まっていることを確認します。

先ほどと同じ手順で画面一番上で「データセットの表示」>「更新 > 今すぐ更新」。更新に成功すると、更新済みの日時が出現します。

オンデマンド方式(手動更新)ですが、更新が完了していることが分かります。ここからスケジュール更新の設定画面に戻り、スケジュール更新をお好みに合わせて設定します(設定方法は割愛)。今後はこちらのゲートウェイ経由でデータソースの更新を行うことができるようになります。

新規ワークスペースを追加してみる

最後のチェックとして、ワークスペースを1つ追加してみます。ここではCustomConnectorというワークスペースを作ってみます。

追加したワークスペースが結果に反映されているかどうかを確かめるため、発行済レポートが入っているワークスペースでレポート名をフィルターして更新をします。

最後に、PBIRESTAPI_Sampleレポートを開き、Workspace Nameで検索をすると、無事情報が反映されていることを確認することができました。

べらぼうな長文になってしまいましたが、カスタムコネクタによるスケジュール更新の設定の解説を終わりにします。カスタムコネクタに限らず、ゲートウェイ接続が必要なデータソースは全て設定が必要になりますので、こちらの記事が少しでも参考になればと思います。

*1:自社で保有し運用するシステムの利用形態。対義語がクラウド

*2:Extract, Transform, Loadの略。データの取得と変換を行うプロセスのことを指す

*3:Windows Server オペレーティング システムで実行されているサービスのセキュリティ コンテキストを提供するための明示的ユーザー アカウント