dig ファイルの記述方法

dig ファイルの記述方法#

以下の記述例を元に解説を進めていく。ただ、dig ファイルにおいては Unification WF 実行のためのオプションを設定するだけのものなので、この記述例をテンプレートとして使っても良いかもしれない。

+call_unification:
  http_call>: https://api-cdp.treasuredata.com/unifications/workflow_call
  headers:
    - authorization: ${secret:td.apikey}
  method: POST
  retry: true
  content_format: json
  content:
    run_canonical_ids: true
    run_enrichments: true
    run_master_tables: true

    full_refresh: true
    keep_debug_tables: true

    unification:
      !include : unification_ex1.yml

http_call>:#

このオペレータによって Unification WF を呼び出して実行する形となる。リージョンごとにエンドポイントが異なるため、自身のアカウントのリージョンを確認しよう。

Region

URL

US region

https://api-cdp.treasuredata.com/unifications/workflow_call

EU01 Region

https://api-cdp.eu01.treasuredata.com/unifications/workflow_call

Tokyo Region

https://api-cdp.treasuredata.co.jp/unifications/workflow_call

Korea

https://api-cdp.ap02.treasuredata.com/unifications/workflow_call

headers:#

Secret に設定された td.apikey(アカウントの Master API Key)を使って認証するが、ID Unification WF では、自動的に td.apikey が生成されるのこので Secret Key の設定の必要はない。

Warning

td.apikey の名の Secret をあえて設定する場合(本来は設定する必要はない)には、通常の API Key の値とは異なるフォーマットで設定する必要がある。つまり通常の値を td.apikey に設定してしまうと、認証に失敗すので注意が必要である。 シークレットの値は、API Key の値の前に「TD1 」(TD1 の横に半角スペース) を加えたものになる。 (例:TD1 24/939***)

content:#

この下に ID Unification WF の実行オプション設定と、include する yml ファイルを指定する。 各種オプション設定については以下の表を参照のこと。

Option Name

Required?

default value

Description

keep_debug_tables:

Optional

false

中間生成テーブルを保持したくない場合は false に設定する。本ドキュメントでは、中間生成テーブルについても解説しているので true に設定している。

run_canonical_ids:

Optional

true

もし false にした場合は、 canonical_id の生成プロセスを実行しない。

run_enrichments:

Optional

true

もし false にした場合は、canonical_id をソーステーブルにエンリッチするプロセスを実行しない。

run_master_tables:

Optional

true

もし false にした場合は、 master_table の生成プロセスを実行しない。

full_refresh:

Optional

true

true にした場合は毎回の Unification の実行が全データを用いたものになるのに対して、false にすると incremental_update が行われる。ただし、incremental_update においても3日に1回は full_refresh となる。

基本的に、run_* のオプションはマスターセグメントの作成には必須なので true としておく。keep_debug_tables: はプロダクションフェーズに移行しない限り true にしておくことをお勧めする。full_refresh は incremental_update に関係する部分であり、別章で解説するが、 incremental_update を行いたい場合のみ false に設定する。