Đị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 một điểm cuối theo khu vực hoặc đa khu vực.

Khi sử dụng thư viện ứng dụng Cloud Firestore, 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, các 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 thực thi các quy định hạn chế để đảm bảo rằng dữ liệu được truyền, lưu trữ và xử lý ở một khu vực Google Cloud cụ thể. Để đả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, 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 thực thi các quy định hạn chế để đảm bảo dữ liệu được lưu trữ và xử lý ở một khu vực đa khu vực cụ thể. Để đả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 trong cùng một khu vực, hãy chỉ định một điểm cuối đa khu vực trong thư viện ứng dụng.

Đặt một điểm cuối theo khu vực hoặc đa khu vực

Phương thức định cấu hình một điểm cuối theo khu vực hoặc nhiều khu vực là giống nhau: bạn cung cấp chuỗi điểm cuối khi khởi tạo thư viện ứng dụng. Các ví dụ sau đây cho thấy cách đặt chuỗi điểm cuối bằng cách sử dụ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


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)

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ợ các điểm cuối theo khu vực cho các vị trí theo khu vực được liệt kê tại đây các vị trí của Cloud Firestore.

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

Java

  firestore.REGION_NAME.rep.googleapis.com:443

Đảm bảo rằng bạn xác định số cổng cùng với điểm cuối.

Python

  firestore.REGION_NAME.rep.googleapis.com

Go

  firestore.REGION_NAME.rep.googleapis.com:443

Đảm bảo rằng bạn xác định số cổng cùng với điểm cuối.

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

Sau đâ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 các đ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 phần Vị trí đa khu vực).

Java

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

Đảm bảo rằng bạn xác định số cổng cùng với điểm cuối.

Python

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

Go

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

Đảm bảo rằng bạn xác định số cổng cùng với điểm cuối.

Hạn chế

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

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

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

Java

  REGION_NAME-firestore.googleapis.com:443

Đảm bảo rằng bạn xác định số cổng cùng với điểm cuối.

Python

  REGION_NAME-firestore.googleapis.com

Go

  REGION_NAME-firestore.googleapis.com:443

Đảm bảo rằng bạn xác định số cổng cùng với điểm cuối.

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

Sau đâ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 đủ các tên máy chủ đa khu vực và theo khu vực, hãy xem Cloud Firestorevị trí.

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

Để giúp thực thi việc sử dụng các điểm cuối theo khu vực và đa khu vực, hãy sử dụng quy tắc ràng buộc chính sách tổ chức constraints/gcp.restrictEndpointUsage để chặn các yêu cầu gửi đế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.