設定用戶端程式庫端點

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