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:
Imposta l'endpoint in
ClientSettings.Buildere creaClientSettings:// Replace with your desired endpoint String endpoint = "customEndpoint.com:443"; KeyManagementServiceSettings keyManagementServiceSettings = KeyManagementServiceSettings.newBuilder() .setEndpoint(endpoint) .build();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:
- 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();