データマネジメントチームの井口 奈津美です。
この記事では、Workflow上で実行しているクエリの実行結果を、Box上の任意の場所に日次で出力させる実装方法をご紹介します。出力形式はCSV形式とします。Treasure Data CDPにはBoxとのコネクタがすでに用意されているため、GUIで設定をしたのちWorkflowに設定事項を記述すれば実現可能です。
目次
続きは会員登録およびログイン後にご覧いただけます。以下からログインしてください。
事前準備
- Treasure Data CDP管理画面からBoxへのConnectionを作成します。
- Treasure Data CDP管理画面からBoxへのAuthenticationを作成します。
- 出力先のBox idを調べます。URLの folder/ の後ろの数字です。
Treasure Data CDP管理画面 > CatalogからBoxを選択 > Create Authenticationをクリック > Click hereをクリック > BoxのページにてGrant access to Boxをクリック


Treasure Data CDP管理画面 > CatalogからBoxを選択 > Create Authenticationをクリック > 接続先を選択しContinueをクリック > Authenticationの名称を記入しDoneをクリック

以上で事前準備は終わりです。それでは実際にWorkflowを書いていきましょう。
日次で実行するメインのdigファイルから、下記のdigファイルを呼び出しているという構造です。今回やりたいことは、8行目のクエリ”queries/select_goods.sql”の実行結果をCSV形式でBoxに日次で出力することです。9〜14行目のオプションについて、順に解説してまいります。
timezone: Asia/Tokyo
_export:
td:
database: sandbox_iguchi
+test:
td>: queries/select_goods.sql
result_connection: test_iguchi_box
result_settings:
folder_id: 123456789
file_ext: ".csv"
file_name: select_goods_${moment(session_date).format("YYYYMMDD")}
mode: new_file
- result_connection: Treasure Data CDP管理画面で作成したConnectionの名称
- folder_id: 出力先のBox id
- file_ext: 出力するファイルの拡張子。今回はCSV形式のため、”.csv”としています。
- file_name: 出力するファイルの名称を指定します。この例ではmoment.jsを使い、”select_goods_20220104”のようにファイル名に日付が付与される仕組みにしています。
- mode: new_file (固定)
これで実装は完了です。いかがでしたでしょうか。
この記事が少しでもお役に立てば幸いです。
