やりたいこと
http://qiita.com/pilot/items/e763a67675e264ed0347 で作成したDigdagサーバに
http://qiita.com/pilot/items/ff49174adbbfd0a3c9e4#digdag%E3%81%AEtd%E3%82%B5%E3%83%BC%E3%83%90%E3%83%A2%E3%83%BC%E3%83%89 でプロジェクトをpushしたがAPIキー・エンドポイントの設定ができず実行できなかった
当該プロジェクトにTreasureData接続情報(APIキー・エンドポイント)を設定して実行できるようにしたい
結論
digdag secretsで設定する
APIキー設定
digdag secretsコマンドでサーバに設定する
以下のいずれかの方法で
方法1 - APIキー文字列をコマンドラインにべた書き
$ digdag secrets --project proj1 --set td.apikey=XXX
2016-10-26 12:43:59 +0900: Digdag v0.8.17
Secret 'td.apikey' set
ヒストリにAPIキー文字列が残る
方法2 - APIキー文字列をファイルに書く
$ vi tmpfile # APIキー文字列を書く
$ digdag secrets --project proj1 --set td.apikey=@tmpfile
2016-10-26 12:44:29 +0900: Digdag v0.8.17
Secret 'td.apikey' set
$ rm tmpfile
方法3 - td.confから抜き出し
$ digdag secrets --project proj1 --set td.apikey=`grep apikey ~/.td/td.conf | sed 's/.*= *\(.*\)/\1/'`
2016-10-26 12:45:45 +0900: Digdag v0.8.17
Secret 'td.apikey' set
digdag secretsに「td.confからAPIキーを取得」機能があると嬉しい
エンドポイント設定
前述のAPIキー設定方法のいずれかで
apikeyでなくendpoint
https://
はつけない
td.confでは付いてるのでどちらかに統一してあると嬉しい
方法3だと以下
$ digdag secrets --project proj1 --set td.endpoint=`grep endpoint ~/.td/td.conf | sed 's#.*= *https://\(.*\)#\1#'`
2016-11-02 18:51:41 +0900: Digdag v0.8.18
Secret 'td.endpoint' set
実行
$ digdag start proj1 xxx --session now
2016-10-26 12:46:05 +0900: Digdag v0.8.17
Started a session attempt:
session id: 94
attempt id: 93
uuid: 09141eca-f97c-4424-957e-cc76a732c58a
project: proj1
workflow: xxx
session time: 2016-10-26 03:46:07 +0000
retry attempt name:
params: {}
created at: 2016-10-26 12:46:08 +0900
* Use `digdag session 94` to show session status.
* Use `digdag task 93` and `digdag log 93` to show task status and logs.
~ 何度かdigdag session 94を実行して終わるのを待つ ~
$ digdag log 93
2016-10-26 12:47:11 +0900: Digdag v0.8.17
2016-10-26 12:46:08.989 +0900 [INFO] (0288@+xxx+task1) io.digdag.core.agent.OperatorManager: td>: xxx.sql
2016-10-26 12:46:09.969 +0900 [INFO] (0288@+xxx+task1) io.digdag.core.agent.OperatorManager: td>: xxx.sql
2016-10-26 12:46:11.280 +0900 [INFO] (0288@+xxx+task1) io.digdag.standards.operator.td.TdOperatorFactory$TdOperator: Started presto job id=8044900:
SELECT COUNT(*) AS count FROM xxx
2016-10-26 12:46:13.391 +0900 [INFO] (0288@+xxx+task1) io.digdag.core.agent.OperatorManager: td>: xxx.sql
2016-10-26 12:46:15.227 +0900 [INFO] (0288@+xxx+task2) io.digdag.core.agent.OperatorManager: echo>: 42