Mengonfigurasi lokalitas data dengan endpoint regional

Halaman ini menjelaskan cara mengonfigurasi library klien Cloud Firestore untuk menggunakan endpoint regional atau multi-regional.

Saat menggunakan library klien Cloud Firestore, Anda dapat menggunakan salah satu endpoint berikut:

  • Endpoint global: Secara default, library klien Cloud Firestore mengirim permintaan API ke endpoint layanan global bernama firestore.googleapis.com. Endpoint layanan global mengarahkan permintaan ke database Anda. Selama perutean, permintaan dapat melewati server di lokasi yang berbeda dengan lokasi database Anda.

  • Endpoint regional: Endpoint regional menerapkan batasan untuk memastikan bahwa data ditransmisikan, disimpan, dan diproses di Google Cloudregion tertentu. Untuk memastikan bahwa endpoint layanan memproses permintaan Cloud Firestore aplikasi Anda di region yang sama dengan database Anda, tentukan endpoint regional di library klien.

  • Endpoint multi-regional: Endpoint multi-regional menerapkan batasan untuk memastikan bahwa data disimpan dan diproses di multi-region tertentu. Untuk memastikan bahwa endpoint layanan memproses permintaan Cloud Firestore aplikasi Anda di multi-region yang sama dengan database Anda, tentukan endpoint multi-regional di library klien.

Menetapkan endpoint regional atau multi-regional

Metode untuk mengonfigurasi endpoint regional atau multiregional sama: Anda memberikan string endpoint saat menginisialisasi library klien. Contoh berikut menunjukkan cara menetapkan string endpoint menggunakan endpoint regional (firestore.us-central1.rep.googleapis.com). Untuk menggunakan endpoint multi-regional, berikan string endpoint multi-regional yang sesuai dengan lokasi database Anda (misalnya, firestore.us.rep.googleapis.com untuk nam5).

Java

Untuk mengetahui informasi lebih lanjut tentang cara menginstal dan membuat klien Cloud Firestore, lihat Library Klien Cloud Firestore.


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

Untuk mengetahui informasi lebih lanjut tentang cara menginstal dan membuat klien Cloud Firestore, lihat Library Klien Cloud Firestore.

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)

Semantik endpoint regional dan multi-regional

Endpoint Regional (REP):

Cloud Firestore mendukung endpoint regional untuk lokasi regional yang tercantum di sini Lokasi Cloud Firestore.

Gunakan format berikut untuk menentukan endpoint regional:

Java

  firestore.REGION_NAME.rep.googleapis.com:443

Pastikan nomor port ditentukan bersama dengan endpoint.

Python

  firestore.REGION_NAME.rep.googleapis.com

Go

  firestore.REGION_NAME.rep.googleapis.com:443

Pastikan nomor port ditentukan bersama dengan endpoint.

Ganti REGION_NAME dengan nama hostname regional.

Beberapa contoh nama host adalah:

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

Multi-regional Endpoints (MREP)

Untuk endpoint multi-regional, gunakan us untuk lokasi nam5 dan nam7, serta eu untuk lokasi eur3 (lihat Lokasi multi-regional).

Java

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

Pastikan nomor port ditentukan bersama dengan endpoint.

Python

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

Go

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

Pastikan nomor port ditentukan bersama dengan endpoint.

Keterbatasan

Endpoint Lokasi (Tidak digunakan lagi)

Endpoint lokasi kini tidak digunakan lagi. Gunakan endpoint regional atau multi-regional sebagai gantinya.

Cloud Firestore sebelumnya mendukung endpoint lokasi dengan format berikut:

Java

  REGION_NAME-firestore.googleapis.com:443

Pastikan nomor port ditentukan bersama dengan endpoint.

Python

  REGION_NAME-firestore.googleapis.com

Go

  REGION_NAME-firestore.googleapis.com:443

Pastikan nomor port ditentukan bersama dengan endpoint.

Ganti REGION_NAME dengan nama host regional atau multi-regional.

Beberapa contoh nama host adalah:

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

Untuk mengetahui daftar lengkap nama host multi-region dan regional, lihat Lokasi Cloud Firestore.

Membatasi penggunaan endpoint API global

Untuk membantu menerapkan penggunaan endpoint regional dan multi-regional, gunakan batasan kebijakan organisasi constraints/gcp.restrictEndpointUsage untuk memblokir permintaan ke endpoint API global. Untuk mengetahui informasi selengkapnya, lihat Membatasi penggunaan endpoint.