Tableau関連API
自分用メモ
(自分はJavaScriptを常用していないため、JavaScriptを使用する前提の他のAPIは使っていない)
1. REST API・・・実際の実装にあたっては、このREST APIのラッパーであるPythonのTSC(Tableau Server Client)を使用する方が使い易い(但し全てのメソッドが同様に使えるわけではない?)
APIリファレンス :
下記のような操作をAPI越しに実現できる。
- ユーザー管理
- ユーザーの作成、照会、更新
- コンテンツとパーミッションの管理
- ワークブックのパブリッシュ、照会、変更
- データソースのパブリッシュ、照会、変更
- サーバーの構成
- サイト、プロジェクト、グループ、パーミッション、スケジュール、サブスクリプション、タグ API
その他参考URL:
Tableau Onlineに対してpython clientで抽出の更新を行う | 株式会社AI Shift
Tableau Server Client(Python)でできる3000人規模のサーバーレス運用管理
tableau refreshextract で元データが更新されたらPublish | Tableau-id Press -タブロイド-
Tableau Prep Builder 使い方(9) 〜Pythonによる処理と実行
『サーバーで Tableau Prep Conductor を有効にせずにフローの実行をスケジュールしている場合は、コマンド ラインから増分更新を使用してフローを実行できます。』?
2. メタデータAPI・・・GraphQL使用。Tableau Server または Tableau Cloud にパブリッシュされたコンテンツからプログラムによってメタデータに対するクエリを実行することができる。
TC20 Metadata API
実装例(Pythonのrequestsモジュール前提)
GraphiQLを使ってオンデマンドでインタラクティブなクエリーを実行するも、実際にはGraphQLに動的なパラメーターを渡して実行させ、そのレスポンスのJSONを整形するなりしてCSVファイルに出力したいというようなケースが多そう。
下はそのための参考URL:
Tableau Server / Prep Conductor関連設定済み項目
自分用メモ
1. Tableau Server(Windows Server)から社内ネットワークフォルダへのアクセス(ファイル入出力)が可能なようにする
参考URL:
tsmコマンドの例:
入力接続の場合:
任意のフォルダからの入力が可能なようにする。但し、Tableau Serverを稼働させているWindowsID(システムID)からアクセス可能なフォルダに限る
% tsm configuration set -k maestro.input.allowed_paths -v "*"
出力接続の場合:
個別のネットワークフォルダをUNC表記にて、且つ複数ある場合にはセミコロンで区切り引数として指定
% tsm configuration set -k maestro.output.allowed_paths -v
\
\
server1
\SharedFolder; \\server2\SharedFolder1
現在の設定状況の確認用コマンド
入力接続
% tsm configuration get -k maestro.input.allowed_paths
出力接続
% tsm configuration get -k maestro.output.allowed_paths
2. Server上のPrepフロー実行後に出力データソースが更新された後、即座にVizに反映させるためのコマンド/オプション
この設定をしてないと、Viz上でいちいち更新ボタンを押下しないと、たとえPrep ConductorでPrepフローが実行されていてもVizのデータが古い状態となってしまう。
参考URL :
https://help.tableau.com/current/server/ja-jp/tsm.htm
Default値の”バランス”→"より頻繁"に更新
% tsm data-access caching set -r always
設定適用後の確認コマンド
% tsm data-access caching list
(適用前) "更新の頻度:低"
(適用後) "更新の頻度:0"
3. Server上に登録済みのActive Directory上の組織グループ/メールエイリアスの構成メンバー情報を最新化するためのコマンド/オプション
参考URL :
https://help.tableau.com/current/server/ja-jp/tabcmd_cmd.htm#ide6a39f29-77ff-44f6-b946-c2b56b31a2f9
% tabcmd syncgroup グループ名
このコマンドをPowershellでループさせて実行させるよう、WindowsServerのタスクスケジューラーに登録してある。
4.Tabkeau ServerリポジトリのPostgreSQLのreadonlyユーザーのパスワードの確認方法
% tsm configuration get -k pgsql.readonly_password
Facebookの仮想通貨Libra チュートリアルやってみた 〜 "太郎と花子との送金"
話題になっているFacebookの仮想通貨Libraの送金チュートリアルをただやってみた。
飽きっぽいので取り敢えずお手軽にDockerで出来ないか調べてみたら、やはり先人がいらっしゃった☺️
なので、ビルドプロセスはそこそこ掛かったものの(MacBook Pro 13-inch 2017 CPU:2.5 GHz Intel Core i7,RAM:16GB で凡そ30分)、その後そのまま実行してあっさりチュートリアルのまま出来た。(但し日本人らしく、Alice⇨花子とBob⇨太郎 だとイメージしながら...)
そして一通りやってみた後はイメージ削除。
きっとこれからLibraについての勉強会とかあちこちで始まるんでしょうね。
先人の知恵を拝借してRaspberry Pi からSlack投稿できる監視カメラを作ってみた
用意したもの:
- Raspberry Pi Zero W
- Piカメラ Official PiNoir V2(赤外線カメラ)
- Piケース ModMyPi Camera Box Bundle for Zero
Pi Zeroは比較的非力なためか、プロセスは落ちないものの、連続撮影された画像ファイルがSlackに投稿されると"too_many_pins"というエラーというか警告メッセージが出てしまう。(ちなみにPi 3で別途試したところこのようなエラーは出なかった。Zeroでも、もしかしたらXを起動せずCLIモードにしてしまえばよいのかもしれない)
ハマった点
最初、motion(カメラに映った被写体の動きを検出できるというソフト)で/dev/video0が無いっていうエラーが出てしまいカメラが認識されず撮影できなかった。
参照URL:
そのため、おまじないコマンド(デバイスドライバをロードするためらしい)
sudo modprobe bcm2835-v4l2
とすれば取り敢えず解消はするが、OS起動のたびに毎回コマンドを打つのは面倒なため、/etc/modulesに下の1行:
bcm2835-v4l2
を追加する或いは、 /etc/rc.localに下の1行:
sudo modprobe bcm2835-v4l2
を追加すればよい。
参考URL