このページでは、リージョン エンドポイントまたはマルチリージョン エンドポイントを使用するように Cloud Firestore クライアント ライブラリを構成する方法について説明します。
Cloud Firestore クライアント ライブラリを使用する場合は、次のいずれかのエンドポイントを使用できます。
グローバル エンドポイント: デフォルトでは、Cloud Firestore クライアント ライブラリは、
firestore.googleapis.comという名前のグローバル サービス エンドポイントに API リクエストを送信します。グローバル サービス エンドポイントがリクエストをデータベースにルーティングします。ルーティング中に、リクエストがデータベースのロケーションとは異なるロケーションのサーバーを経由する場合があります。リージョン エンドポイント: リージョン エンドポイントには制約が適用されます。これにより、データが指定された Google Cloud リージョンで転送、保存、処理されることが保証されます。サービス エンドポイントがデータベースと同じリージョンのアプリの Cloud Firestore リクエストを処理するには、クライアント ライブラリでリージョン エンドポイントを指定します。
マルチリージョン エンドポイント: マルチリージョン エンドポイントには制約が適用されます。これにより、データが指定されたマルチリージョンに保存され、処理されることが保証されます。サービス エンドポイントがデータベースと同じマルチリージョンでアプリの Cloud Firestore リクエストを処理するようにするには、クライアント ライブラリでマルチリージョン エンドポイントを指定します。
リージョン エンドポイントまたはマルチリージョン エンドポイントを設定する
リージョン エンドポイントまたはマルチリージョン エンドポイントを構成する方法は同じです。クライアント ライブラリを初期化するときにエンドポイント文字列を指定します。次の例は、リージョン エンドポイント(firestore.us-central1.rep.googleapis.com)を使用してエンドポイント文字列を設定する方法を示しています。マルチリージョン エンドポイントを使用するには、データベースのロケーションに対応するマルチリージョン エンドポイント文字列を指定します(たとえば、nam5 の場合は firestore.us.rep.googleapis.com)。
Java
Cloud Firestore クライアントのインストールと作成の詳細については、Cloud Firestore クライアント ライブラリをご覧ください。
Python
Cloud Firestore クライアントのインストールと作成の詳細については、Cloud Firestore クライアント ライブラリをご覧ください。
リージョン エンドポイントとマルチリージョン エンドポイントのセマンティクス
リージョン エンドポイント(REP):
Cloud Firestore は、Cloud Firestore のロケーションに記載されているリージョン ロケーションのリージョン エンドポイントをサポートしています。
次の形式を使用してリージョン エンドポイントを定義します。
Java
firestore.REGION_NAME.rep.googleapis.com:443
エンドポイントとともにポート番号が定義されていることを確認します。
Python
firestore.REGION_NAME.rep.googleapis.com
Go
firestore.REGION_NAME.rep.googleapis.com:443
エンドポイントとともにポート番号が定義されていることを確認します。
REGION_NAME は、リージョン ホストの名前に置き換えます。
ホスト名の例を以下に示します。
firestore.us-central1.rep.googleapis.comfirestore.europe-west1.rep.googleapis.com
マルチリージョン エンドポイント(MREP)
マルチリージョン エンドポイントの場合は、ロケーション nam5 と nam7 に us を使用し、ロケーション eur3 に eu を使用します(マルチリージョン ロケーションをご覧ください)。
Java
firestore.us.rep.googleapis.com:443
firestore.eu.rep.googleapis.com:443
エンドポイントとともにポート番号が定義されていることを確認します。
Python
firestore.us.rep.googleapis.com
firestore.eu.rep.googleapis.com
Go
firestore.us.rep.googleapis.com:443
firestore.eu.rep.googleapis.com:443
エンドポイントとともにポート番号が定義されていることを確認します。
制限事項
- リージョン エンドポイントとマルチリージョン エンドポイントは、リアルタイム リスナーをサポートしていません。
ロケーション エンドポイント(非推奨)
ロケーション エンドポイントは非推奨になりました。代わりに、リージョン エンドポイントまたはマルチリージョン エンドポイントを使用してください。
以前の Cloud Firestore では、次の形式のロケーション エンドポイントがサポートされていました。
Java
REGION_NAME-firestore.googleapis.com:443
エンドポイントとともにポート番号が定義されていることを確認します。
Python
REGION_NAME-firestore.googleapis.com
Go
REGION_NAME-firestore.googleapis.com:443
エンドポイントとともにポート番号が定義されていることを確認します。
REGION_NAME は、リージョンまたはマルチリージョンのホスト名に置き換えます。
ホスト名の例を以下に示します。
eur3-firestore.googleapis.comnam5-firestore.googleapis.comeurope-west6-firestore.googleapis.comasia-northeast2-firestore.googleapis.com
マルチリージョンとリージョンのホスト名の完全なリストについては、 Cloud Firestore のロケーションをご覧ください。
グローバル API エンドポイントの使用を制限する
リージョン エンドポイントとマルチリージョン エンドポイントの使用を強制するには、constraints/gcp.restrictEndpointUsage 組織のポリシーの制約を使用して、グローバル API エンドポイントへのリクエストをブロックします。詳細については、エンドポイントの使用の制限をご覧ください。