リージョン エンドポイントを使用してデータの局所性を構成する

このページでは、Datastore モードの Firestore クライアント ライブラリを構成して、リージョン エンドポイントを使用する方法について説明します。

Datastore モードの Firestore クライアント ライブラリを使用する場合、次のいずれかのエンドポイントを使用できます。

  • グローバル エンドポイント: デフォルトでは、Datastore モードの Firestore のクライアント ライブラリは、datastore.googleapis.com という名前のグローバル サービス エンドポイントに API リクエストを送信します。グローバル サービス エンドポイントは、リクエストをデータベースに転送します。ルーティング中に、リクエストがデータベースのロケーションとは異なるロケーションにあるリージョン サービス エンドポイントを通過する場合があります。

  • リージョン エンドポイント: リージョン エンドポイントにはリージョンの制約が適用されます。これにより、データが指定されたリージョンに保存され、処理されることが保証されます。サービス エンドポイントがデータベースと同じリージョンの Datastore モードの アプリの Firestore リクエストを処理するには、クライアント ライブラリでリージョン エンドポイントを指定します。

リージョン エンドポイントを設定する

次の例は、Datastore モードの Firestore クライアントを初期化するときにリージョン エンドポイントを設定する方法を示しています。

Java

Datastore モードのクライアント ライブラリをインストールして使用する方法については、Datastore モードのクライアント ライブラリをご覧ください。 詳細については、Datastore モードの Java API のリファレンス ドキュメントをご覧ください。

Datastore モードへの認証を行うには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証を設定するをご覧ください。


import com.google.cloud.datastore.Datastore;
import com.google.cloud.datastore.DatastoreOptions;

public class RegionalEndpoint {

  public Datastore createClient() throws Exception {
    // Instantiates a client
    DatastoreOptions options =
        DatastoreOptions.newBuilder().setHost("https://nam5-datastore.googleapis.com").build();
    Datastore datastore = options.getService();
    return datastore;
  }
}

Python

Datastore モードのクライアント ライブラリをインストールして使用する方法については、Datastore モードのクライアント ライブラリをご覧ください。 詳細については、Datastore モードの Python API のリファレンス ドキュメントをご覧ください。

Datastore モードへの認証を行うには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証を設定するをご覧ください。

ENDPOINT = "https://eur3-datastore.googleapis.com"
client_options = ClientOptions(api_endpoint=ENDPOINT)
client = datastore.Client(client_options=client_options)

query = client.query(kind="Task")
results = list(query.fetch())
for r in results:
    print(r)

リージョン エンドポイントのセマンティクス

Datastore モードの Firestore は、リージョンとマルチリージョン ロケーションの両方のリージョン エンドポイントをサポートしています。

リージョン エンドポイントを定義するには、次の形式を使用します。

Java

  https://REGION_NAME-firestore.googleapis.com:443

完全な https URL が使用されており、ポート番号がエンドポイントとともに定義されていることを確認します。

Python

  https://REGION_NAME-firestore.googleapis.com

リージョン エンドポイントとして、完全な https URL が設定されていることを確認します。

Go

  REGION_NAME-firestore.googleapis.com:443

エンドポイントとともにポート番号が定義されていることを確認します。

REGION_NAME は、リージョン ホスト名またはマルチリージョン ホスト名の名前に置き換えます。

ホスト名には次のような例があります。

  • eur3-datastore.googleapis.com
  • nam5-datastore.googleapis.com
  • europe-west6-datastore.googleapis.com
  • asia-northeast2-datastore.googleapis.com

マルチリージョン ホスト名とリージョン ホスト名の完全なリストについては、Datastore モードの Firestore のロケーションをご覧ください。

次のステップ