このページでは、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 処理を実行します。
以降のセクションでは、BigQuery と Looker のデータソースを使用するエージェントと会話のデータ所在地サポートについて詳しく説明します。
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/us や projects/PROJECT_ID/locations/us など)に us を指定する必要があります。
Conversational Analytics API のサービス エンドポイントは、ロケーション タイプに応じて次の形式を使用します。
- グローバル:
geminidataanalytics.googleapis.com - マルチリージョン:
geminidataanalytics.LOCATION.rep.googleapis.com - リージョン:
geminidataanalytics-LOCATION.googleapis.com
LOCATION プレースホルダは、eu、us、us-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: リソースを作成するリージョンまたはマルチリージョン。リージョン エンドポイントのいずれかを使用するには、
eu、us、us-east4のいずれかを指定します。
制限事項
リージョン エンドポイントを使用する場合は、次の点を考慮してください。
- Conversational Analytics API で顧客管理の暗号鍵(CMEK)を使用する場合、Cloud KMS 鍵はリージョン エンドポイントと同じロケーションにある必要があります。
次のステップ
- Conversational Analytics API でサポートされているロケーションのリストを表示します。
- 顧客管理の暗号鍵(CMEK)について学習する。
- 詳しくは、Google Cloud ロケーションをご覧ください。
- 一般的なデータの保管場所に関する契約については、サービス固有の規約をご覧ください。