各 Google Cloud API サービスには、サービス固有のエンドポイントからアクセスします。
たとえば、Java-Speech クライアント ライブラリと Java-Translate クライアント ライブラリのデフォルト エンドポイントは、それぞれ https://speech.googleapis.com:443 と https://translate.googleapis.com:443 です。
Java 用 Cloud クライアント ライブラリは、クライアントの初期化時に正しいサービス エンドポイントを自動的に判別します。カスタム エンドポイントが構成されていない場合、ライブラリはサービスのデフォルト エンドポイントを使用します。
エンドポイントの構造
Java-Speech エンドポイントを例として、エンドポイントを構成するセクションの詳細を次の表に示します。
| Scheme | サービス名 | ユニバース ドメイン | ポート |
|---|---|---|---|
| https:// | speech | googleapis.com | 443 |
これらは、サービス名を除き、Java 用 Cloud クライアント ライブラリのエンドポイントのデフォルト値です。サービス名は、サービスごとに値が異なるため、デフォルト値はありません Google Cloud 。
カスタム エンドポイントを構成するタイミング
デフォルトのエンドポイントを置き換えるユースケースは次のとおりです。
- サービスがリージョン エンドポイントを提供している。 デフォルトのエンドポイントでは、リージョンのバリアントは考慮されません。
- 本番環境で作業していない。たとえば、TLS を構成せずにエミュレータを使用してローカルでテストしている場合などです。
エンドポイント構成は、必要に応じて変更してください。カスタム
エンドポイントを使用する場合は、ポート番号(example.com:443 など)を含める必要があります。
クライアント ライブラリは、デフォルトのサービス エンドポイントとは異なり、カスタム エンドポイントにデフォルト ポート(443 など)を自動的に追加しません。
カスタム エンドポイントを構成する
Java 用 Cloud クライアント ライブラリのサービス固有の ClientSettings からエンドポイントを設定できます。
次の例では、Java-KMS を使用します。
ClientSettings.Builderでエンドポイントを設定し、ClientSettingsを作成します。// Replace with your desired endpoint String endpoint = "customEndpoint.com:443"; KeyManagementServiceSettings keyManagementServiceSettings = KeyManagementServiceSettings.newBuilder() .setEndpoint(endpoint) .build();ClientSettingsでクライアントを初期化します。try (KeyManagementServiceClient keyManagementServiceClient = KeyManagementServiceClient.create(keyManagementServiceSettings)) { ... }エンドポイントは
customEndpoint.com:443に解決されます。クライアントは、次のソースのいずれかからエンドポイントを使用します。
ClientSettings.Builder.setEndpoint()を使用してプログラムで設定されたエンドポイント。- サービスのデフォルト エンドポイント(
https://{serviceName}.googleapis.com:443など)。
次のスニペットは、クライアントの解決済みエンドポイントを判別する方法を示しています。
// The client's settings class contains a getter for the endpoint
keyManagementServiceClient.getSettings().getEndpoint();