Upgrade to Pro — share decks privately, control downloads, hide ads and more …

tabcmdって便利なんです。。-JTUG 夢見る会 2023.12

fujitaku
December 28, 2023

tabcmdって便利なんです。。-JTUG 夢見る会 2023.12

Japan Tableau User Group(JTUG)の 夢見る会 Server/Cloud会 2023.12 内の
tabcmdって便利なんです。。の登壇資料です。

tabcmdには、従来型のver1と MFA認証に対応したver2があるのですが、
Ver2ではMFAの認証の暗号キーを入れてあげないとバッチ化できません。
それを特定のアカウントを用いてバッチ化しようとするためのTipsです。

動画では、下記で簡単に説明しています。
https://www.youtube.com/watch?v=rysy4lHLe_0

PythonのEmbeddable版は、こちらから https://www.python.org/downloads/windows/
Linux,MacはPythonが入っていますが、環境を調整する必要があります。

fujitaku

December 28, 2023
Tweet

Other Decks in Technology

Transcript

  1. 目次 tabcmdって 何です!?便利やん。 01 えっつ、 Tableau Serverと Tableau Cloudで 違うの。。。

    02 どうするtabcmd。。。 03 本資料は個人的に見解であり、会社を代表するものではありません。 ぜひ使ってみて感想を共有頂けると幸いです! 手元にWindows環境しかなく動作はMac版もおおむね同じかと思われます。
  2. 01 tabcmdって何です!? Javaで出来た Ver .1.0系 Python向けに作られた Ver 2.0系 入手先 Tableau

    のサイトより利用するServerのバー ジョンごとのツールを入手 GitHubから リリースされた tabcmdをダウンロード 利用用途 Tableau Server専用 tabadmin, tsmコマンドと併用を想定し、 今後は…どうなる。 Tableau Cloud と Server 両用。 Tableau Server ClientのREST APIの併用して の管理の流れになるのか。 デプロイ(展開) インストール後の Command Utility 一式があれば動作 tabcmdは、pythonを必要とし 簡単には動作しなさそう。 使い方 tsm(tabadmin) や 併用を想定しているが管理 としては、シンプル Tableau Server Clientからtabcmd の流れを汲 みPythonベース。将来は統合?? tabcmd コマンド - Tableau https://help.tableau.com/current/server/ja-jp/tabcmd_cmd.htm tabcmd Home (tableau.github.io) https://tableau.github.io/tabcmd/ ざっくりまとめると
  3. 基本操作 一連の流れ=1セッションでログインし、希望のコマンドを実行し、ログアウトする ①ログイン tabcmd.exe login –s サーバURL + ログインに必要な情報を付与( ユーザ名、パスワード等)

    ※サイトが分かれていれば、サイトIDを指定する ②希望のコマンド実行(例) tabcmd.exe list datasources データソースの一覧の取得 tabcmd.exe createproject ––name 夢見る会 プロジェクト「夢見る会」を作成 tabcmd publish C:¥jtug¥注文.hyper ––project 夢見る会 夢見る会プロジェクトに注文.hyperをpublish ③ログアウト tabcmd.exe logout 01 tabcmdって何です!? おすすめは、DEBUGオプション コマンドを実行すると失敗時に便利です。 実際はエラー時の処理も必要です!
  4. 02 えっつ、Tableau Serverと Tableau Cloudで違うの!? せっかくなので、 MFAを前提として TABLEAU CLOUD環境 →

    DEVELOPER サイトでやってみよう ※実運用では、管理者に許可を頂かないと 対応出来ないかもしれません。
  5. 事前作成したバッチ実行 用のユーザをセットする 個人用アクセストーク ン PATを有効にする 02 えっつ、Tableau Serverと Tableau Cloudで違うの!?

    今回の動作確認環境では、 特定のユーザ、グループのみの 埋め込みのMFA認証を許可します。 最大1年しかセットでき ません。運用でカバーし てください。
  6. C:¥tabcmd¥python-3.12.1-embed-amd64¥ >.¥python .¥get-pip.py Collecting pip Downloading pip-23.1.2-py3-none-any.whl (2.1 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

    2.1/2.1 MB 3.1 MB/s eta 0:00:00 Collecting setuptools Downloading setuptools-68.0.0-py3-none-any.whl (804 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 804.0/804.0 kB 5.7 MB/s eta 0:00:00 Collecting wheel Downloading wheel-0.40.0-py3-none-any.whl (64 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 64.5/64.5 kB 3.6 MB/s eta 0:00:00 Installing collected packages: wheel, setuptools, pip WARNING: The script wheel.exe is installed in 'C:¥python¥Scripts' which is not on PATH. Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location. WARNING: The scripts pip.exe, pip3.11.exe and pip3.exe are installed in 'C:¥python¥Scripts' which is not on PATH. Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location. Successfully installed pip-23.1.2 setuptools-68.0.0 wheel-0.40.0 ….. 02 えっつ、Tableau Serverと Tableau Cloudで違うの!? ダウンロードしたget-pip.py を使って、 ライブラリをインストールする pipコマンドを取得します。 ※実際利用するときは、Proxy設定の考慮が必要となることがあります。
  7. tabcmd (tableau.github.io) https://tableau.github.io/tabcmd/docs/ C:¥tabcmd¥python-3.12.1-embed-amd64¥>.¥python -m pip install tabcmd Collecting tabcmd

    Obtaining dependency information for tabcmd from https://files.pythonhosted.org/packages/eb/39/3334d4ebaf5fa652563184ff8395ebb95f9343745714e5bb372932ac2d2b/tabcmd- 2.0.12-py3-none-any.whl.metadata Downloading tabcmd-2.0.12-py3-none-any.whl.metadata (7.7 kB) Collecting argparse (from tabcmd) Downloading argparse-1.4.0-py2.py3-none-any.whl (23 kB) Collecting appdirs (from tabcmd) Downloading appdirs-1.4.4-py2.py3-none-any.whl (9.6 kB) Collecting doit (from tabcmd) Downloading doit-0.36.0-py3-none-any.whl (85 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 85.9/85.9 kB 4.7 MB/s eta 0:00:00 Collecting ftfy (from tabcmd) 02 えっつ、Tableau Serverと Tableau Cloudで違うの!?
  8. 先ほど取得した 情報を使って 認証情報 Private Access Token (PAT)を作成します。 今回の例では、Windowsのbatファイルで実装したいので、 環境変数として変数セットして処理を扱いやすく、可読化しやすくします。 set

    TOKEN_VALUE=jwIvl5bETzyFIGGw--------------------------------Jf30KnwG87sGLr25i1sE set TOKEN_NAME=tabcmd_batch set TABSVR=https://10ax.online.tableau.com/ set SITE=jtugdream 02 えっつ、Tableau Serverと Tableau Cloudで違うの!? 準備が出来たので、コマンドのリスト、スクリプトを作成
  9. tabcmd.exe login -s %TABSVR% -t %SITE% --token-name %TOKEN_NAME% --token-value %TOKEN_VALUE%

    -l DEBUG 02 えっつ、Tableau Serverと Tableau Cloudで違うの!? Tableau Cloudにログインします! 変数を使ているのですっきり。