Datenspeicherort mit regionalen Endpunkten konfigurieren

Auf dieser Seite wird beschrieben, wie Sie die Firestore-Clientbibliotheken konfigurieren um einen regionalen Endpunkt zu verwenden.

Wenn Sie Firestore-Clientbibliotheken verwenden, können Sie einen der folgenden Endpunkte verwenden:

  • Globaler Endpunkt: Standardmäßig senden die Firestore-Clientbibliotheken API-Anfragen an einen globalen Dienstendpunkt mit dem Namen firestore.googleapis.com. Der globale Dienstendpunkt leitet die Anfrage an Ihre Datenbank weiter. Während des Routings wird eine Anfrage durch einen regionalen Dienstendpunkt an einem anderen Standort geleitet wird, aus Ihrer Datenbank aus.

  • Regionaler Endpunkt: Ein regionaler Endpunkt erzwingt regionale Einschränkungen, damit Daten in einer bestimmten Region gespeichert und verarbeitet werden. Um zu gewährleisten, dass der Dienstendpunkt den Firestore Ihrer Anwendung verarbeitet Anfragen in derselben Region wie Ihre Datenbank, geben Sie einen regionalen Endpunkt an in der Clientbibliothek.

Regionalen Endpunkt festlegen

In den folgenden Beispielen wird gezeigt, wie Sie einen regionalen Endpunkt festlegen, wenn Sie einen Firestore-Client initialisieren. Wenn Sie einen anderen regionalen Endpunkt als den angeben, an dem sich Ihre Daten befinden, kann das zu einem PermissionDeniedError-Fehler führen.

Java

Richten Sie Standardanmeldedaten für Anwendungen ein, um sich bei Firestore zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.


import com.google.auth.oauth2.GoogleCredentials;
import com.google.cloud.firestore.Firestore;
import com.google.cloud.firestore.FirestoreOptions;


/**
 * Demonstrate how to set a regional endpoint.
 */
public class RegionalEndpointSnippets {

  /**
   * Create a client with a regional endpoint.
   **/
  public Firestore regionalEndpoint(String projectId, String endpoint) throws Exception {
    FirestoreOptions firestoreOptions =
        FirestoreOptions.newBuilder()
            .setProjectId(projectId)
            .setCredentials(GoogleCredentials.getApplicationDefault())
            // set endpoint like nam5-firestore.googleapis.com:443
            .setHost(endpoint)
            .build();
    Firestore dbWithEndpoint = firestoreOptions.getService();

    return dbWithEndpoint;
  }

}

Python

Richten Sie Standardanmeldedaten für Anwendungen ein, um sich bei Firestore zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.

ENDPOINT = "nam5-firestore.googleapis.com"
client_options = ClientOptions(api_endpoint=ENDPOINT)
db = firestore.Client(client_options=client_options)

cities_query = db.collection("cities").limit(2).get()
for r in cities_query:
    print(r)

Semantik regionaler Endpunkte

Firestore unterstützt regionale Endpunkte sowohl für regionale als auch für multiregionale Standorte.

Verwenden Sie das folgende Format, um regionale Endpunkte zu definieren:

Java

  REGION_NAME-firestore.googleapis.com:443

Achten Sie darauf, dass die Portnummer zusammen mit dem Endpunkt definiert ist.

Python

  REGION_NAME-firestore.googleapis.com

Go

  REGION_NAME-firestore.googleapis.com:443

Die Portnummer muss zusammen mit dem Endpunkt definiert sein.

Ersetzen Sie REGION_NAME durch den Namen eines regionalen oder multiregionalen Hostnamens.

Beispiele für Hostnamen:

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

Eine vollständige Liste der multiregionalen und regionalen Hostnamen finden Sie unter Firestore-Standorte.

Nächste Schritte