データ所在地

このページでは、Conversational Analytics API でデータ所在地がどのようにサポートされているかについて説明します。データ所在地とは、データの物理的な場所と、規制またはポリシーの要件を満たすために特定の地理的領域内でデータを保存および処理するというコミットメントのことです。データのロケーションを制御するには、API リクエストのリージョン サービス エンドポイントを指定します。

このドキュメントでは、ロケーションはデータが存在する Google Cloud リージョンまたはマルチリージョンを指します。また、データは、サービス固有の規約データ ロケーションの項にある「顧客データ」と同じ意味です。

Conversational Analytics API のデータ所在地コミットメントは、エージェントが BigQuery に接続するか Looker に接続するかによって異なります。

データ所在地の範囲

会話分析 API は、さまざまな状態の顧客データの場所を制御することで、データ所在地の要件を満たすのに役立ちます。

  • データがアクティブに処理または送信されず、永続ストレージに保存されている場合、データは保存状態です。
  • データがメモリ内にある場合、たとえば、機械学習(ML)モデルがデータを処理してレスポンスを生成する場合や、サービスがクエリを実行する場合、データは使用中です。Conversational Analytics API の場合、使用中のデータのデータ所在地に関するコミットメントは、管轄区域の ML 処理に固有のものであり、使用中のすべてのデータの包括的な所在地を提供するものではありません。
  • データが Google ネットワーク境界に出入りしているときは、データは転送中です。

Conversational Analytics API のデータ所在地コミットメントは、DataAgent リソース(顧客構成、コンテキスト、システム指示、クエリの例など)と Conversation リソース(メッセージ コンテンツと状態履歴など)に適用されます。これらのコミットメントは、リソース識別子やラベルなどのサービスデータや、転送中のデータには適用されません。

サポートされているデータのロケーション

会話分析 API は、グローバル、リージョン、マルチリージョンのロケーションをサポートしています。リージョン エンドポイントまたはマルチリージョン エンドポイントを使用すると、保存中のデータの保存場所を制御できます。

次の表で、管轄区域の ML 処理(使用中(管轄区域)と表示)は、データに対する ML 処理のコミットメントを指します。サービス固有の条件で定義されているように、Google は選択されたリージョンまたはマルチリージョンでのみデータの ML 処理を実行します。

以降のセクションでは、BigQueryLooker のデータソースを使用するエージェントと会話のデータ所在地サポートについて詳しく説明します。

BigQuery データ

BigQuery に接続するデータ エージェントの場合、リージョン エンドポイントとマルチリージョン エンドポイントは、保存データのデータ所在地と、使用中のデータの管轄区域の ML 処理をサポートします。指定したエンドポイントのロケーションに関係なく、エージェントは任意のロケーションまたはロケーションの組み合わせで BigQuery データセットに接続できます。

場所 ロケーションの説明 エンドポイントのタイプ エンドポイント URL データセットの場所 データ所在地のサポート
global グローバル グローバル geminidataanalytics.googleapis.com 任意のリージョンまたはマルチリージョン 非対応
eu 欧州連合 マルチリージョン geminidataanalytics.eu.rep.googleapis.com 任意のリージョンまたはマルチリージョン 安静時使用中(管轄区域)
us 米国 マルチリージョン geminidataanalytics.us.rep.googleapis.com 任意のリージョンまたはマルチリージョン 安静時使用中(管轄区域)
us-east4 北バージニア リージョン geminidataanalytics-us-east4.googleapis.com 任意のリージョンまたはマルチリージョン 安静時使用中(管轄区域)

Looker データ

Looker に接続するデータ エージェントの場合、リージョン エンドポイントとマルチリージョン エンドポイントは、保存データのデータ所在地をサポートします。指定したエンドポイントの場所に関係なく、エージェントは任意の場所または場所の組み合わせでデータソースに接続できます。

場所 ロケーションの説明 エンドポイントのタイプ エンドポイント URL データセットの場所 データ所在地のサポート
global グローバル グローバル geminidataanalytics.googleapis.com 任意のリージョンまたはマルチリージョン 非対応
eu 欧州連合 マルチリージョン geminidataanalytics.eu.rep.googleapis.com 任意のリージョンまたはマルチリージョン 保存時
us 米国 マルチリージョン geminidataanalytics.us.rep.googleapis.com 任意のリージョンまたはマルチリージョン 保存時
us-east4 北バージニア リージョン geminidataanalytics-us-east4.googleapis.com 任意のリージョンまたはマルチリージョン 保存時

利用可能なリージョン エンドポイントとマルチリージョン エンドポイントの完全なリストについては、Conversational Analytics API のロケーションをご覧ください。

リージョン エンドポイントを使用してデータ所在地を適用する

DataAgent リソースと Conversation リソースのデータ所在地を適用するには、リソースの作成時とアクセス時にリージョン エンドポイントを使用します。リージョン エンドポイントを呼び出す場合、リクエスト パスまたはリクエストの親のロケーションは、呼び出すエンドポイントのロケーションと一致する必要があります。たとえば、geminidataanalytics.us.rep.googleapis.com エンドポイントを呼び出す場合は、リクエスト パスまたはリクエストの親(/locations/usprojects/PROJECT_ID/locations/us など)に us を指定する必要があります。

Conversational Analytics API のサービス エンドポイントは、ロケーション タイプに応じて次の形式を使用します。

  • グローバル: geminidataanalytics.googleapis.com
  • マルチリージョン: geminidataanalytics.LOCATION.rep.googleapis.com
  • リージョン: geminidataanalytics-LOCATION.googleapis.com

LOCATION プレースホルダは、euusus-east4 などのサポートされている単一リージョンまたはマルチリージョンに置き換えます。

次の例は、HTTP リクエストと Python SDK リクエストのリージョン エンドポイントを構成する方法を示しています。

HTTP

HTTP でリージョン エンドポイントを使用するには、リージョン ベース URL を使用してリクエスト URL を作成します。まず、次の 初期設定と認証を構成するの例に示すように、選択したリージョン エンドポイントを使用するように base_url を構成します。

project_id = "PROJECT_ID"
location = "LOCATION"

# Set the base URL based on location.
if not location or location == "global":
  base_url = "https://geminidataanalytics.googleapis.com"
elif "-" in location:
  # Regional endpoints
  base_url = f"https://geminidataanalytics-{location}.googleapis.com"
else:
  # Multi-regional endpoints
  base_url = f"https://geminidataanalytics.{location}.rep.googleapis.com"

次に、ステートフル チャットとステートレス チャットで質問するの例のように、API リクエストの URL を作成するときに base_url 変数を使用します。

# Example API request URL construction using base_url:
chat_url = f"{base_url}/v1beta/projects/{project_id}/locations/{location}:chat"

Python SDK

Python SDK でリージョン エンドポイントを使用するには、設定を構成してクライアントを初期化するの次の例に示すように、API クライアントを初期化するときに、リージョン api_endpoint パラメータで client_options を渡します。

from google.cloud import geminidataanalytics
from google.api_core import client_options

project_id = "PROJECT_ID"
location = "LOCATION"

# Set client options based on location.
if not location or location == "global":
  endpoint = "geminidataanalytics.googleapis.com"
elif "-" in location:
  # Regional endpoints
  endpoint = f"geminidataanalytics-{location}.googleapis.com"
else:
  # Multi-regional endpoints
  endpoint = f"geminidataanalytics.{location}.rep.googleapis.com"
opts = client_options.ClientOptions(api_endpoint=endpoint)

# Use client options when initializing API clients.
data_agent_client = geminidataanalytics.DataAgentServiceClient(client_options=opts)
data_chat_client = geminidataanalytics.DataChatServiceClient(client_options=opts)

# Use clients to make API requests. For example:
# response = data_chat_client.chat(request=request)

サンプル値を次のように置き換えます。

  • PROJECT_ID: 実際の Google Cloud プロジェクト ID。
  • LOCATION: リソースを作成するリージョンまたはマルチリージョン。リージョン エンドポイントのいずれかを使用するには、euusus-east4 のいずれかを指定します。

制限事項

リージョン エンドポイントを使用する場合は、次の点を考慮してください。

  • Conversational Analytics API で顧客管理の暗号鍵(CMEK)を使用する場合、Cloud KMS 鍵はリージョン エンドポイントと同じロケーションにある必要があります。

次のステップ