使用区域端点配置数据本地性

本页介绍了如何配置 Datastore 模式 Firestore 客户端库以使用区域端点。

使用 Datastore 模式 Firestore 客户端库时,您可以使用以下任一端点:

  • 全局端点:默认情况下,Datastore 模式 Firestore 客户端库会将 API 请求发送到名为 datastore.googleapis.com 的全局服务端点。全球服务端点会将请求路由到您的数据库。在路由过程中,请求可能会通过与数据库位置不同的位置的区域服务端点。

  • 区域性端点:区域性端点会实施区域限制,以确保在指定区域存储和处理数据。为确保服务端点在与数据库相同的区域处理应用的 Datastore 模式 Firestore 请求,请在客户端库中指定区域端点

设置区域端点

以下示例展示了如何在初始化 Datastore 模式 Firestore 客户端时设置区域端点。

Java

如需了解如何安装和使用 Datastore 模式的客户端库,请参阅 Datastore 模式客户端库。 如需了解详情,请参阅 Datastore 模式 Java API 参考文档

如需向 Datastore 模式进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证


import com.google.cloud.datastore.Datastore;
import com.google.cloud.datastore.DatastoreOptions;

public class RegionalEndpoint {

  public Datastore createClient() throws Exception {
    // Instantiates a client
    DatastoreOptions options =
        DatastoreOptions.newBuilder().setHost("https://nam5-datastore.googleapis.com").build();
    Datastore datastore = options.getService();
    return datastore;
  }
}

Python

如需了解如何安装和使用 Datastore 模式的客户端库,请参阅 Datastore 模式客户端库。 如需了解详情,请参阅 Datastore 模式 Python API 参考文档

如需向 Datastore 模式进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证

ENDPOINT = "https://eur3-datastore.googleapis.com"
client_options = ClientOptions(api_endpoint=ENDPOINT)
client = datastore.Client(client_options=client_options)

query = client.query(kind="Task")
results = list(query.fetch())
for r in results:
    print(r)

区域性端点语义

Datastore 模式的 Firestore 支持单区域位置和多区域位置的区域端点。

请使用以下格式定义区域性端点:

Java

  https://REGION_NAME-firestore.googleapis.com:443

请确保使用完整的 https 网址,并将端口号与端点一起定义。

Python

  https://REGION_NAME-firestore.googleapis.com

确保将完整的 https 网址设置为区域性端点。

Go

  REGION_NAME-firestore.googleapis.com:443

确保端口号与端点一起定义。

REGION_NAME 替换为单区域或多区域主机名的名称。

主机名的示例如下:

  • eur3-datastore.googleapis.com
  • nam5-datastore.googleapis.com
  • europe-west6-datastore.googleapis.com
  • asia-northeast2-datastore.googleapis.com

如需查看多区域和单区域主机名的完整列表,请参阅 Datastore 模式 Firestore 位置

后续步骤