
ThoughtSpot CS Toolsのarchiverについてご紹介します
ThoughtSpot CS Toolsの概要のご紹介のページはこちらとなります。
ThoughtSpotのCS Toolsは以下の機能があります。今回はこのうち「archiver」についてご説明します。
- archiver ・・・ プラットフォーム内の古い回答とライブボードを管理する
 - bulk-deleter ・・・ プラットフォームからメタデータオブジェクトを一括削除する
 - bulk-sharing ・・・ ブラウザ内でテーブルおよび列レベルのセキュリティをスケーラブルに管理する
 - extractor ・・・ ワークシート、ビュー、またはテーブルからデータを抽出する
 - git ・・・ 開発者にとって使いやすい方法でvsc/git APIエンドポイントを使用する
 - scriptability ・・・ ThoughtSpot環境間でTMLをメンテナンスする
 - searchable ・・・ ThoughtSpotでThoughtSpotメタデータを探索する
 - usermanagement ・・・ ユーザーを一括管理する(現在ユーザー削除と所有オブジェクトの移転のみが行えます)
 
CS Tools「archiver」とは?
archiverは使われていない古いコンテンツ(検索結果もしくはライブボード)を削除する機能です。
ThoughtSpotを使っていると、どうしても古いコンテンツが蓄積されていってしまいます。ThoughtSpotは基本的に共有するまで他人には見えないようになっていますが、それでも自分のコンテンツと混ざってしまうと視認性が落ちてくるため、使われていない不要なコンテンツを削除するのは理にかなっています。
本機能を使って、古い使われていない検索結果やライブボードを特定し、削除してすっきりしましょう!
全体(機能問わず)で共通のオプション
以下は、各機能共通のオプションになります(すべての機能で有効になるわけではないのでご注意ください)。
--dry-run:コマンドが実行されますが、ThoughtSpot側では何も変更が行われません。要するに練習用のオプションです。機能によってこのオプションがある場合とない場合があるのでご注意ください。このオプションがない場合でも、途中で「実行しますか?Yes/No」というようなメッセージが出て、途中で実行せずに終了できる機能もあるので、有効活用してください。
--no-prompt:コマンド実行時に、ThoughtSpot側に影響がある場合、本当に実行するかどうかを聞かれる機能がありますが、このオプションを有効化すると問い合わせなく直ちに実行されます。このオプションを使う際はご注意ください(スケジュール実行するような場合はこのオプションを使うこともあるかと思います)。
--config:コマンドの対象となるThoughtSpotのクラスタの接続先の設定ファイルを指定します。ほぼすべてのコマンドで必須です。
--temp-dir:一時ファイルが作成されるフォルダを指定します
--verbose:「cs_tools logs report」で出力することのできるログファイルについて、このオプションを設定するとより詳しいログを得ることが可能になります。
archiverについて
archiverは、削除するまでにいくつかステップを踏むことができるようになっています。
つまり、identifyで条件に当てはまるオブジェクトにタグ付けを行い、removeで実際に削除します。また、指定のタグに対してuntagを行えば、タグを削除することが可能です(が、残念ながら現在バグのせいでできません)。
- identify ・・・ 長期間アクセスのないオブジェクトを特定します。様々なフィルタリングオプションを利用可能です
 - untag ・・・ 指定タグのみ削除する機能です(が、バグがあるようで、現在動作しません)
 - remove ・・・指定タグがついたオブジェクトを削除します。TMLのエクスポートも可能です。
 
identifyオプション
identifyは、長期間アクセスのないオブジェクトを特定し、タグ付けを行う機能です。
タグ、コンテンツ種類、期間、グループなどを指定して検索します。以下のオプションを組み合わせてご利用下さい。
--tag:条件に当てはまったものに付与するタグの名称を決定します。デフォルトでは「INACTIVE」です。
--content:対象となるコンテンツを指定します。ANSWER、LIVEBOARD、ALLから選択可能ですが、デフォルトでは「ALL」です。
--recent-activity:指定期間アクティビティがないコンテンツを抽出対象とします。
--recent-modified:指定期間変更がないコンテンツを抽出対象とします。
--only groups:指定グループのみに絞り込みます。コンマ区切りで複数指定可能です。
--ignore-groups:条件外にするグループを指定します。コンマ区切りで複数指定可能です。
--ignore-tags:条件外にするタグを指定します。コンマ区切りで複数指定可能です。
--syncer:Syncerを使えば、対象となるオブジェクトのリストを取得できます。dry-runオプションと組み合わせてまずはリストで確認するのをおすすめします。
その他、以下の共有オプションが利用可能です。
--dry-run、--no-prompt、--config(必須)、--temp-dir、--verbose
例(アクティビティと変更が90日間ないものを対象とする、Dry-Run):
cs_tools tools archiver identify --dry-run --recent-activity 90 --recent-modified 90 --syncer "csv://directory=.&delimiter=," --config mysetting
--recent-activity、--recent-modifiedオプションはOR条件のようで、どちらか一方に当てはまればタグ付け対象となります。

Syncerオプションを追加しているので、INACTIVE候補となる検索結果・ライブボードのリストも一緒に取得できています。
実際に実行してタグ付けしたい場合は、--dry-runを削除し、プロンプトでYを入力してください。そうすると「INACTIVE」というタブが対象のオブジェクトに付与されます。
untagオプション
identifyで付与されたタグを削除するためのオプションです。が、現在どうやら本機能は機能していないようです。
GitHubのディスカッションページ: https://github.com/thoughtspot/cs_tools/discussions/253
--tag:指定したタグを削除します。デフォルトでは「INACTIVE」です。
その他、以下の共有オプションが利用可能です。
--config(必須)、--temp-dir、--verbose
例(INACTIVEというタグがついたオブジェクトのタグを削除する):
cs_tools tools archiver untag --tag INACTIVE --config mysetting
上のコマンドを打ち込むと、以下のようになり、一見タグが削除されたように見えますが、実際は削除されていませんでした・・・。

タグの削除は普通にUIで削除するほうが早いので、そちらでやってしまいましょう。
removeオプション
実際に対象タグのついた検索結果やライブボードを削除します。このオプションではidentify同様Dry-Runすることもできます。また、--directoryオプションを入れておけば、TMLとしてExportも行ってくれます。
--tag:削除対象のタグを指定します。デフォルトでは「INACTIVE」です。
--directory:TMLをエクスポートする先の保存先フォルダを指定します。
--export-only:TMLをエクスポートするのみで、削除は行わないオプションです。
--syncer:Syncerを使えば、対象となるオブジェクトのリストを取得できます。
その他、以下の共有オプションが利用可能です。
--dry-run、--no-prompt、--config(必須)、--temp-dir、--verbose
例(INACTIVEタグのついたものを削除する。Dry-Run):
cs_tools tools archiver remove --tag INACTIVE --dry-run --syncer "csv://directory=.&delimiter=," --directory c:\\temp --config mysetting
Dry-Runの場合、実際には実行されません。

上のスクリーンショットの通り、Dry-Runの場合はPrompt確認以降は飛ばされています。
例(Dry-Runではない場合):
以下のコマンドであればDry-Runではなく、INACTIVEタグのついたオブジェクトのTMLを出力し、INACTIVEタグのついたオブジェクトを削除します。本来の用途で、指定タグを削除しつつ、バックアップ用にTMLを取る、という形になります。
cs_tools tools archiver remove --tag INACTIVE --syncer "csv://directory=.&delimiter=," --directory c:\\temp --config mysetting
実際にDry-Runではない場合、Promptが出たところで「Y」を入力すると、以下のような画面となって削除が行われます。

TMLとしてバックアップを取っているため何かあっても安心です。
※2025/10/30時点の情報です
運営会社
                        
                        
                        
                        
