הגדרת מיקום נתונים באמצעות נקודות קצה אזוריות

בדף הזה נסביר איך להגדיר את ספריות הלקוח 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. מידע נוסף מופיע במאמר בנושא הגבלת השימוש בנקודות קצה.