Tableau Serverで出来る事のまとめ(コマンドラインツール&API編)

2015.01.08

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

Tableau製品では日々の作業やタスクについて様々なオペレーションが存在しますが、それらのオペレーションについては各種コマンドラインツールやAPIで実行を代替する事が可能だったりします。つまり、何かしらのスクリプトやプログラミング言語で処理を実装し、スケジューラ等に噛ませておく事で自動化機構に組み込む事も可能な訳です。当エントリではその足掛かりとなる情報について、Tableau公式で展開されているものをひと通りまとめてみたいと思います。(以前投稿した以下エントリの姉妹編的な位置付け、という感じです)

目次

コマンドラインツール&API一覧

当エントリでご紹介するコマンドラインツールやAPIの一覧です。前者は環境に応じて利用出来るもの、出来ないものがあるようです。

ツール Tableau Desktop Tableau Server
tabadminコマンド
tabcmdコマンド
Tableauデータ抽出コマンドラインユーティリティ
Tableauデータ抽出API
REST API
JavaScript API

tabadminコマンド

Tableau Server導入時に一緒に入ってくるコマンドラインツールその1。コマンド名にあるように、主に管理系の操作を制御するためのツールとなっています。

tabadmin コマンド ライン ツールを使用して、特定の管理タスクを実行し、Tableau Server の構成設定を変更できます。既定では、Tableau Server と共にインストールされます。他のコンピューターにはインストールできません。

以下一覧はコマンドを用途別に整理し直してみたものです。

コマンド名 説明
<ライセンス周りの管理>
tabadmin activate Tableau Serverライセンスのアクティブ化・非アクティブ化
tabadmin licenses Tableau Server 用のライセンス情報を表示
tabadmin validate 対象環境がTableau Server導入最小要件を満たすかチェック
<ユーザー権限周りの管理>
tabadmin administrator システム管理者機能を、指名されたユーザーに許可or削除
tabadmin assetkeys 外部データベースのクレデンシャルなどの機密情報を暗号化
<アクセス権限周りの管理>
tabadmin dbpass Tableau の PostgreSQL データベース (リポジトリ) への外部アクセスを制御
tabadmin passwd Tableau Server アカウントのパスワードをリセット
<Tableau Serverの挙動に関する管理>
tabadmin status Tableau Serverのステータス確認
tabadmin start Tablaeu Serverの起動
tabadmin stop Tableau Serverの停止
tabadmin restart Tableau Serverの再起動
tabadmin autostart Tableau Server をシステム開始時刻に起動(default: on)
tabadmin warmup 各 VizQL サーバー プロセスを vizql DLL ファイルに読み込むように設定(サーバの暖機運転)
<Tableau Serverの構成に関する設定>
tabadmin configure Tableau Server の構成を更新
tabadmin customize Tableau Serverで使う名前及びロゴのカスタマイズ
tabadmin set Tableau Server の構成オプションの値の変更を許可
<コンテンツに関する設定>
tabadmin exportsite サイトのエクスポート実行
tabadmin importsite サイトのインポート実行
tabadmin importsite_verified サイトのインポート実行
tabadmin sitestate サイトインポート失敗のためのサイトステータス制御
<バックアップ・リストアに関する作成>
tabadmin backup Tableau Server によって管理されるデータのバックアップを作成
tabadmin restore Tableau Server バックアップ ファイル (.tsbak) を Tableau Server インストール環境に復元
tabadmin ziplogs Tableau Serverのログファイル作成
tabadmin cleanup Tableau Server によって消費される全体のディスク容量を削減(お掃除コマンド)
tabadmin failoverprimary プライマリ Tableau Server の二次インストールに関する設定

tabcmdコマンド

Tableau Server導入時に一緒に入ってくるコマンドラインツールその2。tabadminは管理系のコマンド全般な感じですが、こちらのtabcmdはそれ以外の一般的な作業で使えるようなコマンドが用意されている感じです。Tableau Server導入時に入ってくるツールをそのまま使うか、またはTableau Server導入時に配備されるインストーラを用いて別途デスクトップ環境等にコマンド実行環境を用意する事も出来るようです。

用途別のコマンド一覧は以下の通り。

コマンド名 説明
<ユーザーに関する操作>
tabcmd addusers group-name --users 引数のリストに含まれているユーザーを、指定した group-name のグループに追加。
tabcmd createsiteusers filename.csv ユーザーをサイトに追加。
tabcmd createusers filename.csv 指定したコンマ区切り値 (CSV) ファイルに含まれているユーザーを作成。
tabcmd deleteusers filename.csv 指定したコンマ区切り (CSV) ファイルに含まれているユーザーを削除。
tabcmd removeusers group-name 指定された group-name を持つグループから、--users 引数でリストされているユーザーを削除。
<グループに関する操作>
tabcmd creategroup group-name 指定されたグループ名を使用してグループを作成。
tabcmd deletegroup group-name 指定した group-name のグループをサーバーから削除。
<プロジェクトに関する操作>
tabcmd createproject project-name 指定されたプロジェクト名を使用してプロジェクトを作成。
tabcmd deleteproject project-name 指定した project-name のプロジェクトをサーバーから削除。
<サイトに関する操作>
tabcmd createsite site-name 指定されたサイト名を使用してサイトを作成。
tabcmd deletesite site-name 指定したサイト名のサイトをサーバーから削除。
tabcmd editsite site-name サイトまたはその Web フォルダー名を変更。
tabcmd listsites ログインしたユーザーが属しているサイトのリストを返す。
<ワークブック・データソースに関する操作>
tabcmd delete workbook-name または tabcmd delete datasource-name 指定のワークブックまたはデータ ソースをサーバーから削除。
tabcmd export Tableau Server からビューまたはワークブックをエクスポートして、ファイルに保存。
tabcmd publish filename.twb(x) または tabcmd publish filename.tds(x) または tabcmd publish filename.tde 指定したワークブック (.twb(x))、データ ソース (.tds(x))、またはデータ抽出 (.tde) を Tableau Server にパブリッシュ。
tabcmd refreshextracts workbook-name または tabcmd refreshextracts datasource-name 指定されたワークブックまたはデータ ソースに属する抽出の完全更新または増分更新を実行。
<その他操作>
tabcmd get url パラメーターの 1 つに URL 文字列を使用する事でTableau Serverの HTTP GET 要求を作成。
tabcmd login Tableau Server ユーザーでログイン。
tabcmd logout サーバーからログアウト。
tabcmd runschedule schedule-name 指定されたスケジュールを実行。
tabcmd set setting サーバー上の指定された設定を有効化。
tabcmd syncgroup group-name 指定された group-name を持つグループと Active Directory を同期化。
tabcmd version tabcmd ユーティリティの現在のインストールのバージョン情報を出力。

Tableauデータ抽出コマンドラインユーティリティ

Tableau Desktop導入時に併せて入ってくるツール。前述の2つとは異なり、こちらのツールはTableau Desktop(Windows)限定で利用出来るツールとなっている様です。

コマンド名 説明
tableau refreshextract Tableau Server または Tableau Online の抽出を更新。
tableau addfiletoextract Tableau Server または Tableau Online へパブリッシュされた抽出にファイルの内容を追加。

Tableauデータ抽出API

Tableauでは、データにアクセスして処理するプログラムを作成する事が可能な『Tableau データ抽出 API(Tableau Data Extract API)』が利用出来ます。Java/C/C++/Pythonのいずれかの環境を導入・利用する事が可能です。

  • データ抽出 API – Python – 32 ビット
  • データ抽出 API – Python – 64 ビット
  • データ抽出 API - C/C++/Java – 32 ビット
  • データ抽出 API - C/C++/Java – 64 ビット

Tableauページにログイン(要ユーザー登録/無料)後、以下ページにアクセスし、『DOWNLOAD THE EXTRACT API NOW』をクリック。

tableau-data-extract-api-01

別ウインドウが起動するので、チェックボックスを選択して『DOWNLOAD NOW』を押下。

tableau-data-extract-api-02

各種APIのダウンロード画面に遷移します。Linux系、Windows系双方で展開されている事が確認出来ます。

tableau-data-extract-api-03

Linux用Python版64bitのものをダウンロード&展開してみたもののスクリーンショットです。

tableau-data-extract-api-04

APIドキュメントやサンプルについても充実している様です。実際の内容や挙動についてはこの辺りを御覧頂けますと幸いです。

tableau-data-extract-api-05

REST API

下記チュートリアルのページに『Enabling the REST API with Tabadmin』という項目がある事から、こちらはtabadmin互換のAPIという位置付けになるのでしょうか。

APIリファレンスの内容を確認する感じですと、以下のような操作が行えるようです。

  • サインイン
  • サインアウト
  • クエリ データソース(指定サイトのデータソースのリストを返す)
  • クエリ データソース(特定データソースのメタデータを返す)
  • プロジェクトの作成
  • プロジェクトの削除
  • プロジェクトの更新
  • ワークブックにタグを追加
  • ワークブックからタグを削除
  • ワークブックをクエリ(指定ワークブックのメタデータを返す)
  • ワークブックをお気に入りに追加
  • ワークブックをお気に入りから削除
  • プレビューイメージのあるビューをクエリ
  • ワークブック用のビューをクエリ
  • ワークブックのプレビューイメージをクエリ
  • ユーザー用のワークブックをクエリ
  • サイトにユーザーを追加
  • サイトのユーザーを取得
  • サイトからユーザーを削除
  • サイトの作成
  • サイトの更新
  • サイトをクエリ(サーバー上の全てのサイトのリストを返す)
  • サイトをクエリ(指定サイトのメタデータを返す)
  • サイトを削除

JavaScript API

Tableau ServerやTableau Publicのコンテンツを、その環境以外からブラウザ経由で表示・制御する際に利用出来るAPI。以下URL『Getting Started with the Tableau Javascript API - Bryan's BI Blog』が分かり易くまとまっている感じになっています。

Javascript APIのリファレンスは以下。

また、以下オンラインチュートリアルでは、実コードと実行サンプルを交えてAPIの挙動を確かめる事が出来ます。

tableau-data-extract-api-06

まとめ

以上、コマンドラインベースでの『Tableau Serverで出来る事のまとめ』でした。一旦作成したコンテンツを定期的に更新・管理するような場合はこれらの仕組みを使う事で作業の効率化を図る事が出来ますので、是非有効活用頂けますと幸いです。こちらからは以上です。