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

Z tej strony dowiesz się, jak skonfigurować biblioteki klienta Cloud Firestore, aby korzystać z regionalnego lub wieloregionalnego 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 API do globalnego punktu końcowego usługi o nazwie firestore.googleapis.com. Globalny punkt końcowy usługi kieruje żądanie do Twojej bazy danych. Podczas kierowania żądanie może przechodzić przez serwer w lokalizacji innej niż lokalizacja bazy danych.

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

  • Wieloregionalny punkt końcowy: wieloregionalny punkt końcowy 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 Twojej aplikacji w tym samym regionie co Twoja baza danych, określ w bibliotece klienta wieloregionalny punkt końcowy.

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. Poniższe przykłady pokazują, jak ustawić ciąg znaków punktu końcowego za pomocą regionalnego punktu końcowego (firestore.us-central1.rep.googleapis.com). Aby użyć wieloregionalnego punktu końcowego, podaj ciąg znaków wieloregionalnego punktu końcowego 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 wieloregionalnych punktów końcowych

Regionalne punkty końcowe (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 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.

Oto kilka przykładów nazw hostów:

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

Wieloregionalne punkty końcowe (MREP)

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

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 nich używaj regionalnych lub wieloregionalnych punktów końcowych.

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ą regionalnej lub wieloregionalnej nazwy hosta.

Oto kilka przykładów nazw hostów:

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

Pełną listę wieloregionalnych i regionalnych nazw hostów znajdziesz w artykule Cloud Firestore locations.

Ograniczanie użycia globalnego punktu końcowego 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 artykule Ograniczanie użycia punktów końcowych.