Định cấu hình tính cục bộ của dữ liệu bằng các điểm cuối theo khu vực

Trang này mô tả cách định cấu hình thư viện ứng dụng Cloud Firestore để sử dụng điểm cuối theo khu vực hoặc đa khu vực.

Khi sử dụng Cloud Firestore thư viện ứng dụng, bạn có thể sử dụng bất kỳ điểm cuối nào sau đây:

  • Điểm cuối toàn cầu: Theo mặc định, thư viện ứng dụng Cloud Firestore sẽ gửi các yêu cầu API đến một điểm cuối dịch vụ toàn cầu có tên là firestore.googleapis.com. Điểm cuối dịch vụ toàn cầu sẽ định tuyến yêu cầu đến cơ sở dữ liệu của bạn. Trong quá trình định tuyến, một yêu cầu có thể đi qua một máy chủ ở vị trí khác với vị trí cơ sở dữ liệu của bạn.

  • Điểm cuối theo khu vực: Điểm cuối theo khu vực sẽ thực thi các hạn chế để đảm bảo rằng dữ liệu được truyền, lưu trữ và xử lý ở một Google Cloud khu vực được chỉ định. Để đảm bảo rằng điểm cuối dịch vụ xử lý các yêu cầu Cloud Firestore của ứng dụng ở cùng khu vực với cơ sở dữ liệu của bạn, hãy chỉ định một điểm cuối theo khu vực trong thư viện ứng dụng.

  • Điểm cuối đa khu vực: Điểm cuối đa khu vực sẽ thực thi các hạn chế để đảm bảo rằng dữ liệu được lưu trữ và xử lý ở một đa khu vực được chỉ định. Để đảm bảo rằng điểm cuối dịch vụ xử lý các yêu cầu Cloud Firestore của ứng dụng ở cùng đa khu vực với cơ sở dữ liệu của bạn, hãy chỉ định một điểm cuối đa khu vực trong thư viện ứng dụng.

Thiết lập điểm cuối theo khu vực hoặc đa khu vực

Phương thức định cấu hình điểm cuối theo khu vực hoặc đa khu vực là giống nhau: bạn cung cấp chuỗi điểm cuối khi khởi chạy thư viện ứng dụng. Các ví dụ sau đây cho biết cách thiết lập chuỗi điểm cuối bằng điểm cuối theo khu vực (firestore.us-central1.rep.googleapis.com). Để sử dụng điểm cuối đa khu vực, hãy cung cấp chuỗi điểm cuối đa khu vực tương ứng với vị trí của cơ sở dữ liệu (ví dụ: firestore.us.rep.googleapis.com cho nam5).

Java

Để biết thêm thông tin về cách cài đặt và tạo ứng dụng Cloud Firestore, hãy tham khảo Cloud Firestore Client Libraries.


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

Để biết thêm thông tin về cách cài đặt và tạo ứng dụng Cloud Firestore, hãy tham khảo Cloud Firestore Client Libraries.

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)

Ngữ nghĩa của điểm cuối theo khu vực và đa khu vực

Điểm cuối theo khu vực (REP):

Cloud Firestore hỗ trợ điểm cuối theo khu vực cho các vị trí theo khu vực được liệt kê tại đây Cloud Firestore vị trí.

Hãy sử dụng định dạng sau để xác định điểm cuối theo khu vực:

Java

  firestore.REGION_NAME.rep.googleapis.com:443

Hãy đảm bảo rằng số cổng được xác định cùng với điểm cuối.

Python

  firestore.REGION_NAME.rep.googleapis.com

Bắt đầu

  firestore.REGION_NAME.rep.googleapis.com:443

Hãy đảm bảo rằng số cổng được xác định cùng với điểm cuối.

Thay thế REGION_NAME bằng tên của tên máy chủ theo khu vực.

Dưới đây là một số ví dụ về tên máy chủ:

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

Điểm cuối đa khu vực (MREP)

Đối với điểm cuối đa khu vực, hãy sử dụng us cho các vị trí nam5nam7, đồng thời sử dụng eu cho vị trí eur3 (xem Vị trí đa khu vực).

Java

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

Hãy đảm bảo rằng số cổng được xác định cùng với điểm cuối.

Python

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

Bắt đầu

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

Hãy đảm bảo rằng số cổng được xác định cùng với điểm cuối.

Hạn chế

Điểm cuối theo vị trí (Không dùng nữa)

Điểm cuối theo vị trí hiện không dùng nữa. Thay vào đó, hãy sử dụng điểm cuối theo khu vực hoặc đa khu vực.

Cloud Firestore trước đây hỗ trợ điểm cuối theo vị trí theo định dạng sau:

Java

  REGION_NAME-firestore.googleapis.com:443

Hãy đảm bảo rằng số cổng được xác định cùng với điểm cuối.

Python

  REGION_NAME-firestore.googleapis.com

Bắt đầu

  REGION_NAME-firestore.googleapis.com:443

Hãy đảm bảo rằng số cổng được xác định cùng với điểm cuối.

Thay thế REGION_NAME bằng tên của tên máy chủ theo khu vực hoặc đa khu vực.

Dưới đây là một số ví dụ về tên máy chủ:

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

Để xem danh sách đầy đủ tên máy chủ đa khu vực và theo khu vực, hãy xem bài viết Cloud Firestore vị trí.

Hạn chế việc sử dụng điểm cuối API toàn cầu

Để giúp thực thi việc sử dụng điểm cuối theo khu vực và đa khu vực, hãy sử dụng ràng buộc chính sách tổ chức constraints/gcp.restrictEndpointUsage để chặn các yêu cầu đến điểm cuối API toàn cầu. Để biết thêm thông tin, hãy xem bài viết Hạn chế việc sử dụng điểm cuối.