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

หน้านี้อธิบายวิธีกำหนดค่าไลบรารีของไคลเอ็นต์ 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


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)

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

ปลายทางระดับภูมิภาค (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 ส่วนกลาง ดูข้อมูลเพิ่มเติมได้ที่ การจำกัดการใช้งานอุปกรณ์ปลายทาง