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:
Imposta l'endpoint in
ClientSettings.Buildere creaClientSettings:// Replace with your desired endpoint String endpoint = "customEndpoint.com:443"; KeyManagementServiceSettings keyManagementServiceSettings = KeyManagementServiceSettings.newBuilder() .setEndpoint(endpoint) .build();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:
- L'endpoint impostato in modo programmatico tramite
ClientSettings.Builder.setEndpoint(). - L'endpoint predefinito del servizio, ad esempio
https://{serviceName}.googleapis.com:443.
- L'endpoint impostato in modo programmatico tramite
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();