Configura gli endpoint della libreria client

A ogni servizio API Google Cloud si accede tramite un endpoint specifico del servizio.

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

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

Anatomia di un endpoint

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

Scheme Nome servizio Dominio Universe Porta
https:// discorso googleapis.com 443

Questi sono i valori predefiniti di tutti gli endpoint delle librerie client di Cloud per Java, a parte il 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 determinati casi d'uso per sostituire l'endpoint predefinito, ad esempio:

  • Il servizio offre endpoint regionali. L'endpoint predefinito non tiene conto delle 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). Le librerie client non aggiungono automaticamente una porta predefinita come 443 agli endpoint personalizzati, a differenza di quanto avviene per gli endpoint di servizio predefiniti.

Configura un endpoint personalizzato

Puoi impostare l'endpoint dal 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. Inizializza il client con ClientSettings:

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

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

    Il client utilizza l'endpoint della prima delle seguenti origini che ne fornisce uno:

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