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

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

Gdy używasz bibliotek klienta Cloud Firestore, możesz korzystać 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 wysyłane do globalnego punktu końcowego API. Więcej informacji znajdziesz w sekcji Ograniczanie korzystania z punktów końcowych.