Digdagでpython / ruby operator から Secret parameterを参照する

Digdagではsecretsパラメータを使って認証情報をdigファイル内に記載しないようにすることができる。 例えばローカルで動かすときには、 $ digdag secrets --local --set s3.access_key=xxxx で実現できる。ちなみにローカルの場合には、~/.config/digdag/secrets/s3.access_keyに保持される。 一方でこの情報をpythonやrubyから呼び出したいときには、直接参照するメソッドは現状なさそう。 ちなみにdigdag内の変数を参照する場合は、下記のサンプルがある。 https://github.com/treasure-data/digdag/blob/master/examples/python_args.dig # test.dig timezone: "Asia/Tokyo" +a: py>: python_args.required_arguments required1: "1" required2: 2 # python_args.py from __future__ import print_function import digdag def required_arguments(required1, required2): print("required1 = " \+ str(required1)) print("required2 = " \+ str(required2)) 上記を実行すると下記のようになる。 $ digdag run test.dig --rerun 2017-06-09 12:00:52 +0900: Digdag v0.9.12 2017-06-09 12:00:54 +0900 [WARN] (main): Reusing the last session time 2017-06-09T00:00:00+09:00. 2017-06-09 12:00:54 +0900 [INFO] (main): Using session /Users/takahashi/Downloads/testProject/. »

Author image Toru Takahashi

Profile

Name: Toru Takahashi History: - 2015-11 ~ Now, Support Engineering Manager in Treasure Data, K.K. - 2015-05 ~ Technical Support Engineer in Treasure Data, K.K. - 2013-04 ~ 2015-04 Software Engineer in SIOS Technology, Inc. - 2011 ~ 2013 Nara Institute of Science and Technology University Twitter: @nora96o Linkdin: https://jp.linkedin.com/pub/toru-takahashi/93/546/62b Github: https://github.com/toru-takahashi Publications: これなら使える!ビッグデータ分析基盤のエコシステム- Software Design 2017年3月号 マーケティング&サービス向上に役立つ ログ&データ分析基盤入門 Qiita: https://qiita.com/users/toru-takahashi Slideshare: http://www.slideshare.net/torutakahashi100/presentations »

Author image Toru Takahashi

Slackbotと絵文字を使ってSlackのサポートを記録できるようにする

サポートでは、Zendesk / Zendesk Chatを使ってConsole上からチャットなどができたり、チケットを起票することができるようになっている。 その一方で、Sales / Sales Engineer側では、onboardingの一環として顧客との間でSlackのチャンネルを作り、そこで細かい会話をしたり、サポートをしている。 セールス側ではやはり新規顧客の獲得も重要であり、基本的にはSales Engineerも営業同行をするため、同行中Slackのチャンネルの技術的な問い合わせに対応ができなくなってしまう。 そのため、サポートがSEを支援という形で同じくSlackチャンネルに入り、フォローしている。 この状況での課題が、Zendesk / Zendesk Chatでのサポートの活動状況や問い合わせ傾向の把握をするために種々取り組みを行なっているのだが、 Slack上で質問に答えるとそれができなくなってしまう、という点がある。 しかし、SlackだとKPIが取れないので、別途Consoleのチャットでお願いします、というのもなんだか嫌である。 かといって、Slackの内容を毎回毎回Zendeskのチケットとして書くのも面倒である。 とりあえずどのくらいSlack上の問い合わせが来ているかを知るために、質問をもらったら:support:という絵文字をつけてわかるようにし、 1日1回Slackの情報をTreasureData上にアップロードして、集計できるようにしている。 しかしながらやはり下記の二つの課題の解決をしたい。 チャンネルの参加していないサポートはサポートが難しい サポートがサポートをしてもKPIを取りにくい Zendesk Chatを使って、Slack上のBotに話しかけられると、SlackとZendesk Chat間で会話できるようにすれば、上記二つが解決できると思ったのだけれども、Zendesk ChatにリアルタイムチャットをするためのAPIが微妙に提供されていない。 実現しようと思うと、Web SDKhttps://api.zopim.com/web-sdk/#introduction)でブラウザ上のチャットのカスタマイズは可能なので、これを用いてBotに話しかけると、サーバ側のバックグラウンドでブラウザを立ち上げて擬似的に会話をさせる必要がありそう。 なので、とりあえず後者のKPIを取りやすくできるように自動でZendeskのチケット化する仕組みを考える。 会話をさせる必要がありそう。 なので、とりあえず後者のKPIを取りやすくできるように自動でZendeskのチケット化する仕組みを考える。 »

Author image Toru Takahashi

Treasure Workflow for ビギナー 環境構築編

Treasure Workflowでなにができるか? TreasureDataには、Treasure Workflowという機能があります。 これで何が実現できるか、というと データのインポートを実施したあとに、SQL Aを実行させて、その後にSQL Bを実行させる。という一連の流れをスケジュール化させることや、 SQL A が完了したら SQL BとSQL Cは並列に実行させて、その後SQL Dを実行し、その結果をAWS S3の実行日の日付をパス名にして出力する などができます。 つまり従来、TreasureDataではできなかった、処理の一連の依存関係を記述し、なおかつそれをスケジューリングすることができるようになります。 これは便利ですね。 補足: Treasure Workflowはサービス名となっており、内部的に使われているソフトウェアとしてOSSで公開されているdigdagがあります。 Treasure Workflowで検索してヒットしなくても、Digdagと検索して調べたら、だいたい同じ方法で同じことが実現できます。 Treasure Workflowの利用方法は? さてこの便利なTreasure Workflowはどのように利用できるでしょうか? Treasure Workflowでは、.digという拡張子ファイルを持ったファイルに下記のような設定を書くことで処理の流れを表現することができます。 timezone: Asia/Tokyo schedule: daily>: 02:00:00 _export: td: database: support +task1: td_run>: query_a +task2: td_run>: query_b この例では、Treasure Data上に保存したSaved Queryのquery_aを2時AMに実行し、それが完了した時にquery_bを実行するというワークフローになっています。 そしてこのワークフローを設定したファイル(XXX.dig)を実行する方法として二つあります。 1 - 手元にある設定ファイルを自分のパソコン上で実行をさせる。 2 - TreasureData上に設定ファイルをアップロードし、TreasureData上で手動やスケジュール実行をさせる。 これらを行うためには、ToolbeltとWorkflow Consoleを利用する必要があります。 (Workflow Consoleだけでもいずれ完結できるようになるかもしれませんが、現状は併用するのが望ましいです。) またWindowsデフォルトのテキストエディタの場合には、意図しない文字や文字コードの設定などが適切でない場合があるため別途エディタのインストールもした方が良いでしょう。 ここではそれぞれの設定方法について紹介します。 Toolbeltのインストール 下記よりWindows版のToobeltをダウンロードします。 http://toolbelt.treasuredata.com/ インストール後、 td account -f を入力し、toolbeltにて認証の設定を行います。 »

Author image Toru Takahashi