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

Na tej stronie dowiesz się, jak skonfigurować biblioteki klienta Cloud Firestore, aby korzystały z regionalnego lub obejmującego wiele regionów punktu końcowego.

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

  • Globalny punkt końcowy: domyślnie biblioteki klienta Cloud Firestore wysyłają żądania 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.

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

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

Ustawianie regionalnego lub wieloregionalnego punktu końcowego

Metoda konfigurowania regionalnego lub wieloregionalnego punktu końcowego jest taka sama: podczas inicjowania biblioteki klienta podajesz ciąg znaków punktu końcowego. W przykładach poniżej pokazujemy, 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 odpowiadający lokalizacji bazy danych (np. firestore.us.rep.googleapis.com w przypadku 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 multiregionalnych punktów końcowych

Regional Endpoints (REP):

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

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

Java

  firestore.REGION_NAME.rep.googleapis.com:443

Upewnij się, że numer portu jest zdefiniowany wraz 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 wraz z punktem końcowym.

Zastąp REGION_NAME nazwą regionalnego hosta.

Przykłady nazw hostów:

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

Punkty końcowe w wielu regionach (MREP)

W przypadku punktów końcowych obejmujących wiele regionów używaj us w przypadku lokalizacji nam5nam7 oraz eu w przypadku lokalizacji eur3 (patrz Lokalizacje obejmujące wiele regionów).

Java

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

Upewnij się, że numer portu jest zdefiniowany wraz 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 wraz z punktem końcowym.

Ograniczenia

Punkty końcowe lokalizacji (wycofane)

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

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

Java

  REGION_NAME-firestore.googleapis.com:443

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

Python

  REGION_NAME-firestore.googleapis.com

Go

  REGION_NAME-firestore.googleapis.com:443

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

Zastąp REGION_NAME nazwą hosta w jednym lub wielu regionach.

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 multiregionalnych i regionalnych znajdziesz w artykule Cloud Firestore lokalizacje.

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

Aby wymusić używanie regionalnych i wieloregionalnych punktów końcowych, użyj ograniczenia zasady organizacji constraints/gcp.restrictEndpointUsage, aby zablokować żądania do globalnego punktu końcowego API. Więcej informacji znajdziesz w sekcji Ograniczanie korzystania z punktów końcowych.