Mengonfigurasi lokalitas data dengan endpoint regional

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

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 me-rutekan permintaan ke database Anda. Selama pemilihan rute, permintaan mungkin melewati endpoint layanan regional di lokasi yang berbeda dari lokasi database Anda.

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

Menetapkan endpoint regional

Contoh berikut menunjukkan cara menetapkan endpoint regional saat Anda menginisialisasi klien Firestore. Menetapkan endpoint regional selain tempat data Anda berada dapat mengakibatkan error PermissionDeniedError.

Java

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

ENDPOINT = "nam5-firestore.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

Firestore mendukung endpoint regional untuk lokasi region dan multi-region.

Gunakan format berikut untuk menentukan endpoint regional:

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 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 Firestore.

Langkah selanjutnya