# リアルタイム プロファイルルックアップ

プロファイルルックアップは、リアルタイムIDステッチングによるプロファイルの解決結果を調査する機能です。Treasure Workflowから1つ以上のIDセレクターを送信すると、入力行ごとの結果が親セグメントのリアルタイムデータベース`cdp_audience_<parent_segment_id>_rt`にある`profile_lookup`テーブルに書き込まれます。

この機能は対象を絞った調査に使用してください。IDグラフの一括エクスポートを目的としたものではありません。結果には、解決されたプロファイルに現在関連付けられているIDと、**保存済みのリアルタイム属性**が含まれます。バッチ属性や動的に計算される属性は含まれません。

## 結果のカラム

| カラム | 説明 |
|  --- | --- |
| `time` | ルックアップの処理時刻。Unix秒。 |
| `reactor_instance_id` | ルックアップを処理したリアルタイムインスタンス。 |
| `lookup_row_index` | リクエスト内の入力行番号。0から始まります。 |
| `lookup_selectors` | 入力行で指定したIDセレクター。`td_rt_lookup_id`は含みません。 |
| `current_rid` | 解決されたプロファイルのRID。一致するものがない場合は存在しません。 |
| `realtime_attributes` | 解決されたプロファイルの保存済みリアルタイム属性。一致するものがない場合は空です。 |
| `current_id_attributes` | 現在そのプロファイルに関連付けられているすべてのID。`key:value`形式で、関連付けの更新時刻順に並びます。一致するものがない場合は空です。 |
| `current_id_timestamps` | `current_id_attributes`の各IDに対応するUnix秒単位の時刻。同じ順序で並びます。一致するものがない場合は空です。 |
| `td_rt_lookup_id` | ワークフローから任意で指定する照合用ID。 |


プロファイルが別のプロファイルに統合された場合、残されたRIDに移動したIDの時刻は統合時刻になります。この時刻は関連付けが更新された時刻を示し、IDが初めて確認された時刻とは限りません。

1つの入力行にある複数のセレクターが異なるプロファイルに一致した場合、ルックアップは最も古いRIDを返します。これはステッチング時に残されるRIDです。プロファイルの特定に必要な最小限のセレクターを使用してください。

## Treasure Workflowから実行する

親セグメントID、リアルタイムインスタンスID、およびデプロイメントのステージとサイトに対応するインポーターエンドポイントが必要です。インポーターエンドポイントには、Treasure AIプラットフォーム内のTreasure Workflowからアクセスできます。インスタンスIDが不明な場合や、正しいエンドポイントを確認したい場合は、Treasure AIサポートにお問い合わせください。

ワークフロープロジェクトの**Secrets**タブに、APIキーを`td.apikey`として保存します。このワークフローでは、シークレットの値に`TD1 <account_id>/<api_key>`形式の完全な認証値を指定してください。

次の例では、設定済みの`td_client_id`キーで1件のプロファイルを検索します。例には**本番US**のエンドポイントを使用しています。`XXXX`、インスタンスID、エンドポイントをデプロイメントのステージとサイトに合わせて変更してください。使用すべきエンドポイントが不明な場合は、Treasure AIサポートにご相談ください。任意の`td_rt_lookup_id`を指定すると、後で結果を探しやすくなります。

```yaml
_export:
  reactor_api_endpoint: "https://bulk-storage-importer-api-production-aws-us-east-1.internal.treasuredata.com"
  reactor_instance: "aYYYYnZ"
  td:
    database: cdp_audience_XXXX
    engine: presto

+profile_lookup:
  td>:
  query: |
    SELECT
      'td_client_id:12345' AS result,
      'td_rt_lookup_id:my-lookup-job' AS lookup_id
  result_url: |
    {
      "type": "rest",
      "method": "POST",
      "authorization": "${secret:td.apikey}",
      "endpoint": "${reactor_api_endpoint}/internal/lookup-profile",
      "headers": "{\"x-reactor-instance-name\": \"${reactor_instance}\"}"
    }
```

リアルタイムインスタンスに設定されたキーを使用してください。セレクターは`key:value`形式で指定します。任意の`td_rt_lookup_id:value`はセレクターではなくメタデータです。1回のリクエストには最大5行の入力を指定できます。一括抽出には使用せず、インポーターインスタンスあたり約1秒に1回を目安に対象を絞って実行してください。

ワークフローの完了後、**Data Workbench**で結果を照会します。

```sql
SELECT
  time,
  td_rt_lookup_id,
  reactor_instance_id,
  lookup_row_index,
  lookup_selectors,
  current_rid,
  realtime_attributes,
  current_id_attributes,
  current_id_timestamps
FROM cdp_audience_XXXX_rt.profile_lookup
WHERE td_rt_lookup_id = 'my-lookup-job'
ORDER BY time DESC
```

### 本番環境のインポーターエンドポイント

以下は本番環境のエンドポイントです。他のデプロイメントステージでは異なるエンドポイントを使用します。ステージとサイトの両方に一致するものを使用してください。

| サイト | エンドポイント |
|  --- | --- |
| US | `https://bulk-storage-importer-api-production-aws-us-east-1.internal.treasuredata.com` |
| EU (eu01) | `https://bulk-storage-importer-api-production-eu01-eu-central-1.internal.treasuredata.com` |
| 東京 | `https://bulk-storage-importer-api-production-aws-tokyo-ap-northeast-1.internal.treasuredata.com` |


現在のIDグラフに至るまでの変更については、[リアルタイム アイデンティティログテーブル](/ja/products/customer-data-platform/real-time/real-time-identity-log-tables)を参照してください。プロファイルルックアップには現在の状態が、アイデンティティログテーブルには過去の変更が記録されます。