每個 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();