数据驻留

本页面介绍了 Conversational Analytics API 如何支持数据驻留。数据驻留是指数据的物理位置,以及在特定地理区域内存储和处理数据的承诺,以满足监管或政策要求。如需控制数据的位置,请为 API 请求指定区域服务端点。

在本文档中,位置是指数据驻留所在的 Google Cloud 区域或多区域位置,您的数据与服务专用条款的数据位置部分中的“客户数据”含义相同。

Conversational Analytics API 的数据驻留承诺因智能体连接到 BigQuery 还是 Looker 而异。

数据驻留范围

Conversational Analytics API 可让您控制客户数据在不同状态下的存储位置,从而帮助您满足数据驻留要求:

  • 当数据存储在永久性存储空间中,而不是正在被处理或传输时,数据处于静态。
  • 当数据位于内存中时,例如当机器学习 (ML) 模型处理数据以生成回答或服务执行查询时,数据处于使用中状态。对于 Conversational Analytics API,使用中数据的数据驻留承诺仅适用于管辖区内的机器学习处理,不涵盖所有使用中数据状态的全面驻留。
  • 数据在进入或离开 Google 网络边界时处于传输中状态。

Conversational Analytics API 的数据驻留承诺适用于 DataAgent 资源(包括客户配置、上下文、系统指令和示例查询)和 Conversation 资源(包括消息内容和状态历史记录)。这些承诺不适用于服务数据(例如资源标识符和标签)或传输中的数据。

支持的数据位置

Conversational Analytics API 支持全球、区域和多区域位置。使用区域级或多区域级端点时,您可以控制静态数据的存储位置。

在下表中,管辖区机器学习 (ML) 处理(标识为使用中(管辖区))是指对您的数据进行机器学习处理的承诺。如服务专用条款中所定义,Google 仅在您选择的单区域或多区域中对您的数据执行机器学习处理。

以下部分详细介绍了对使用 BigQuery 和 Looker 数据源的代理和对话的数据驻留支持。

BigQuery 数据

对于连接到 BigQuery 的数据代理,区域和多区域端点支持静态数据的数据驻留,以及使用中数据的管辖区机器学习处理。无论您指定哪个端点位置,智能体都可以连接到任何位置或位置组合中的 BigQuery 数据集:

位置 地点描述 端点类型 端点网址 数据集位置 数据驻留支持
global 全球 全球 geminidataanalytics.googleapis.com 任何区域或多区域 不支持
eu 欧盟 多区域级 geminidataanalytics.eu.rep.googleapis.com 任何区域或多区域 静态、使用中(管辖区)
us 美国 多区域级 geminidataanalytics.us.rep.googleapis.com 任何区域或多区域 静态、使用中(管辖区)
northamerica-northeast1 蒙特利尔 区域 geminidataanalytics-northamerica-northeast1.googleapis.com 任何区域或多区域 静态、使用中(管辖区)
northamerica-northeast2 多伦多 区域 geminidataanalytics-northamerica-northeast2.googleapis.com 任何区域或多区域 静态、使用中(管辖区)
us-east4 北弗吉尼亚 区域 geminidataanalytics-us-east4.googleapis.com 任何区域或多区域 静态、使用中(管辖区)

Looker 数据

对于连接到 Looker 的数据智能体,区域级和多区域级端点支持静态数据的数据驻留。无论您指定哪个端点位置,代理都可以连接到任何位置或位置组合中的数据源:

位置 地点描述 端点类型 端点网址 数据集位置 数据驻留支持
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 占位符替换为数据源支持的国家/地区或多区域。如需了解详情,请参阅支持的数据位置。

以下示例展示了如何为 HTTP 和 Python SDK 请求配置区域端点:

HTTP

如需将区域端点与 HTTP 搭配使用,请使用区域基础网址构建请求网址。首先,配置 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 请求构建网址时使用 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 客户端时传递 client_options 和区域级 api_endpoint 参数,如配置设置和初始化客户端中的以下示例所示。

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:您要在其中创建资源的区域或多区域。如需了解每个数据源支持的位置,请参阅支持的数据位置。

限制

使用区域端点时,请考虑以下几点:

后续步骤