[小ネタ][Ruby]td-clientを使用してTreasureDataからTableauServerのバージョンを指定してパブリッシュする

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

はじめに

TreasureDataには、Queryを実行し、結果をTableauServerにパブリッシュする機能が備わっております。この機能はTreasureDataの画面より使用することもできますが、td-clientを使用してRubyから実行することも可能です。画面からは以下のようにTableauServerのバージョンを指定できるのですが、Rubyからも指定出来るのかを検証してみました。 TreasureDataTableauVersion

サンプルソース

結論からすると、td-clientを使用してTableauServerのバージョンを指定することができました。以下のようなソースとなります。

require 'td-client'

TD_API_KEY = 'your api key'

cln = TreasureData::Client.new(TD_API_KEY, {ssl: true})
job = cln.query('sample_db', 
                'SELECT zipcode, time FROM prefectures where zipcode = 600031',
                result_url='tableau://username:password@tableau_server_url/data_source_name?mode=replace&server_version=9.0')
 
until job.finished?
  sleep 2
  job.update_progress!
end

job.update_status!
puts job.result.to_json

td-clientのquery()メソッドのresult_urlに、パブリッシュ先のTableauServerの情報を渡しています。バージョンの指定については、URLパラメータとして「server_version=」以降に記述することで無事パブリッシュをすることができました。

簡単ですが、以上です。