CData API Server で Tableau からライブ JSON データにアクセス
Tableau は、データの接続、可視化、インサイトの共有のための主要な BI プラットフォームの 1 つです。
CData API Server と JSON コネクタ(または 270 以上のコネクタ)を使用すると、複数のソースからライブデータを公開する API を迅速に作成し、OData や Swagger などの業界標準を使用して Tableau とシームレスに統合できます。
この記事では、データの移動や複製なしに、JSON からのライブデータを使用してシンプルな Tableau ダッシュボードを作成します。
それでは始めましょう!
前提条件
- CData API Server: こちらから無料トライアルをダウンロードできます。
- Tableau: こちらからサインイン、サインアップ、またはダウンロードできます。
- データにアクセスできるアクティブな JSON アカウント。
概要
以下の手順で進めていきます。
- CData API Server をインストールし、JSON への接続を設定して、OData エンドポイントを使用します。
- Tableau でこれらのエンドポイントに接続し、ライブダッシュボードとレポートを構築します。
ステップ 1:API Server のインストールと JSON への接続設定
1.1 API Server のインストール
まだインストールしていない場合は、CData API Server ページからお使いのマシン用のインストーラーをダウンロードしてください。インストール手順に従ってセットアップを完了します。
インストールが完了したら、以下の方法でサーバーを起動できます。
- Windows: CData API Server はデフォルトでサービスとして実行されます。サービスが実行されていることを確認し、ブラウザで http://hostname:port(例:http://localhost:8080/)を開いて API Server 管理コンソールにアクセスします。
- Linux/Mac: サーバーを手動で実行するか、サービスとして実行できます。手動で起動するには、インストールディレクトリに移動して java -jar apiserver.jar を実行します。
- また、root 権限で service.sh を実行して、API Server を Linux システムサービスとしてセットアップすることもできます。
1.2 CORS の有効化
Tableau と CData API Server が異なるドメインでホストされている場合、Tableau がデータエンドポイントにアクセスできるようにするために CORS(Cross-Origin Resource Sharing)を有効にする必要があります。API Server で CORS を有効にするには:
- 「Settings」に移動し、 アイコンをクリックして CORS 設定を編集します。
- Cross-Origin Resource Sharing (CORS) を有効にします。
- Allow all domains without '*' を有効にして、すべてのオリジンを許可します。
- Access-Control-Allow-Origin に Tableau のオリジンドメインを入力するか、* を使用してすべてのドメインを許可します(パブリック API に適しています)。
- Access-Control-Allow-Credentials を有効にして、Cookie と認証ヘッダーを許可します。
- Access-Control-Allow-Methods に GET, PUT, POST, OPTIONS を入力します。
- Access-Control-Allow-Headers に Authorization, Content-Type を入力します。
- Access-Control-Max-Age(デフォルト:3600 秒)を設定して、プリフライトリクエストをキャッシュします。
- 「Save」をクリックします。
1.3 API Server で JSON 接続を追加
- 「Settings」に移動し、右上の Add Connection をクリックします。
- JSON を選択します。表示されない場合は、Only Installed をオフにしてすべてのコネクタを表示します。
- Install Connector をクリックして自動インストールします。手動セットアップの場合は、Manual Install を選択してダウンロードした ZIP ファイルをアップロードします。
- インストールが完了したら、JSON を再度クリックして接続設定を開き、以下の詳細を使用して設定します。
- Document(デフォルト):JSON データのトップレベルのドキュメントビューをモデル化します。CData 製品 は、ネストされたオブジェクト配列を集約されたJSON オブジェクトとして返します。
- FlattenedDocuments:ネストされた配列オブジェクトと親オブジェクトを、単一テーブルに暗黙的に結合します。
- Relational:階層データから個々の関連テーブルを返します。テーブルには、親ドキュメントにリンクする主キーと外部キーが含まれています。
- AWSAccessKey:AWS アクセスキー(username)に設定。
- AWSSecretKey:AWS シークレットキーに設定。
- 「Save & Test」をクリックして接続設定を検証し完了します。
データソースへの認証については、ヘルプドキュメントの「はじめに」を参照してください。CData 製品は、JSON API を双方向データベーステーブルとして、JSON ファイルを読み取り専用ビュー(ローカル ファイル、一般的なクラウドサービスに保存されているファイル、FTP サーバー)としてモデル化します。HTTP Basic、Digest、NTLM、OAuth、FTP などの主要な認証スキームがサポートされています。詳細はヘルプドキュメントの「はじめに」を参照してください。
URI を設定して認証値を入力したら、DataModel を設定してデータ表現とデータ構造をより厳密に一致させます。
DataModel プロパティは、データをどのようにテーブルに表現するかを制御するプロパティで、次の基本設定を切り替えます。
リレーショナル表現の設定についての詳細は、ヘルプドキュメントの「JSON データのモデリング」を参照してください。また、以下の例で使用されているサンプルデータも確認できます。データには人や所有する車、それらの車に行われたさまざまなメンテナンスサービスのエントリが含まれています。
Amazon S3 内のJSON への接続
URI をバケット内のJSON ドキュメントに設定します。さらに、次のプロパティを設定して認証します。
Box 内のJSON への接続
URI をJSON ファイルへのパスに設定します。Box へ認証するには、OAuth 認証標準を使います。 認証方法については、Box への接続 を参照してください。
Dropbox 内のJSON への接続
URI をJSON ファイルへのパスに設定します。Dropbox へ認証するには、OAuth 認証標準を使います。 認証方法については、Dropbox への接続 を参照してください。ユーザーアカウントまたはサービスアカウントで認証できます。ユーザーアカウントフローでは、以下の接続文字列で示すように、ユーザー資格情報の接続プロパティを設定する必要はありません。 URI=dropbox://folder1/file.json; InitiateOAuth=GETANDREFRESH; OAuthClientId=oauthclientid1; OAuthClientSecret=oauthcliensecret1; CallbackUrl=http://localhost:12345;
SharePoint Online SOAP 内のJSON への接続
URI をJSON ファイルを含むドキュメントライブラリに設定します。認証するには、User、Password、およびStorageBaseURL を設定します。
SharePoint Online REST 内のJSON への接続
URI をJSON ファイルを含むドキュメントライブラリに設定します。StorageBaseURL は任意です。指定しない場合、ドライバーはルートドライブで動作します。 認証するには、OAuth 認証標準を使用します。
FTP 内のJSON への接続
URI をJSON ファイルへのパスが付いたサーバーのアドレスに設定します。認証するには、User およびPassword を設定します。
Google Drive 内のJSON への接続
デスクトップアプリケーションからのGoogle への認証には、InitiateOAuth をGETANDREFRESH に設定して、接続してください。詳細はドキュメントの「Google Drive への接続」を参照してください。
1.4 ユーザーの追加と設定
作成した OData エンドポイントへの安全なアクセスを許可するために、CData API Server でユーザーを作成・設定します。各ユーザーには認証情報とロールベースのアクセス制御があり、適切なロールを持つ承認されたユーザーのみが接続されたデータをクエリできるようになります。
- ナビゲーションペインから「Users」に移動し、右上の Add User をクリックします。
- Username を入力し、ユーザーの安全な Password を設定します。
- Role を選択します:
- Admin: 設定や接続を含むすべての機能へのフルアクセス。
- Query: API エンドポイント経由のデータアクセスに限定(Tableau での使用に適しています)。
- (オプション)レート制限を設定:
- Requests Per Hour: 1 時間あたりの許可される API コール数(デフォルト:1000)。
- Max Concurrent Requests: 許可される並列 API リクエスト数(デフォルト:10)。
- ユーザーの Privileges を定義:
- GET: データの取得を許可。
- POST: 新しいレコードの作成を許可。
- PUT, MERGE, PATCH: 既存レコードの更新を許可。
- DELETE: レコードの削除を許可。
- 「Add User」をクリックしてユーザーアカウントを保存し、有効化します。
ユーザーを追加すると、Authtoken が自動的に生成されます。このトークンは、パスワードの代わりに安全な認証方法として API リクエストで使用できます。
また、Authtoken を更新したり、無効にしたり、ユーザー設定で Token Expiration オプションを有効にして有効期限ルール(例:有効期限までの日数)を設定することもできます。
1.5 エンドポイント用のテーブルを追加
JSON のデータを OData 経由で Tableau で利用できるようにするには、API Server を通じて目的のテーブルを公開する必要があります。手順は以下のとおりです。
- CData API Server で、左側のナビゲーションから「API」に移動し、右上の Add Table をクリックします。
- 先ほど設定した JSON 接続を選択し、「Next」をクリックします。
- Tables セクションを展開して、利用可能なエンティティとスキーマを参照します。個々のテーブルを選択するか、上部の TABLE NAME チェックボックスをクリックしてすべてを選択します。次に「Confirm」をクリックします。
1.6 Tableau でエンドポイントにアクセス
API の設定が完了したので、Tableau から OData エンドポイントに直接接続してライブデータを可視化できます。以下は OData エンドポイントの URL 形式です。
| エンドポイント | URL | |
|---|---|---|
| エンティティ一覧 | http://address:port/api.rsc/ | |
| テーブルメタデータ(例:albums) | http://address:port/api.rsc/albums/$metadata?@json | |
| テーブルデータ(例:albums) | http://address:port/api.rsc/albums |
これらの OData エンドポイントは、Tableau に接続してライブダッシュボード、チャート、レポートを作成できるようになりました。
CData API Server は完全な OData フィルタリング機能 (OData ABNF) をサポートしています。細かなクエリには、$select、$filter、$orderby、$top、$skip などの標準 OData クエリパラメータをリクエストに追加できます。
ステップ 2:Tableau でシンプルなダッシュボードを作成
CData API Server が JSON データの OData エンドポイント を公開しているので、Tableau を API に接続してリアルタイムダッシュボードを構築できます。手順は以下のとおりです。
この記事では、Windows 上の Tableau Desktop を使用しますが、手順はすべての Tableau バージョンで同様に機能します。
2.1. OData エンドポイントに接続
- CData API Server にログインして CData API エンドポイント URL を取得します。左側のナビゲーションから「API」に移動し、右上の View Endpoints をクリックします。
- URL をコピーします(例:http://localhost:8080/api.rsc)。
- Tableau を起動し、アカウントにログインします。
- 左側の サーバーへ で「More」をクリックし、OData を検索して選択します。
- 以下の詳細を追加します:
- サーバー: CData API Server エンドポイント URL(例:http://localhost:8080/api.rsc)
- 認証: ユーザー名とパスワード を選択します。
- ユーザー名: CData Server API ユーザー名を入力します。
- パスワード: CData API Server パスワードを入力します。
2.2. ダッシュボードの作成
- 左側の テーブル で、目的のテーブルをキャンバスにドラッグし、左下の シート 1 をクリックします。
- シート 1 で、左側の テーブル の下で、選択したテーブルから目的のカラムをダブルクリックしてビューに追加します。
- カラムを上部の 列 と 行 セクションにドラッグ&ドロップしてビジュアライゼーションを作成します。この例では、シンプルな予測棒グラフを作成しています。
2.3. ダッシュボードの改善
フィルター、フォーマット、複数のシートの組み合わせを追加して、ダッシュボードの改善を続けましょう。ライブ API データに基づいて、より複雑なビジュアライゼーションやインタラクティブなダッシュボードを作成できます。
CData API Server を 30 日間無料でお試しください
ローコード/ノーコードプラットフォームで OData REST API を構築し、ライブデータとのシームレスな統合を実現しましょう。CData API Server を 30 日間無料でお試しいただき、ライブ JSON データ(または 270 以上の他のコネクタ)を Tableau に直接接続して、リアルタイムダッシュボードと分析を実現する方法を体験してください。
こちらから無料トライアルを開始できます。