Slide 1

Slide 1 text

tabcmdって。。 便利なんです.. ふじたく

Slide 2

Slide 2 text

目次 tabcmdって 何です!?便利やん。 01 えっつ、 Tableau Serverと Tableau Cloudで 違うの。。。 02 どうするtabcmd。。。 03 本資料は個人的に見解であり、会社を代表するものではありません。 ぜひ使ってみて感想を共有頂けると幸いです! 手元にWindows環境しかなく動作はMac版もおおむね同じかと思われます。

Slide 3

Slide 3 text

01 tabcmdって何です!? Tableau 管理者(やユーザ)の 夢と希望を与えるツールです!

Slide 4

Slide 4 text

01 tabcmdって何です!? ただ時代の流れ、いやセキュリティ対策に耐えられなくなって、 ちょっとハードルが、、高くなってきました。 現状、MFA認証環境の対応の有無まで違う Java ベース 1.0 系と Pythonベースの 2.0 系が存在します。

Slide 5

Slide 5 text

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/ ざっくりまとめると

Slide 6

Slide 6 text

01 tabcmdって何です!? お互いでコマンド的な差 異は少なくなった Ver 1.0系 Ver 2.0系

Slide 7

Slide 7 text

基本操作 一連の流れ=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オプション コマンドを実行すると失敗時に便利です。 実際はエラー時の処理も必要です!

Slide 8

Slide 8 text

01 tabcmdって何です!? tabcmdにて自動化 cliコマンドにて prepでhyperを生成 一連の流れを使って 運用はバッチ化する 大きなhyperファイルなどPrepやServer側の リソースで作りにくいものがおすすめ

Slide 9

Slide 9 text

02 えっつ、Tableau Serverと Tableau Cloudで違うの!? えっつ、 MFA(多要素認証)が導入されて Tableau Serverと Tableau Cloudで 違うの。。。

Slide 10

Slide 10 text

02 えっつ、Tableau Serverと Tableau Cloudで違うの!? せっかくなので、 MFAを前提として TABLEAU CLOUD環境 → DEVELOPER サイトでやってみよう ※実運用では、管理者に許可を頂かないと 対応出来ないかもしれません。

Slide 11

Slide 11 text

02 えっつ、Tableau Serverと Tableau Cloudで違うの!? Tableau Cloud のテストサイトを立ち上げ設定をします。 初期セットアップ時は、MFAの認証が発生し、とても不便です。。

Slide 12

Slide 12 text

Tableau Cloudの 「認証」設定を確認 この辺りは、会社によって 既存の認証基盤との連携もありますので、評価 の際には十分なテストを実施の上対応してくだ さい。 02 えっつ、Tableau Serverと Tableau Cloudで違うの!? Tableau Cloud のテストサイトを立ち上げ設定をします。

Slide 13

Slide 13 text

事前にバッチ実行用のユーザを作成 02 えっつ、Tableau Serverと Tableau Cloudで違うの!? 今回の動作確認環境では、 特定のユーザ、グループのみの 埋め込みのMFA認証を許可します。

Slide 14

Slide 14 text

事前作成したバッチ実行 用のユーザをセットする 個人用アクセストーク ン PATを有効にする 02 えっつ、Tableau Serverと Tableau Cloudで違うの!? 今回の動作確認環境では、 特定のユーザ、グループのみの 埋め込みのMFA認証を許可します。 最大1年しかセットでき ません。運用でカバーし てください。

Slide 15

Slide 15 text

仮なので トークンは使えませんよ 02 えっつ、Tableau Serverと Tableau Cloudで違うの!? 分かりやすいように トークン名を作ります。 厳重保管しておきます!

Slide 16

Slide 16 text

TABCMDは、PYTHONが必要だった。 02 えっつ、Tableau Serverと Tableau Cloudで違うの!? 超軽量、超高速な配布用Python「embeddable python」 #Python – Qiita を参考にします。

Slide 17

Slide 17 text

Python Releases for Windows | Python.org https://www.python.org/downloads/windows/ おすすめ Windows embeddable package 02 えっつ、Tableau Serverと Tableau Cloudで違うの!?

Slide 18

Slide 18 text

02 えっつ、Tableau Serverと Tableau Cloudで違うの!? ダウンロードして展開したファイル 「python312_pth」 の import site コメントを外します。

Slide 19

Slide 19 text

https://bootstrap.pypa.io/get-pip.py を ダウンロードして展開した 直下に入れます。 02 えっつ、Tableau Serverと Tableau Cloudで違うの!?

Slide 20

Slide 20 text

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設定の考慮が必要となることがあります。

Slide 21

Slide 21 text

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で違うの!?

Slide 22

Slide 22 text

異なるバージョンが必要な場合は、 Releases · tableau/tabcmd (github.com) にアクセスし取得します。 https://github.com/tableau/tabcmd/releases 02 えっつ、Tableau Serverと Tableau Cloudで違うの!? Assetsから 各OS環境の tabcmd を探します。

Slide 23

Slide 23 text

02 えっつ、Tableau Serverと Tableau Cloudで違うの!? ちなみに Windows版は v2.0.11 までしか現在のところ提供がありません pythonを展開したところ(パスが通る)に ダウンロードし動作確認します!

Slide 24

Slide 24 text

先ほど取得した 情報を使って 認証情報 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で違うの!? 準備が出来たので、コマンドのリスト、スクリプトを作成

Slide 25

Slide 25 text

tabcmd.exe login -s %TABSVR% -t %SITE% --token-name %TOKEN_NAME% --token-value %TOKEN_VALUE% -l DEBUG 02 えっつ、Tableau Serverと Tableau Cloudで違うの!? Tableau Cloudにログインします! 変数を使ているのですっきり。

Slide 26

Slide 26 text

tabcmd.exe list datasources 02 えっつ、Tableau Serverと Tableau Cloudで違うの!? データソースの一覧を取得

Slide 27

Slide 27 text

tabcmd.exe list projects 02 えっつ、Tableau Serverと Tableau Cloudで違うの!? プロジェクトの一覧を取得 PATをベースに作成すれば、許可した期間は自動実行できるスクリプトが作成できます。

Slide 28

Slide 28 text

どうするtabcmd。。。 tabcmd のこれから

Slide 29

Slide 29 text

どうするtabcmd。。。 Tableau Cloudが前提となる中、tabcmdは 今後は Python も必要となるかもしれない(私見)。。 今のうちに GPTを使って勉強しましょう。。

Slide 30

Slide 30 text

どうするtabcmd。。。 ありがとうございました。