TreasureDataからGoogleSpreadsheetに書き込む


はじめに

TreasureDataで実行したクエリの結果をGoogleSpreadsheetに吐き出そうとした時にちょいハマりしたのでメモ
起こったことありのままを書くぜ
新コンソールでの手順を記します

手順

Googleアカウントを紐付けない状態でSpreadsheetに出力するjobを実行する

  • Googleアカウント紐付けないでSpreadsheetに出力しようとしたらGoogleアカウント紐付けてねっぽい感じで怒られます(よく読んだら違ったけれど)

紐付けます

Googleアカウントを紐付ける

  1. 左メニューからTeamを選択
  2. 自分のアカウントを選択
  3. 右上に[CONVERT TO GOOGLE SSO]というボタンがあるのでクリック
  4. メールアドレスログインしていた人はこれからGoogle認証ログインしか使えなくなるよ!っていうアラートがでるのでそのまま[CONTINUE]
  5. よく見るGoogleアカウントの認証画面に遷移するので紐付けたいGoogleアカウントを選択する
  6. メールがくるのでメール内のリンクをクリック
  7. おわり\(^o^)/

ここでハマった点

  • 紐付けようとしたらplease chose a different emailって怒られる TDに登録しているメールアドレスを紐付けたいGoogleアカウトのgmailアドレスにしておかないとメールアドレス違うから別のアドレスで出直してきてよね怒られます

    自分のアカウントページのEmail+Passwordタブから紐付けたいGoogleアカウントのgmailアドレスに変更します

Spreadsheetに出力したいデータのクエリを書く

左メニューのQueries(+)からいつも通り書く

Output resultsから出力先を選択する

クエリを書くテキストボックスの左上にOutput resultsと書いてあるところがあるからクリック

coneectionを登録

以下を設定して[SAVE AND CONTINUE]をクリック

Type: Google Spreadsheet
Name: 適当なわかりやすい名前
Email: 自分のアカウントに紐付いているGmailアドレス

Configurationを設定する

Spreadsheet Name: 出力先のSpreadsheetの名前
Key: Spreadsheetのhashだけど、記入しなくてもOK 
Worksheet Namr: 出力先のSheetの名前
Mode: replace(default) or append

Modeについて

  • replace
    • 出力する時に新規でSheetを作成して既存のものとswapするっぽいです
  • append
    • 既存のSheetに追記する(詳しい挙動みてないです、すみません)

ちなみにどっちのModeでもSpreadsheetやsheetが存在しなかったら勝手に作ってくれます

実行!

[RUN]ボタンをクリック

ここでハマった点

  • どう頑張っても↓エラーが出て出力できない
 You must connect your Treasure Data user account to the Google Spreadsheet Account's email address indicated in the Result Export definition.

結果から書くと

  • 左メニューのConnectionsから[Google Spreadsheet]を選びます

メールアドレスを入力するテキストボックスの下の文字を読みます

You must authorize this account via your profile page in the "old" Console

・・・

the "old" Console
  • おっしゃられいる通り旧コンソールから認証します
    • 旧コンソールは左メニューの1番下のアイコンをクリックすると「Return to old version」って出てくるのでそこから戻せます。

旧コンソールのアカウトページに「Google Accounts」というところがあるので
[Add Account]

追加したらヘッダーに【TRY NEW VERSION】ってあるので戻ります
(あくまで新コンソールでやる)

もう一度クエリ書くあたりから同じ作業を行います

・・・

できました・・ふう(疲)

まとめ

やること

  • TDアカウントにGoogleアカウントを紐付ける
  • 旧コンソールからもGoogleアカウントを紐付ける(もしかしたらこちらだけやればいいかも)
  • コネクションを登録する
    • Connectionsから登録する必要はなかったです
    • QueriesのOutput resultsから新しいコネクションを追加できます
  • Output resultの設定を行う
  • RUN!!

おしまい

おわりに

新コンソール使ってみてよ!ってぐいぐい推してるわりに旧コンソールでしかできないことがあるって・・・
あと、旧コンソールでGoogleアカウト追加してってもっと頻繁に教えて欲しい
実はエラーで

Please see if you need more details. https://docs.treasuredata.com/articles/result-into-google-spreadsheet

っていうのも一緒にでて、このURLにアクセスしたらたしかに旧コンソールだった。
だったけどさ、Document更新してないだけのあれだと思ったんだよ私は、ごめんなさい。