每个 Google Cloud API 服务都通过特定于服务的端点进行访问。
例如,Java-Speech 和 Java-Translate 客户端库的默认端点分别为 https://speech.googleapis.com:443 和 https://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:
在
ClientSettings.Builder中设置端点并创建ClientSettings:// Replace with your desired endpoint String endpoint = "customEndpoint.com:443"; KeyManagementServiceSettings keyManagementServiceSettings = KeyManagementServiceSettings.newBuilder() .setEndpoint(endpoint) .build();使用
ClientSettings初始化客户端:try (KeyManagementServiceClient keyManagementServiceClient = KeyManagementServiceClient.create(keyManagementServiceSettings)) { ... }端点解析为
customEndpoint.com:443。客户端会使用以下来源中第一个提供端点的来源中的端点:
- 通过
ClientSettings.Builder.setEndpoint()以程序化方式设置的端点。 - 服务的默认端点,例如
https://{serviceName}.googleapis.com:443。
- 通过
以下代码段展示了如何确定客户端的解析后端点:
// The client's settings class contains a getter for the endpoint
keyManagementServiceClient.getSettings().getEndpoint();