Konfigurowanie lokalizacji danych za pomocą regionalnych punktów końcowych

Na tej stronie opisano, jak skonfigurować biblioteki klienta Cloud Firestore, aby używały punktu końcowego w regionie lub w wielu regionach.

Gdy używasz bibliotek klienta Cloud Firestore, możesz korzystać z dowolnego z tych punktów końcowych:

  • Globalny punkt końcowy: domyślnie biblioteki klienta Cloud Firestore wysyłają żądania do interfejsu API do globalnego punktu końcowego usługi o nazwie firestore.googleapis.com. Globalny punkt końcowy usługi kieruje żądanie do bazy danych. Podczas routingu żądanie może przechodzić przez serwer w lokalizacji innej niż lokalizacja bazy danych.

  • Punkt końcowy regionalny: punkt końcowy regionalny wymusza ograniczenia, które zapewniają, że dane są przesyłane, przechowywane i przetwarzane w określonym regionie Google Cloud. Aby mieć pewność, że punkt końcowy usługi przetwarza żądania Cloud Firestore aplikacji w tym samym regionie co baza danych, określ regionalny punkt końcowy w bibliotece klienta.

  • Punkt końcowy w wielu regionach: punkt końcowy w wielu regionach wymusza ograniczenia, które zapewniają, że dane są przechowywane i przetwarzane w określonym regionie obejmującym wiele regionów. Aby mieć pewność, że punkt końcowy usługi przetwarza żądania Cloud Firestore aplikacji w tym samym regionie co baza danych, określ w bibliotece klienta punkt końcowy w wielu regionach.

Ustawianie punktu końcowego w regionie lub wielu regionach

Metoda konfigurowania punktu końcowego w jednym regionie lub w wielu regionach jest taka sama: podczas inicjowania biblioteki klienta podajesz ciąg znaków punktu końcowego. Poniższe przykłady pokazują, jak ustawić ciąg punktu końcowego za pomocą regionalnego punktu końcowego (firestore.us-central1.rep.googleapis.com). Aby użyć punktu końcowego obejmującego wiele regionów, podaj ciąg punktu końcowego obejmującego wiele regionów, który odpowiada lokalizacji bazy danych (np. firestore.us.rep.googleapis.com dla nam5).

Java


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 firestore.us-central1.rep.googleapis.com:443
            .setHost(endpoint)
            .build();
    Firestore dbWithEndpoint = firestoreOptions.getService();

    return dbWithEndpoint;
  }

}

Python

ENDPOINT = "firestore.africa-south1.rep.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)

Semantyka regionalnych i obejmujących wiele regionów punktów końcowych

Regionalne punkty końcowe (REP):

Cloud Firestore obsługuje regionalne punkty końcowe w lokalizacjach regionalnych wymienionych tutaj: Cloud Firestore lokalizacje.

Aby zdefiniować punkty końcowe regionu, użyj tego formatu:

Java

  firestore.REGION_NAME.rep.googleapis.com:443

Upewnij się, że numer portu jest zdefiniowany razem z punktem końcowym.

Python

  firestore.REGION_NAME.rep.googleapis.com

Go

  firestore.REGION_NAME.rep.googleapis.com:443

Upewnij się, że numer portu jest zdefiniowany razem z punktem końcowym.

Zastąp REGION_NAME nazwą regionalnej nazwy hosta.

Przykłady nazw hostów:

  • firestore.us-central1.rep.googleapis.com
  • firestore.europe-west1.rep.googleapis.com

Punkty końcowe w wielu regionach

W przypadku punktów końcowych w wielu regionach użyj us dla lokalizacji nam5 i nam7 oraz eu dla lokalizacji eur3 (patrz Lokalizacje w wielu regionach).

Java

  firestore.us.rep.googleapis.com:443
  firestore.eu.rep.googleapis.com:443

Upewnij się, że numer portu jest zdefiniowany razem z punktem końcowym.

Python

  firestore.us.rep.googleapis.com
  firestore.eu.rep.googleapis.com

Go

  firestore.us.rep.googleapis.com:443
  firestore.eu.rep.googleapis.com:443

Upewnij się, że numer portu jest zdefiniowany razem z punktem końcowym.

Ograniczenia

Punkty końcowe lokalizacji (wycofane)

Punkty końcowe lokalizacji zostały wycofane. Zamiast tego użyj punktów końcowych regionalnych lub w wielu regionach.

Cloud Firestore obsługiwał wcześniej punkty końcowe lokalizacji w tym formacie:

Java

  REGION_NAME-firestore.googleapis.com:443

Upewnij się, że numer portu jest zdefiniowany razem z punktem końcowym.

Python

  REGION_NAME-firestore.googleapis.com

Go

  REGION_NAME-firestore.googleapis.com:443

Upewnij się, że numer portu jest zdefiniowany razem z punktem końcowym.

Zastąp REGION_NAME nazwą hosta regionalnego lub obejmującego wiele regionów.

Przykłady nazw hostów:

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

Pełną listę nazw hostów w wielu regionach i w jednym regionie znajdziesz w artykule o lokalizacjach Cloud Firestore.

Ograniczanie użycia globalnych punktów końcowych API

Aby wymusić używanie regionalnych punktów końcowych i punktów końcowych obejmujących wiele regionów, użyj ograniczenia zasady organizacji constraints/gcp.restrictEndpointUsage, aby blokować żądania wysyłane do globalnego punktu końcowego interfejsu API. Więcej informacji znajdziesz w artykule Ograniczanie korzystania z punktów końcowych.