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

Bu sayfada, Cloud Firestore istemci kitaplıklarının bölgesel veya çok bölgeli bir uç nokta kullanacak şekilde 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 istek, veritabanınızın konumundan farklı bir konumdaki sunucudan geçebilir.

  • Bölgesel uç nokta: Bölgesel uç nokta, verilerin belirli bir Google Cloud bölgesinde aktarılmasını, depolanmasını ve işlenmesini sağlayan kısıtlamaları uygular. Hizmet uç noktasının, uygulamanızın isteklerini veritabanınızla aynı bölgede işlediğinden emin olmak için istemci kitaplığında bölgesel uç nokta belirtin.Cloud Firestore

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

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

Bölgesel veya çok bölgeli 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 uç nokta (firestore.us-central1.rep.googleapis.com) kullanarak uç nokta dizesinin nasıl ayarlanacağı gösterilmektedir. Çok bölgeli uç nokta kullanmak için veritabanınızın konumuna karşılık gelen çok bölgeli uç nokta dizesini (ör. nam5 için firestore.us.rep.googleapis.com) sağlayın.

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)

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ç noktayla 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ç noktayla birlikte tanımlandığından emin olun.

REGION_NAME ifadesini bölgesel ana makine adıyla değiştirin.

Ana makine adlarına örnek olarak şunlar verilebilir:

  • 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 nam5 ve nam7 konumlarında us, eur3 konumunda ise eu kullanın (Çok bölgeli konumlar bölümüne bakın).

Java

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

Bağlantı noktası numarasının uç noktayla 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ç noktayla birlikte tanımlandığından emin olun.

Sınırlamalar

Konuma Dayalı Uç Noktalar (Desteği Sonlandırıldı)

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, daha önce aşağıdaki biçimde konuma dayalı uç noktaları destekliyordu:

Java

  REGION_NAME-firestore.googleapis.com:443

Bağlantı noktası numarasının uç noktayla 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ç noktayla birlikte tanımlandığından emin olun.

REGION_NAME ifadesini bölgesel veya çok bölgeli ana makine adlarıyla değiştirin.

Ana makine adlarına örnek olarak şunlar verilebilir:

  • 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 global API uç noktasına yönelik istekleri engelleyin. Daha fazla bilgi için Uç nokta kullanımını kısıtlama başlıklı makaleyi inceleyin.