Configura gli endpoint della libreria client

Ogni Google Cloud servizio API è accessibile tramite un endpoint specifico del servizio.

Ad esempio, le librerie client Java-Speech e Java-Translate hanno endpoint predefiniti https://speech.googleapis.com:443 e https://translate.googleapis.com:443 rispettivamente.

Le librerie client di Cloud per Java determinano automaticamente l'endpoint di servizio corretto durante l'inizializzazione del client. Se non è configurato alcun endpoint personalizzato, le librerie utilizzano l'endpoint predefinito del servizio.

Struttura di un endpoint

Utilizzando l'endpoint Java-Speech come esempio, la tabella seguente descrive in dettaglio le sezioni che compongono l'endpoint:

Scheme Nome servizio Dominio universo Porta
https:// speech googleapis.com 443

Questi sono i valori predefiniti di tutti gli endpoint delle librerie client di Cloud per Java, ad eccezione del nome del servizio. Il nome del servizio non ha un valore predefinito perché ogni Google Cloud servizio ha un valore diverso.

Quando configurare un endpoint personalizzato

Esistono alcuni casi d'uso per sostituire l'endpoint predefinito, ad esempio:

  • Il servizio offre endpoint regionali. L'endpoint predefinito non considera le varianti regionali.
  • Non stai lavorando in produzione. Ad esempio, stai eseguendo test in locale con un emulatore senza configurare TLS.

Modifica la configurazione dell'endpoint solo se necessario. Quando utilizzi un endpoint personalizzato, devi includere il numero di porta (ad esempio, example.com:443). A differenza degli endpoint di servizio predefiniti, le librerie client non aggiungono automaticamente una porta predefinita come 443 agli endpoint personalizzati.

Configura un endpoint personalizzato

Puoi impostare l'endpoint da ClientSettings specifico del servizio nelle librerie client di Cloud per Java.

L'esempio seguente utilizza Java-KMS:

  1. Imposta l'endpoint in ClientSettings.Builder e crea ClientSettings:

    // Replace with your desired endpoint
    String endpoint = "customEndpoint.com:443";
    KeyManagementServiceSettings keyManagementServiceSettings =
     KeyManagementServiceSettings.newBuilder()
        .setEndpoint(endpoint)
        .build();
    
  2. Inizia il client con ClientSettings:

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

    L'endpoint viene risolto in customEndpoint.com:443.

    Il client utilizza l'endpoint dalla prima delle seguenti origini che ne fornisce una:

    1. L'endpoint impostato in modo programmatico tramite ClientSettings.Builder.setEndpoint().
    2. L'endpoint predefinito del servizio, ad esempio https://{serviceName}.googleapis.com:443.

Il seguente snippet mostra come determinare l'endpoint risolto del client:

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