Mengonfigurasi lokalitas data dengan endpoint regional

Halaman ini menjelaskan cara mengonfigurasi library klien Firestore untuk menggunakan endpoint regional atau multiregional.

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

  • Endpoint global: Secara default, library klien Firestore mengirim permintaan API ke endpoint layanan global bernama firestore.googleapis.com. Endpoint layanan global merutekan permintaan ke database Anda. Selama pemilihan rute, permintaan dapat diteruskan melalui 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 Cloud region tertentu. Untuk memastikan bahwa endpoint layanan memproses permintaan Firestore aplikasi Anda di region yang sama dengan database Anda, tentukan endpoint regional di library klien.

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

Menetapkan endpoint regional atau multiregional

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

Java

Untuk melakukan autentikasi ke Firestore, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.


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 melakukan autentikasi ke Firestore, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.

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 multiregional

Endpoint Regional (REP):

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

Gunakan format berikut untuk menentukan endpoint regional:

Java

    firestore.REGION_NAME.rep.googleapis.com:443

Pastikan nomor port ditentukan bersamaan dengan endpoint.

Python

    firestore.REGION_NAME.rep.googleapis.com

Go

    firestore.REGION_NAME.rep.googleapis.com:443

Pastikan nomor port ditentukan bersamaan dengan endpoint.

Ganti REGION_NAME dengan nama host regional.

Beberapa contoh nama host adalah:

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

Endpoint Multiregional (MREP)

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

Java

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

Pastikan nomor port ditentukan bersamaan 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 bersamaan dengan endpoint.

Batasan

Endpoint Lokasi (Tidak digunakan lagi)

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

Firestore sebelumnya mendukung endpoint lokasi dengan format berikut:

Java

  REGION_NAME-firestore.googleapis.com:443

Pastikan nomor port ditentukan bersamaan dengan endpoint.

Python

  REGION_NAME-firestore.googleapis.com

Go

  REGION_NAME-firestore.googleapis.com:443

Pastikan nomor port ditentukan bersamaan dengan endpoint.

Ganti REGION_NAME dengan nama host regional atau multiregional.

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 multiregional dan regional, lihat Lokasi Firestore.

Membatasi penggunaan endpoint API global

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

Langkah berikutnya