กำหนดค่าการเข้าถึงข้อมูลในพื้นที่ด้วยปลายทางระดับภูมิภาค

หน้านี้อธิบายวิธีกำหนดค่าไลบรารีไคลเอ็นต์ Cloud Firestore เพื่อ ใช้ปลายทางระดับภูมิภาคหรือหลายภูมิภาค

เมื่อใช้ไลบรารีของไคลเอ็นต์ Cloud Firestore คุณจะใช้ปลายทางต่อไปนี้ได้

  • ปลายทางส่วนกลาง: โดยค่าเริ่มต้น ไลบรารีของไคลเอ็นต์ Cloud Firestore จะส่งคำขอ API ไปยังปลายทางบริการส่วนกลางชื่อ firestore.googleapis.com ปลายทางบริการส่วนกลางจะกำหนดเส้นทางคำขอไปยังฐานข้อมูล ในระหว่างการกำหนดเส้นทาง คำขออาจผ่านเซิร์ฟเวอร์ในตำแหน่งที่แตกต่างจากตำแหน่งฐานข้อมูลของคุณ

  • ปลายทางระดับภูมิภาค: ปลายทางระดับภูมิภาคจะบังคับใช้ข้อจำกัดเพื่อให้มั่นใจว่าระบบจะส่ง จัดเก็บ และประมวลผลข้อมูลในGoogle Cloudภูมิภาคที่ระบุ หากต้องการให้ปลายทางของบริการประมวลผลคำขอของแอปในภูมิภาคเดียวกับฐานข้อมูล ให้ระบุปลายทางระดับภูมิภาคในไลบรารีไคลเอ็นต์Cloud Firestore

  • ปลายทางแบบหลายภูมิภาค: ปลายทางแบบหลายภูมิภาคจะบังคับใช้ข้อจำกัด เพื่อให้มั่นใจว่าข้อมูลจะได้รับการจัดเก็บและประมวลผลในหลายภูมิภาคที่ระบุ หากต้องการให้ปลายทางของบริการประมวลผลคำขอของแอปในหลายภูมิภาคเดียวกับฐานข้อมูล ให้ระบุปลายทางแบบหลายภูมิภาคในไลบรารีไคลเอ็นต์Cloud Firestore

ตั้งค่าปลายทางระดับภูมิภาคหรือแบบหลายภูมิภาค

วิธีการกำหนดค่าปลายทางระดับภูมิภาคหรือหลายภูมิภาคจะเหมือนกัน นั่นคือคุณระบุสตริงปลายทางเมื่อเริ่มต้นไลบรารีไคลเอ็นต์ ตัวอย่างต่อไปนี้แสดงวิธีตั้งค่าสตริงปลายทางโดยใช้ปลายทางระดับภูมิภาค (firestore.us-central1.rep.googleapis.com) หากต้องการใช้ปลายทางแบบหลายภูมิภาค ให้ระบุสตริงปลายทางแบบหลายภูมิภาคที่สอดคล้องกับ ตำแหน่งของฐานข้อมูล (เช่น firestore.us.rep.googleapis.com สำหรับ nam5)

Java

ดูข้อมูลเพิ่มเติมเกี่ยวกับการติดตั้งและสร้างCloud Firestoreไคลเอ็นต์ได้ที่ Cloud Firestoreไลบรารีของไคลเอ็นต์


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ไคลเอ็นต์ได้ที่ Cloud Firestoreไลบรารีของไคลเอ็นต์

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)

ความหมายของปลายทางระดับภูมิภาคและหลายภูมิภาค

ปลายทางระดับภูมิภาค (REP):

Cloud Firestore รองรับปลายทางระดับภูมิภาคสำหรับสถานที่ตั้งระดับภูมิภาคที่ระบุไว้ ที่นี่ Cloud Firestore สถานที่ตั้ง

ใช้รูปแบบต่อไปนี้เพื่อกำหนดปลายทางระดับภูมิภาค

Java

  firestore.REGION_NAME.rep.googleapis.com:443

ตรวจสอบว่าได้กำหนดหมายเลขพอร์ตพร้อมกับปลายทางแล้ว

Python

  firestore.REGION_NAME.rep.googleapis.com

Go

  firestore.REGION_NAME.rep.googleapis.com:443

ตรวจสอบว่าได้กำหนดหมายเลขพอร์ตพร้อมกับปลายทางแล้ว

แทนที่ REGION_NAME ด้วยชื่อของชื่อโฮสต์ระดับภูมิภาค

ตัวอย่างชื่อโฮสต์ ได้แก่

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

ปลายทางแบบหลายภูมิภาค (MREP)

สำหรับปลายทางหลายภูมิภาค ให้ใช้ us สำหรับสถานที่ตั้ง nam5 และ nam7 และ eu สำหรับสถานที่ตั้ง eur3 (ดูสถานที่ตั้งหลายภูมิภาค)

Java

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

ตรวจสอบว่าได้กำหนดหมายเลขพอร์ตพร้อมกับปลายทางแล้ว

Python

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

Go

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

ตรวจสอบว่าได้กำหนดหมายเลขพอร์ตพร้อมกับปลายทางแล้ว

ข้อจำกัด

ปลายทางตามตำแหน่ง (เลิกใช้งานแล้ว)

ตอนนี้เราเลิกใช้งานปลายทางตามตำแหน่งแล้ว โปรดใช้ปลายทางระดับภูมิภาคหรือหลายภูมิภาคแทน

Cloud Firestore รองรับปลายทางตามตำแหน่งก่อนหน้านี้ในรูปแบบต่อไปนี้

Java

  REGION_NAME-firestore.googleapis.com:443

ตรวจสอบว่าได้กำหนดหมายเลขพอร์ตพร้อมกับปลายทางแล้ว

Python

  REGION_NAME-firestore.googleapis.com

Go

  REGION_NAME-firestore.googleapis.com:443

ตรวจสอบว่าได้กำหนดหมายเลขพอร์ตพร้อมกับปลายทางแล้ว

แทนที่ REGION_NAME ด้วยชื่อโฮสต์ระดับภูมิภาคหรือหลายภูมิภาค

ตัวอย่างชื่อโฮสต์ ได้แก่

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

ดูรายชื่อชื่อโฮสต์แบบหลายภูมิภาคและระดับภูมิภาคทั้งหมดได้ที่ Cloud Firestore

จำกัดการใช้งานปลายทาง API ทั่วโลก

หากต้องการช่วยบังคับใช้ปลายทางระดับภูมิภาคและแบบหลายภูมิภาค ให้ใช้constraints/gcp.restrictEndpointUsageข้อจำกัดของนโยบายองค์กรเพื่อบล็อกคำขอไปยังปลายทาง API ทั่วโลก ดูข้อมูลเพิ่มเติมได้ที่การจำกัด การใช้งาน อุปกรณ์ปลายทาง