配置客户端库端点

每个 Google Cloud API 服务都通过特定于服务的端点进行访问。

例如,Java-Speech 和 Java-Translate 客户端库的默认端点分别为 https://speech.googleapis.com:443https://translate.googleapis.com:443

Java 版 Cloud 客户端库会在客户端初始化期间自动确定正确的服务端点。如果未配置任何自定义端点,库将使用服务的默认端点。

端点详解

以下表以 Java-Speech 端点为例,详细说明了构成端点的各个部分:

方案 服务名称 Universe 网域 端口
https:// speech googleapis.com 443

以下是所有 Java 版 Cloud 客户端库端点的默认值(服务名称除外)。服务名称没有默认值,因为每个 Google Cloud 服务都有不同的值。

何时配置自定义端点

在某些使用情形下,需要替换默认端点,例如:

  • 该服务提供区域端点 默认端点不考虑区域变体。
  • 您不在生产环境中工作。例如,您正在本地使用模拟器进行测试,但未配置 TLS。

仅在必要时修改端点配置。使用自定义端点时,您必须添加端口号(例如 example.com:443)。与默认服务端点不同,客户端库不会自动将默认端口(例如 443)附加到自定义端点。

配置自定义端点

您可以在 Java 版 Cloud 客户端库中通过特定于服务的 ClientSettings 设置端点。

以下示例使用 Java-KMS:

  1. ClientSettings.Builder 中设置端点并创建 ClientSettings

    // Replace with your desired endpoint
    String endpoint = "customEndpoint.com:443";
    KeyManagementServiceSettings keyManagementServiceSettings =
     KeyManagementServiceSettings.newBuilder()
        .setEndpoint(endpoint)
        .build();
    
  2. 使用 ClientSettings 初始化客户端:

    try (KeyManagementServiceClient keyManagementServiceClient =
      KeyManagementServiceClient.create(keyManagementServiceSettings)) {
      ...
    }
    

    端点解析为 customEndpoint.com:443

    客户端会使用以下来源中第一个提供端点的来源中的端点:

    1. 通过 ClientSettings.Builder.setEndpoint() 以程序化方式设置的端点。
    2. 服务的默认端点,例如 https://{serviceName}.googleapis.com:443

以下代码段展示了如何确定客户端的解析后端点:

// The client's settings class contains a getter for the endpoint
keyManagementServiceClient.getSettings().getEndpoint();