はじめに
相当ニッチだと思うのですが、いつか誰かのためになればと思い書き留めておきます。
Tableauは様々なデータに繋ぐことができますが、Web Data Connectorという仕組みを使えば、ネット上の色んなデータを取得することができます。コミュニティーの有志たちが無料で作成・公開しているWeb Data Connectorを利用することもできますし、使用したいデータを提供しているサービスがAPIを公開していてデータの取得を許可しているのであれば、自分で開発して作ることもできます。
この記事ではWeb Data Connectorの作成方法については触れませんが、以下の公式動画を見るとなんとなくどうやって開発すれば良いかはイメージを持っていただけるはずです。ウェブサイトの開発やPythonなどでプログラムを書いたことがある方でしたら1日でPoCレベルのものは十分作れると思います。
Your first web data connector: from 0 to }
Write your first Web Data Connector
このWeb Data Connector、Tableau Desktopで使用するぶんには良いのですが、Tableau Server/Onlineにパブリッシュしてスケジュールを組んで抽出更新したいとなるとちょっと厄介です。ですが、Tableau Serverの場合はWeb Data Connectorのホストをホワイトリスト登録することで実現できます。詳しくはこちらを読んでみてください。
前提
公式サイトで名言されてる通り、Web Data Connectorを使用して取得したデータソースをTableau Onlineにパブリッシュして利用することはできても、基本的には抽出したデータソースを更新することはできません。(公式ヘルプ: Web データ コネクタより)
セキュリティ対策として Tableau Online にパブリッシュすると、Tableau Online は Web データ コネクタが作成した抽出に接続したり、その抽出を更新できません。一部の Web データ コネクターの抽出を更新するために、Tableau Bridge を使用できます。
この制限はTableau OnlineはTableauがホストしているサーバーをサイトという単位で切り分けて提供されているサービスですが、ホワイトリスト登録は現在サーバー単位でしかできないため、サイトを利用するお客様ごとにはホワイトリスト登録ができないからではないかと推測してます。
そこで登場するのが「Tableau Bridge(無料)」です。Tableau BridgeはオンプレミスデータをTableau Onlineからアクセスできるようにするアプリケーションです。これを使えば、
- Web Data ConnectorをホストしているサーバーにTableau Bridgeをインストールできる
- Tableau Bridgeを利用している同じアカウントでデータソースを作成できる
という条件であれば、Web Data ConnectorのデータをTableau Onlineで抽出更新することが可能です。
設定方法
- Web Data Connectorを準備する
- Web Data Connectorのプログラムファイルをウェブサーバーに設定する
- 同じサーバーにTableau Bridgeをインストールする
- Tableau DesktopでWeb Data Connectorに接続し、データソースをOnlineにパブリッシュ
- Tableau Online側でデータソースに抽出更新の設定を行う。
注意点
- Tableau BridgeはWindows OSにしかインストールできないので、サーバーをLinuxで立てている場合にはインストールできない可能性があります。
- Web Data Connectorが認証情報を求める仕様の場合、正常に抽出更新できない可能性があります。
- Tableau Bridgeにログインしているユーザーと、Tableau Onlineでデータソースをパブリッシュしたユーザーは同一である必要があります。そうでない場合、Bridgeを使った抽出更新スケジュールを組む際に、以下赤枠部分が選択できません。
おわりに
ニッチなニーズかもしれませんが、Web Data Connectorを開発できる技術力とある程度自由にサーバーを構成できる環境があれば、Tableau OnlineからでもWeb Data Connectorのデータは抽出更新できる、ということが伝われば嬉しいです。
P.S. ちなみに私は検証環境として以下を使用しました。
- AWS EC2 Windows OSサーバー
- IISでサーバー内にウェブサーバーを構築しWeb Data Connectorファイルを設定
- セキュリティグループはインバウンド80,443,3389 アウトバウンドは80,443を設定