Bölgesel uç noktalarla veri yerelliğini yapılandırma

Bu sayfada, bölgesel veya çok bölgeli bir uç nokta kullanmak için Cloud Firestore istemci kitaplıklarının nasıl yapılandırılacağı açıklanmaktadır.

Cloud Firestore istemci kitaplıklarını kullanırken aşağıdaki uç noktalardan herhangi birini kullanabilirsiniz:

  • Global uç nokta: Varsayılan olarak, Cloud Firestore istemci kitaplıkları API isteklerini firestore.googleapis.com adlı global bir hizmet uç noktasına gönderir. Global hizmet uç noktası, isteği veritabanınıza yönlendirir. Yönlendirme sırasında bir istek, veritabanınızın konumundan farklı bir konumdaki sunucudan geçebilir.

  • Bölgesel uç nokta: Bölgesel uç nokta, verilerin belirtilen bir Google Cloudbölgede iletilmesini, depolanmasını ve işlenmesini sağlayan kısıtlamaları zorunlu kılar. Hizmet uç noktasının, uygulamanızın Cloud Firestore isteklerini veritabanınızla aynı bölgede işlemesini sağlamak için istemci kitaplığında bir bölgesel uç nokta belirtin.

  • Çok bölgeli uç nokta: Çok bölgeli uç nokta, verilerin belirtilen çok bölgeli konumda depolanmasını ve işlenmesini sağlayan kısıtlamaları zorunlu kılar. Hizmet uç noktasının, uygulamanızın Cloud Firestore isteklerini veritabanınızla aynı çoklu bölgede işlemesini sağlamak için istemci kitaplığında bir çoklu bölgesel uç nokta belirtin.

Bölgesel veya çok bölgeli bir uç nokta ayarlama

Bölgesel veya çok bölgeli bir uç nokta yapılandırma yöntemi aynıdır: İstemci kitaplığını başlatırken uç nokta dizesini sağlarsınız. Aşağıdaki örneklerde, bölgesel bir uç nokta (firestore.us-central1.rep.googleapis.com) kullanarak uç nokta dizesinin nasıl ayarlanacağı gösterilmektedir. Çok bölgeli bir uç nokta kullanmak için veritabanınızın konumuna karşılık gelen çok bölgeli bir uç nokta dizesi sağlayın (örneğin, nam5 için firestore.us.rep.googleapis.com).

Java

Cloud Firestore istemcisini yükleme ve oluşturma hakkında daha fazla bilgi için Cloud Firestore İstemci Kitaplıkları başlıklı makaleyi inceleyin.


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

Cloud Firestore istemcisini yükleme ve oluşturma hakkında daha fazla bilgi için Cloud Firestore İstemci Kitaplıkları başlıklı makaleyi inceleyin.

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)

Bölgesel ve çok bölgeli uç nokta semantiği

Bölgesel Uç Noktalar (REP):

Cloud Firestore, burada listelenen bölgesel konumlar için bölgesel uç noktaları destekler Cloud Firestore konumları.

Bölgesel uç noktaları tanımlamak için aşağıdaki biçimi kullanın:

Java

  firestore.REGION_NAME.rep.googleapis.com:443

Bağlantı noktası numarasının uç nokta ile birlikte tanımlandığından emin olun.

Python

  firestore.REGION_NAME.rep.googleapis.com

Go

  firestore.REGION_NAME.rep.googleapis.com:443

Bağlantı noktası numarasının uç nokta ile birlikte tanımlandığından emin olun.

REGION_NAME yerine bölgesel bir ana makine adının adını yazın.

Bazı ana makine adı örnekleri:

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

Çok bölgeli uç noktalar (MREP)

Çok bölgeli uç noktalar için us ve nam7 konumlarında nam5, eur3 konumunda ise eu kullanın (bkz. Çok bölgeli konumlar).

Java

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

Bağlantı noktası numarasının uç nokta ile birlikte tanımlandığından emin olun.

Python

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

Go

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

Bağlantı noktası numarasının uç nokta ile birlikte tanımlandığından emin olun.

Sınırlamalar

Konum Uç Noktaları (Desteği Sonlandırılmış)

Konum uç noktaları artık kullanımdan kaldırılmıştır. Bunun yerine bölgesel veya çok bölgeli uç noktalar kullanın.

Cloud Firestore Aşağıdaki biçimde olan, daha önce desteklenen konum uç noktaları:

Java

  REGION_NAME-firestore.googleapis.com:443

Bağlantı noktası numarasının uç nokta ile birlikte tanımlandığından emin olun.

Python

  REGION_NAME-firestore.googleapis.com

Go

  REGION_NAME-firestore.googleapis.com:443

Bağlantı noktası numarasının uç nokta ile birlikte tanımlandığından emin olun.

REGION_NAME yerine bölgesel veya çok bölgeli bir ana makine adının adını yazın.

Bazı ana makine adı örnekleri:

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

Çok bölgeli ve bölgesel ana makine adlarının tam listesi için Cloud Firestore konumları başlıklı makaleyi inceleyin.

Global API uç noktası kullanımını kısıtlama

Bölgesel ve çok bölgeli uç noktaların kullanımını zorunlu kılmak için constraints/gcp.restrictEndpointUsage kuruluş politikası kısıtlamasını kullanarak genel API uç noktasına yapılan istekleri engelleyin. Daha fazla bilgi için Uç nokta kullanımını kısıtlama başlıklı makaleyi inceleyin.