AWS EC2(AMI) からtabcmdを実行する


まえおき

営業の業務効率化のため、TableauServerのPDFダウンロードを自動化するためにやったこと。

調べたこと

色々調べてみたところ、どうやら現在はtabcmdのjarファイルをLinuxにアップロードしてshellで実行すればうまくいくようです。jarファイル最高。

やったこと

1. 以下からtabcmdをダウンロードする

2. ダウンロードしたファイルをサーバにアップロードする

以下に保存する。

$HOME/lib/tabcmd/app-tabcmd-latest-jar.jar

3. 実行用のシェルをサーバにアップロードする

必要となるディレクトリは作ります。
もしくは以下のシェルを編集します。

tabcmd.sh
#!/bin/sh

java -Xmx64m -Xss2048k -Djsse.enableSNIExtension=false -Dpid=$$ -Dlog.file=$HOME/lib/tabcmd/.tabcmd/tabcmd.log -Dsession.file=$HOME/lib/tabcmd/.tabcmd/tabcmd-session.xml -Din.progress.dir=$HOME/lib/tabcmd/.tabcmd -Dconsole.codepage=$LANG -Dconsole.cols=$COLUMNS -jar $HOME/lib/tabcmd/app-tabcmd-latest-jar.jar "$@"

4. シェルに引数をつけてタブローの認証を通す

tabcmdに最初にログインすればその後はコマンドは都度ログインしないでも実行できるようです。

sh tabcmd.sh login ***************

ログイン後は以下を参照しながらPDFのエクスポートをしました。

所感

難しいところは特になくわかりやすかったです。
少し前のバージョンではダウンロードしたらディレクトリ配下を全部アップロードしなければならなかったようですが仕様改善されて使いやすくなっててよかったです。

参考

Tabcmd on Linux
https://tableauandbehold.com/2016/06/06/tabcmd-on-linux/

How to tabcmd on Linux:
https://community.tableau.com/thread/118422