データマネジメントチームの井口 奈津美です。
この記事では、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 (固定)
これで実装は完了です。いかがでしたでしょうか。
この記事が少しでもお役に立てば幸いです。