# Unified ID 2.0 Workflow

このガイドは、Treasure Data プラットフォーム内で事前定義された UID2 ワークフローを設定および運用するための技術的な手順をデータエンジニア向けに提供します。

主な目的は、メールアドレスや電話番号などのファーストパーティの個人識別情報(PII)を、広告エコシステムで使用するためのプライバシーセーフな Unified ID 2.0(UID2)識別子に変換することです。

## UID2 とは?

The Trade Desk より - [UID2 Overview | Unified ID 2.0](https://unifiedid.com/docs/intro) UID2 は、広告エコシステム全体の多くの[参加者](https://unifiedid.com/docs/intro#participants)に対して、オープンインターネット上での広告機会における決定論的アイデンティティを可能にするフレームワークです。UID2 フレームワークは、パブリッシャーの Web サイト、モバイルアプリ、およびコネクテッド TV(CTV)アプリからのログイン体験をプログラマティックワークフローを通じて収益化できるようにします。独自の名前空間を持つオープンソースのスタンドアロンソリューションとして構築されたこのフレームワークは、地域市場の要件を満たすように設計されたユーザーの透明性とプライバシー制御を提供します。

![](/assets/screenshot-2024-09-02-at-10.30.20.a051766937e39b21b68e5bbc28fb778e95339ec9a489d70c7eda047a219aa503.c4f6e2dd.png)

この統合から得られるビジネス価値には以下のようなものがあります。

- メディアバイイングプラットフォームでプライバシーを意識した形式の顧客データを使用する
- チャネルやデバイス間で頻度を管理し、オーディエンスを抑制する
- Cookie が存在しないアイデンティティユースケースをサポートする
- オプトアウトを提供し、消費者のプライバシー制御を向上させることを目指す


## 前提条件

- Treasure Data の基本知識
- 承認された Treasure アカウントへのアクセス
- UID2 の基本知識
  - [https://www.thetradedesk.com/us/about-us/industry-initiatives/unified-id-solution-2-0](https://www.thetradedesk.com/us/about-us/industry-initiatives/unified-id-solution-2-0)
  - [https://unifiedid.com/docs/intro](https://unifiedid.com/docs/intro) または EU の場合: [https://euid.eu/docs/intro](https://euid.eu/docs/intro)
    - About EUID セクションを参照してください


### 用語

| 用語 | 説明 |
|  --- | --- |
| DII | DII は直接識別情報(Directly Identifying Information)で、現在はメールアドレスと電話番号を指します。 |
| DII 正規化 | DII(メールアドレスおよび電話番号)は、[正規化標準](https://unifiedid.com/docs/getting-started/gs-normalization-encoding)に従って期待される形式に正規化する必要があります。すべての DII は、以下に詳述されている期待される形式である限り、UID2 サービスオペレーターによってマッピングされます。UID2 サービスオペレーターは、期待される形式である限り、任意のメールアドレスまたは電話番号をマッピングすることに注意してください。メール/電話は実際に有効または機能している DII である必要はありません。 - メールアドレスは[メール正規化標準](https://unifiedid.com/docs/getting-started/gs-normalization-encoding#email-address-normalization)に従って正規化する必要があります。- 電話番号は [E.164](https://en.wikipedia.org/wiki/E.164) 形式である必要があります。- タイムスタンプは [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) 形式である必要があります。 |
| Salt Bucket ローテーション | UID2 の値は UID2 サービスオペレーターシステム内で暗号化されて保持され、[Salt](https://en.wikipedia.org/wiki/Salt_(cryptography)) の値は平均して年に1回、比較的均等にローテーションされます。これは、UID2 Salt Bucket の約 1/365 が1日あたりローテーションされることを意味します。言い換えれば、顧客が 8000 万の DII ↔︎ UID2 マッピングを持っている場合、平均して毎日 219,178 の UID2 Salt Bucket がローテーションされます。Salt Bucket がローテーションされると、関連する UID2 の値は無効になり、再マッピングする必要があります。 |


## UID2.0 へのアクセスリクエスト

UID2 統合を開始するためにこのコネクタを設定する前に、ユーザーは [https://unifiedid.com/request-access](https://unifiedid.com/request-access) を通じてアクセスリクエストを送信して UID2 へのアクセス権を取得する必要があります。

Trade Desk アカウントマネージャーまたは Trade Desk アカウントを所有するマーケティングエージェンシーと協力してください。

ユーザーが UID2 サービスへのアクセス権を取得すると、UID2 にアクセスするための API キーとクライアントシークレットである UID2 資格情報を取得できます。

詳細については [https://unifiedid.com/docs/getting-started/gs-credentials#api-key-and-client-secret](https://unifiedid.com/docs/getting-started/gs-credentials#api-key-and-client-secret) を参照してください

UID2 ベース URL:

- EU の場合: [https://euid.eu/docs/getting-started/gs-environments](https://euid.eu/docs/getting-started/gs-environments)
- その他: [https://unifiedid.com/docs/getting-started/gs-environments](https://unifiedid.com/docs/getting-started/gs-environments)


## Trade Desk アカウントの資格情報を取得する

ユーザーは、The Trade Desk 内の管理コンソールから広告主 ID とシークレットキーを見つけることができます。「Preferences」を開き、次に「First Party Data Credentials」を開いて広告主 ID とシークレットキーを表示します。

- Advertiser ID: The Trade Desk のアカウントの広告主 ID
- Advertiser secret: The Trade Desk のアカウントの広告主シークレット


## 正規化された(および/またはハッシュ化された)DII を準備する

UID2 サービスは、UID2 に変換するために DII(現在はメールと電話番号)を受け入れます。各識別情報は、変換のために特定のデータ形式に従う必要があります。詳細については、[用語セクション](/ja/int/uid2-workflow#h2_1264346379)または [https://unifiedid.com/docs/getting-started/gs-normalization-encoding](https://unifiedid.com/docs/getting-started/gs-normalization-encoding) を参照してください。

## Workflow の仕組み

UID2 ワークフローは、UID2 を生成および維持するプロセスを自動化します。高レベルでは、プロセスは次のとおりです:

- 入力:
  - ワークフローは、Treasure Data データベース内で指定したソーステーブルからハッシュ化されたまたはハッシュ化されていないメールアドレスと電話番号を読み取ります。
- 処理:
  - UID2 オペレーターサービスと通信して、PII を UID2 に安全にマッピングします。
  - また、ワークフローは「Salt Bucket ローテーション」という重要なタスクを処理します。Salt Bucket は UID2 を暗号化するために使用され、セキュリティのために定期的にローテーションされます。
  - ワークフローは、ローテーションにより古くなった UID2 を自動的に識別し、再マッピングします。
- 出力:
  - 最終的な有効な UID2 は、データベース内の中央テーブル(ttd_uid2_ids)に書き込まれます


## 要件と制限事項

UID2 API エンドポイントにはレート制限があります。顧客は、パラメータ `uid2_limit_record` を設定して、処理するレコード数を制限することを検討する必要があります

## セットアップと構成

### データベーステーブルの準備

ワークフローを動作させるには、いくつかのテーブルが必要です。一部は作成する必要があり、その他はワークフローによって自動的に管理されます。

ターゲットデータベースの API は、API レスポンスに必要なステージングテーブルを作成します。

- `ttd_bucket_resp: Salt Bucket レスポンスの JSON レスポンスを保持するステージングテーブル`
- `ttd_uid2_resp: uid2 マッピングのレスポンスを保持するステージングテーブル`


または、以下の SQL クエリを実行できます


```SQL
CREATE TABLE IF NOT EXISTS "ttd_uid2_resp"("identifier" varchar);

CREATE TABLE IF NOT EXISTS "ttd_bucket_resp"("bucket_id" varchar);
```

#### Workflow によって自動的に作成されるテーブル

- ttd_uid2_ids: ソースデータを現在の有効な UID2 にマッピングした主要な出力テーブル
- ttd_uid2_ids_archive: ttd_uid2_ids からのレコードのアーカイブ
- ttd_uid2_rqst: UID2 オペレーターに送信されるバッチリクエストの JSON ペイロードを保持するステージングテーブル


### API 経由で Workflow を作成する

事前定義された UID2 は API を使用して作成できます

**API リクエスト**


```bash
curl -L 'https://integrations-gateway.us01.treasuredata.com/integration_workflow/workflows/uid2/' \
-H 'Authorization: {Your_TD_API_KEY}' \
-H 'Content-Type: application/json' \
--data-raw '{
    "type": "uid2",
    "plugin_config": {
      "type": "uid2",
      "host": "https://operator-integ.uidapi.com",
      "apikey": "****",
      "secret": "****",
      "td_apikey": "****",
      "database": "your_database",
      "td_host": "api-production.treasuredata.com",
      "last_bucket_updated_time": "2025-04-28T07:02:00",
      "uid2_limit_records": 200000000,
      "enable_auto_format": true,
      "skip_limit": 500,
      "td_uid2_src_lst": [
        {
          "src_db": "src_db",
          "src_tbl": "src_tbl",
          "src_id_col": "contact_id",
          "src_dii_col": "email",
          "src_dii_typ": "EMAIL"
        }
      ],
      "custom_batch_size": 5000,
      "custom_email_filter_import_uid2_identifier": "regexp_like(identifier, '''^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+.[a-zA-Z]{2,}$''')",
      "custom_phone_filter_import_uid2_identifier": "NOT regexp_like(identifier, '''^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+.[a-zA-Z]{2,}$''')"
    },
    "workflow_config": {
      "project_name": "project_name",
      "revision": "revision",
      "schedule": "daily>: 07:00:00",
      "timezone": "America/Los_Angeles"
    }
  }'
```

**APIレスポンス**


```json
{
  "id": "your workflow id",
  "name": "your workflow project name",
  "revision": "your workflow project revision",
  "createdAt": "2025-07-01T09:55:28Z",
  "updatedAt": "2025-07-03T07:23:35Z",
  "deletedAt": null,
  "archiveType": "s3",
  "archiveMd5": "z2c8UL26Vl+uJGfR9wPmKA==",
  "metadata": []
}
```

#### パラメータリファレンス

**Workflow設定**

| 名前 | 説明 | 値 | デフォルト値 | 必須 |
|  --- | --- | --- | --- | --- |
| project_name | Workflowのプロジェクト名  UID2設定ごとに異なるproject_nameを使用してください | N/A | N/A | はい |
| revision | プロジェクトリビジョン  同じ名前のプロジェクトが存在する場合、異なるリビジョンを使用すると既存のプロジェクトが上書きされる可能性があります | N/A | N/A | はい |
| schedule | Workflowのスケジュール  時刻を含む日次スケジュールを指定する必要があります  サポートされている値と詳細な手順については、Treasure Dataのドキュメントを参照してください：  🔗 [Scheduling Workflows – Treasure Docs](/products/customer-data-platform/data-workbench/workflows/scheduling-workflows) | N/A | N/A | はい |
| timezone | スケジュールを設定するタイムゾーン | N/A | UTC | いいえ |


##### プラグイン設定

| 名前 | **説明** | 値 | デフォルト値 | 必須 |
|  --- | --- | --- | --- | --- |
| type | プラグインタイプ | uid2 | N/A | はい |
| host | uid2ホスト  [https://unifiedid.com/docs/getting-started/gs-environments](https://unifiedid.com/docs/getting-started/gs-environments)から取得 | N/A | N/A | はい |
| apikey | UID2 APIキー | N/A | N/A | はい |
| secret | UID2 APIクライアントシークレット | N/A | N/A | はい |
| database | TD内のデータベース名 | N/A | N/A | はい |
| td_apikey | Treasure APIキー | N/A | N/A | はい |
| td_host | Treasure APIホスト | N/A | N/A | はい |
| td_uid2_src_lst | UID2マッピング用にインポートされたDIIテーブルのリスト | N/A | N/A | はい |
| skip_limit | 無視して処理を続行できる無効なDIIの最大数 | N/A | 500 | いいえ |
| uid2_limit_records | UID2マッピングのために送信されるDIIの最大数 | N/A | 2.000.000.000 | いいえ |
| custom_batch_size | 1つのリクエスト内のDIIグループの数 | N/A | 10000 | いいえ |
| enable_auto_format | DIIメール値を自動的にハッシュ化するには、このオプションを有効にします | N/A | true | いいえ |
| custom_email_filter_import_uid2_identifier | メールのフォーマット検証ルール。検証ルールを満たすメールはUID2への変換に使用されます。 | N/A | regexp_like(identifier, '''^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+.[a-zA-Z]{2,}$''') | いいえ |
| custom_phone_filter_import_uid2_identifier | 電話番号のフォーマット検証ルール。検証ルールを満たす電話番号はUID2への変換に使用されます。 | N/A | NOT regexp_like(identifier, '''^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+.[a-zA-Z]{2,}$''') | いいえ |
| custom_email_hash_filter_import_uid2_identifier | ハッシュ化されたメールのフォーマット検証ルール。検証ルールを満たすハッシュ化されたメールはUID2への変換に使用されます。 | N/A | regexp_like(identifier, '^[a-zA-Z0-9+/]+={0,2}$') | いいえ |
| custom_phone_hash_filter_import_uid2_identifier | ハッシュ化された電話番号のフォーマット検証ルール。検証ルールを満たすハッシュ化された電話番号はUID2への変換に使用されます。 | N/A | regexp_like(identifier, '^[a-zA-Z0-9+/]+={0,2}$') | いいえ |
| last_bucket_updated_time | 次回実行用の最後のバケットローテーション時間を保存 | N/A | 0 | いいえ |
| last_uid2_request_time | 次回実行用の最後のUID2リクエスト時間を保存  この値は`ttd_uid2_rqst`テーブル内のレコードを選択するために使用されます | N/A | N/A | いいえ |
| last_uid2_request_index | 次回実行用の最後のUID2リクエストインデックスを保存  この値は`ttd_uid2_rqst`テーブル内のレコードを選択するために使用されます | N/A | N/A | いいえ |


##### DIIソースリスト

| **名前** | 説明 | 値 | デフォルト値 | 必須 |
|  --- | --- | --- | --- | --- |
| src_db | DIIソースデータベース | N/A | N/A | はい |
| src_tbl | DIIソーステーブル | N/A | N/A | はい |
| src_id_col | `  利用可能な場合のIDカラム        IDカラムがない場合は、文字列の"null"を使用してください（引用符なし）​` | N/A | N/A | はい |
| `src_dii_col` | ソースDIIカラムの名前は任意の名前で構いません | N/A | N/A | はい |
| `src_dii_typ` | `  DIIのタイプ`  - `  EMAIL  ` - `  PHONE  ` - `  EMAIL_HASH  ` - `  PHONE_HASH  ` | N/A | N/A | はい |


### Workflowの監視

作成後、Treasure コンソールからWorkflowにアクセスして監視できます：

1. 次の場所に移動します
2. Data Workbench > Workflows
3. API呼び出しで定義したproject_nameを検索します


プロジェクトを選択して

実行履歴を表示し、各実行のステータス、期間、ログを確認できます。

![](/assets/screenshot-2025-07-03-at-14.57.57.2ca283c5e4f96430df001508612e40326449c485fbba6b2dac744776fa0c3f01.c4f6e2dd.png)

![](/assets/screenshot_2025-07-03_at_16_12_17.2a8bba084ad764d3508256abf546adc2214d3cf89ecf5da6b50bc8f7953a7bf5.c4f6e2dd.png)

## データベーステーブルの説明

### ttd_uid2_idsテーブル

– トランザクションテーブル – メインTTD UID2テーブル

| カラム | 型 | **説明** |
|  --- | --- | --- |
| `time` | INTEGER | レコード`INSERT`のUnixtime |
| `src_db` | VARCHAR | DII値のソースデータベース |
| `src_tbl` | VARCHAR | DII値のソーステーブル |
| `src_id_col` | VARCHAR | DII値のソーステーブルのIDカラム |
| `src_id` | VARCHAR | DIIの値のソーステーブル内のレコードのID値 |
| `src_col` | VARCHAR | DIIの値のソーステーブル内のソース列 |
| `src_typ` | VARCHAR | DIIのタイプ。`{EMAIL, PHONE}`のいずれか |
| `src_data` | VARCHAR | ソースDII値 |
| `advertising_id` | VARCHAR | UID2値(Service Operator ServiceのAPIでは`advertising_id`として定義) |
| `bucket_id` | VARCHAR | TTD Salt Bucket ID |
| `is_current` | INTEGER | UID2(`advertising_id`列)に、期限切れでないSalt Bucketからの現在のUID2値が含まれているか?   - `0`(ゼロ) – いいえ – `ttd_uid2_ids`レコードが新規であるか、Salt Bucketの期限が切れていることを示します。いずれの場合も、新しいUID2をTTDから取得する必要があります。 - `1`(1) – はい – `ttd_uid2_ids`レコードの`advertising_id`列に現在のUID2があることを示します。新しいUID2をTTDから取得する必要は*ありません*。   `is_current`の状態は各WF実行中に管理され、正常なWF実行後は常にすべてのレコードで値`1`(1)になっている必要があります。WF実行完了後に値`0`(ゼロ)のレコードがある場合、何か失敗したことを意味します。DII ↔︎ UID2マッピング失敗の2つの主な原因は次のとおりです。   - DIIフォーマットが正しくないため、UID2 Service Operatorでマッピングできません。たとえば、メールアドレスが有効なメール形式ではない(ドメインにTLD拡張子がない)場合、Operatorでマッピングできません。電話番号は有効な[E.164](https://en.wikipedia.org/wiki/E.164)形式である必要があります。なお、Operatorは、期待される形式であれば、メールアドレスまたは電話番号を*マッピングします*。メールアドレス/電話番号が実際に有効または機能している必要はありません。 - 何らかの理由でTD UID2マッピングワークフローが失敗しました。 |


### `ttd_uid2_ids_archive` – トランザクションテーブル – メインUID2テーブル

`ttd_uid2_ids`テーブルと同じスキーマですが、`is_current`は常に`-1`の値を持ち、アーカイブレコードを示します。

| **COLUMN** | **TYPE** | **DESCRIPTION** |
|  --- | --- | --- |
| `time` | INTEGER | レコード`INSERT`のUnixtime |
| `src_db` | VARCHAR | DIIの値のソースデータベース |
| `src_tbl` | VARCHAR | DIIの値のソーステーブル |
| `src_id_col` | VARCHAR | DIIの値のソーステーブルのID列 |
| `src_id` | VARCHAR | DIIの値のソーステーブル内のレコードのID値 |
| `src_col` | VARCHAR | DIIの値のソーステーブル内のソース列 |
| `src_typ` | VARCHAR | DIIのタイプ。`{EMAIL, PHONE}`のいずれか |
| `src_data` | VARCHAR | ソースDII値 |
| `advertising_id` | VARCHAR | TTD UID2値(Operator ServiceのAPIでは`advertising_id`として定義) |
| `bucket_id` | VARCHAR | Salt Bucket ID |
| `is_current` | INTEGER | アーカイブされたレコードを示すために、常に値`-1`(マイナス1)になります。 |


### `ttd_bucket_resp` – ステージングテーブル – UID Salt Bucket Rotation APIレスポンス用

このテーブルは、Salt Bucket rotation APIの`since_timestamp`を計算するためにも使用されます。このテーブルはステージングテーブルに分類されていますが、次のWF実行で`since_timestamp`を正確に計算するために必要なため、レコードを手動で削除しては*いけません*。

このテーブルのレコードが誤って削除された場合は、`ttd_uid2_ids`テーブル内の*すべての*レコードに対してUID2を再マッピングすることをお勧めします。

| **COLUMN** | **TYPE** | **DESCRIPTION** |
|  --- | --- | --- |
| `time` | INTEGER | レコード`INSERT`のUnixtime |
| `bucket_id` | VARCHAR | UID Salt Bucket ID |
| `last_updated` | VARCHAR | このSalt BucketがOperatorによって最後に更新された日時のISO 8601形式のタイムスタンプ(このWFでは使用されず、分析目的)。 |


### `ttd_uid2_rqst` – ステージングテーブル – UID Map APIリクエスト用

| **COLUMN** | **TYPE** | **DESCRIPTION** |
|  --- | --- | --- |
| `time` | INTEGER | レコード`INSERT`のUnixtime |
| `rnk_num` | LONG | このUID2 Service Operator APIバッチリクエストのシーケンス番号 |
| `ttd_uid2_rqst` | VARCHAR | UID2 Service Operator APIバッチリクエストの実際のJSONペイロード。簡潔性と利便性のために`VARCHAR`として保存された論理的で有効なJSONです。暗号化されていないプレーンテキストとして保存されます。TD Pythonクライアントスクリプトは、すべてのセキュリティと暗号化/復号化を内部で管理します。 |


### `ttd_uid2_resp` – ステージングテーブル – UID2 Map APIレスポンス用

| **COLUMN** | **TYPE** | **DESCRIPTION** |
|  --- | --- | --- |
| `time` | INTEGER | レコード`INSERT`のUnixtime |
| `rnk_num` | LONG | このUID2 Service Operator APIバッチリクエストのシーケンス番号(このWFでは使用されず、分析目的)。 |
| `identifier` | VARCHAR | DII値、EmailまたはPhoneのいずれか |
| `advertising_id` | VARCHAR | UID2値(Operator ServiceのAPIでは`advertising_id`として定義) |
| `bucket_id` | VARCHAR | Salt Bucket ID |
| unmapped_reason | VARCHAR | UID2マッピングのアンマップ理由 |


## 次のステップ

UID2ワークフローが正常に実行されると、指定された宛先データベースにUID2が保存されます。

- ttd_uid2_idsテーブルにadvertising_idがあります。advertising_idの値はUID2です


ユーザーはID値をオーディエンスデータに組み込み、UID2 ID値に基づいてTrade Deskへのエクスポート統合を通じてセグメンテーションをアクティブ化します。

[The Trade Desk Export Integration](/ja/int/the-trade-desk-export-integration)

## 付録: Workflowを使用したワークフローの作成

API経由でUID2ワークフローを作成する代わりに、ユーザーはワークフローを使用してUID2ワークフローを作成できます。

### ワークフローの実行

ワークフローを定義して実行するには2つのオプションがあります

1. **Treasure コンソール** > **Data Workbench** > **Workflows**でグラフィカルインターフェースを使用する
2. TD Toolbeltのコマンドラインインターフェースを使用する


Treasure コンソールを使用する方がコマンドラインインターフェースよりも簡単ですが、Treasure CLIツールはより複雑な設定のためのオプションを提供します。

Treasure ワークフローの構文と使用方法の詳細については、[こちら](/products/customer-data-platform/data-workbench/workflows)を参照してください

### ワークフロー定義


```yaml
_export:
  # Base configuration
  gateway_url: https://integrations-gateway.us01.treasuredata.com/integration_workflow/workflows/uid2/
  uid2_apikey: {uid2_apikey}
  uid2_secret: {uid2_secret}
  td_apikey: {td_apikey}
  host: {host}
  td_host: "api.treasuredata.com",


  # Database configuration
  database_name: {database_name}

  # Project configuration
  project_name: {project_name}
  revision: {project_revision}


+trigger_uid2_workflow:
  +prepare_request:
    echo>: "Preparing HTTP request to UID2 integration gateway"

  +execute_uid2_call:
    http>: ${gateway_url}
    method: POST
    headers:
      - Authorization: "TD1 ${td_apikey}"
      - Content-Type: "application/json"
    content: |
      {
        "type": "uid2",
        "plugin_config": {
          "type": "uid2",
          "host": "${host}",
          "apikey": "${uid2_apikey}",
          "secret": "${uid2_secret}",
          "database": "${database_name}",
          "td_apikey": "${td_apikey}",
          "td_host": "${td_host}",
          "last_bucket_updated_time": "2025-04-28T07:02:00",
          "uid2_limit_records": 2000000000,
          "enable_auto_format": true,
          "skip_limit": 500,
          "td_uid2_src_lst": [
            {
              "src_db": "source_database",
              "src_tbl": "email_table",
              "src_id_col": "129212",
              "src_dii_col": "userid",
              "src_dii_typ": "EMAIL"
            }
          ],
          "custom_batch_size": 5000,
          "custom_email_filter_import_uid2_identifier": "regexp_like(identifier, '^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$')",
          "custom_phone_filter_import_uid2_identifier": "NOT regexp_like(identifier, '^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$')"
        },
        "workflow_config": {
          "project_name": "${project_name}",
          "revision": "${revision}",
          "schedule": "daily>: 07:00:00",
          "timezone": "America/Los_Angeles"
        }
      }
    retry: 3
    store_content: true

  +echo_result:
    if>: ${http.last_content != null}
    _do:
      echo>: "Response details: ${http.last_content}"

+error_handling:
  _error:
    echo>: "Error triggering UID2 workflow. Check logs for details."
```

### パラメータリファレンス

#### Workflow config

| 名前 | **説明** | 値 | デフォルト値 | 必須 |
|  --- | --- | --- | --- | --- |
| project_name | Workflowのプロジェクト名  各UID2セットアップごとに異なるproject_nameを使用してください | N/A | N/A | はい |
| revision | プロジェクトのリビジョン  異なるリビジョンを使用すると、同じ名前のプロジェクトが存在する場合、既存のプロジェクトが上書きされる可能性があります | N/A | N/A | はい |
| schedule | Workflowのスケジュール  時刻を含む日次スケジュールである必要があります  サポートされている値と詳細な手順については、Treasure Dataのドキュメントをご覧ください:  🔗 [Scheduling Workflows – Treasure Docs](/products/customer-data-platform/data-workbench/workflows/scheduling-workflows) | N/A | N/A | はい |
| timezone | スケジュールを設定するタイムゾーン | N/A | UTC | いいえ |


#### Plugin config

| 名前 | **説明** | 値 | デフォルト値 | 必須 |
|  --- | --- | --- | --- | --- |
| type | プラグインタイプ | uid2 | N/A | はい |
| host | uid2ホスト  [https://unifiedid.com/docs/getting-started/gs-environments](https://unifiedid.com/docs/getting-started/gs-environments)から取得 | N/A | N/A | はい |
| apikey | UID2 APIキー | N/A | N/A | はい |
| secret | UID2 APIクライアントシークレット | N/A | N/A | はい |
| database | TD内のデータベース名 | N/A | N/A | はい |
| td_apikey | Treasure APIキー | N/A | N/A | はい |
| td_host | Treasure APIホスト | N/A | N/A | はい |
| td_uid2_src_lst | UID2マッピング用にインポートされるDIIテーブルのリスト | N/A | N/A | はい |
| skip_limit | 無視して処理を続行できる無効なDIIの最大数 | N/A | 500 | いいえ |
| uid2_limit_records | UID2マッピングのために送信されるDIIの最大数 | N/A | 2.000.000.000 | いいえ |
| custom_batch_size | 1つのリクエストでのDIIグループの数 | N/A | 10000 | いいえ |
| enable_auto_format | DIIメール値を自動的にハッシュ化するオプションを有効にします | N/A | true | いいえ |
| custom_email_filter_import_uid2_identifier | `ttd_uid2_ids`にインポートするためのカスタムメール条件 | N/A | regexp_like(identifier, '''^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+.[a-zA-Z]{2,}$''') | いいえ |
| custom_phone_filter_import_uid2_identifier | `ttd_uid2_ids`にインポートするためのカスタム電話番号条件 | N/A | NOT regexp_like(identifier, '''^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+.[a-zA-Z]{2,}$''') | いいえ |
| custom_email_hash_filter_import_uid2_identifie | `ttd_uid2_ids`にインポートするためのカスタムemail_hash条件 | N/A | regexp_like(identifier, '^[a-zA-Z0-9+/]+={0,2}$') | いいえ |
| custom_phone_hash_filter_import_uid2_identifie | `ttd_uid2_ids`にインポートするためのカスタムphone_hash条件 | N/A | regexp_like(identifier, '^[a-zA-Z0-9+/]+={0,2}$') | いいえ |
| last_bucket_updated_time | 次回実行のための最後のバケットローテーション時刻を保存 | N/A | 0 | いいえ |
| last_uid2_request_time | 次回実行のための最後のUID2リクエスト時刻を保存  この値は`ttd_uid2_rqst`テーブルのレコード選択に使用されます | N/A | N/A | いいえ |
| last_uid2_request_index | 次回実行のための最後のUID2リクエストインデックスを保存  この値は`ttd_uid2_rqst`テーブルのレコード選択に使用されます | N/A | N/A | いいえ |


#### Dii source list

| **名前** | 説明 | 値 | デフォルト値 | 必須 |
|  --- | --- | --- | --- | --- |
| src_db | DIIソースデータベース | N/A | N/A | はい |
| src_tbl | DIIソーステーブル | N/A | N/A | はい |
| src_id_col | `  ID列(利用可能な場合)        ID列がない場合は、リテラル用語「null」を使用してください(引用符なし)​` | N/A | N/A | はい |
| `src_dii_col` | ソースDII列の名前(任意の名前を使用可能) | N/A | N/A | はい |
| `src_dii_typ` | `  DIIのタイプ`  - `  EMAIL  ` - `  PHONE  ` - `  EMAIL_HASH  ` - `  PHONE_HASH  ` | N/A | N/A | はい |


## EUIDについて

### European Unified ID

EUIDは、独自の一意な名前空間を持つオープンソースのスタンドアロンソリューションであり、[UID2フレームワーク](https://unifiedid.com/docs/intro)をベースに構築されています。UID2とEUIDの主な違いは、同意の実践、データ主体の権利、参加者間の義務に関するより厳格なヨーロッパおよび英国のデータ保護法によるものです。それ以外では、EUIDはUID2と同じ[指導原則](https://euid.eu/docs/intro#guiding-principles)に従っています。

参照: [https://euid.eu/docs/intro](https://euid.eu/docs/intro)

| 比較項目 | UID2 | EUID |
|  --- | --- | --- |
| オープンソースフレームワーク | はい | はい |
| 相互運用性 | はい | はい |
| 使用される個人データ | メールアドレス、電話番号 | メールアドレス、電話番号 |
| 同意 | カリフォルニア州プライバシー権法(CPRA)やカリフォルニア州消費者プライバシー法(CCPA)などの地域規制に基づく | 一般データ保護規則(GDPR)、IABが運営する透明性と同意フレームワーク(TCF)、および地域の規制ガイダンスによって推進される |


すべてのEUIDは、異なるベースURLを使用します: [https://euid.eu/docs/getting-started/gs-environments](https://euid.eu/docs/getting-started/gs-environments)