Tableau Serverのユーティリティコマンドツール『tabcmd』の導入と実践

2015.01.13

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

数日前に投稿した以下エントリでは『Tableau Serverのツール類・APIで何が出来るのか』について見て行きましたが、そのうちの1つ『tabcmd』について当エントリでは深堀りして行きたいと思います。

目次

Tabcmdインストーラの確認と入手

Tableau Serverを導入した環境に含まれるインストーラの場所を確認します。ちなみに今回利用する環境のバージョンは以下の様に【8.3】となります。

tabcmd-install-01

ドキュメントで指定されているextrasフォルダ配下にインストーラがありました。今回はこの内、64bit版のものを利用したいと思います。

tabcmd-install-02

tabcmdのインストール

インストーラを導入したい環境まで持ってきた上で、インストーラを起動します。

tabcmd-install-03

導入パスについては、下記ドキュメントでも言及があったのでProgram Files配下では無く、任意のパス(D:\tabcmd\extras)へインストールする事にしました。その他の手順については特に難しい所はありません。

tabcmd-install-11

tabcmd-install-12

tabcmd-install-13

tabcmd-install-14

tabcmd-install-15

インストール完了後、所定のパス配下を見てみましょう。設定フォルダ配下にCommand Line Utilityというフォルダが作成されており、そのフォルダ配下にそれぞれのファイルが展開されている様です。tabcmdの存在も確認出来ました。

tabcmd-install-16

上記状況でも差し支えありませんが、環境変数Pathに上記インストーラで導入したツールのパス(エントリの手順で言うとD:\tabcmd\extras\Command Line Utility)を追記し、どこでも利用出来るように設定しておきましょう。

tabcmd-install-17

tabcmdの実践

tabcmdで実行出来るコマンドは幾つかありますが、その中でも代表的なものについて実践してみたいと思います。

ログイン・ログアウト

tabcmdで各種操作を行う上で必要となる操作がログイン・ログアウト処理となります。上記『tabcmd グローバルオプション』のドキュメントにも【セッションを開始するために少なくとも 1 回指定する必要があります。】と記載がありますので、各種オペレーション実行の際にはログイン処理を事前に行う様にしておいてください。

D:\>tabcmd login --server (接続するTableau ServerのURL) --username (TableauServer接続ユーザー名) --password (TableauServer接続パスワード) --site (接続サイト名)
===== Log out completed.
===== Creating new session
=====     Server:   http://xxxxxxxxxxxxxxxxxx/
=====     Username: xxxxxxxxxxxxx
=====     Site:     xxxxxxxxxxxxx
===== Connecting to server...
===== Logging in...
===== Login Succeeded.

D:\>tabcmd logout
===== Log out completed.

データソースのpublish

次いで、データソースのパブリッシュを試してみます。Redshiftに構築していたテーブルデータ(約4000件の小さい容量ではありますが)に接続を行い、その内容を抽出作業でtdeファイルに出力しました。

tabcmd-publish-01

ログイン処理実施後、tabcmd publishコマンドでパブリッシュ処理実施。

C:\xxxxxxxxxx\tableau-test>tabcmd publish all_entries.tde --project tabcmd-test
===== Continuing previous session
=====     Server:   http://xxxxxxxxxxxxxxx/
=====     Username: xxxxxxxxxxxxxxx
=====     Site:     xxxxxxxx
===== Publishing C:/xxxxxxxxxx/tableau-test/all_entries.tde to server.  This could take several minutes...
===== File successfully published to the Tableau Server, at the following location:
===== http://xxxxxxxxxxxxxxx/t/xxxxxxxx/datasources/all_entries

処理終了後、Tableau Serverにブラウザ経由でアクセスしてデータソースの項を確認してみます。ちゃんと反映されていますね!

tabcmd-publish-02

ワークブックのパブリッシュ

次いでワークブックもパブリッシュしてみましょう。こちらは一番ありそうなケースとして『Tableau Serverにパブリッシュしたデータソースを参照したTableauワークブックをパブリッシュする』というのを試してみたいと思います。前述のTableau ServerにパブリッシュしたRedshiftの抽出データソースを選択し、

tabcmd-publish-03

適当なTableau ビューを作成、ワークブックとして保存しておきます。

tabcmd-publish-04

publishコマンド実行。こちらも問題無く処理が実施出来ている様です。

C:\Users\cm\Desktop\tableau-test>tabcmd publish cm-all-entrires-with-server-ds.twb --project tabcmd-test
===== Continuing previous session
=====     Server:   http://xxxxxxxxxxxxxxx/
=====     Username: xxxxxxxxxxxxxxx
=====     Site:     xxxxxxxx
===== Publishing C:/xxxxxxxxxxxxxxx/tableau-test/cm-all-entrires-with-server-ds.twb to server.  This could take several minutes...
===== File successfully published to the Tableau Server, at the following location:
===== http://xxxxxxxxxxxxxxx/t/xxxxxxxx/workbooks/cm-all-entrires-with-server-ds

Tableau Serverにコンテンツが上がっているか確認してみます。大丈夫そうです!

tabcmd-publish-05

まとめ

以上、tabcmdの環境導入と実践内容についてのご紹介でした。数が少ない場合であれば手動操作でこの辺りのオペレーションはカバー出来ると思いますが、数が多くなったり複雑な感じになってくると正直手が回らない部分になってくる事と思います。そういう時はこのtabcmdを有効に使う事で各種効率化を図る事が出来ると思いますのでTableau Serverをお使いの方は是非色々試してみてはいかがでしょうか。こちらからは以上です。