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

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

המשך

  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

המשך

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

חשוב לוודא שמספר היציאה מוגדר יחד עם נקודת הקצה.

מגבלות

נקודות קצה (endpoints) למיקום (הוצאו משימוש)

נקודות קצה (endpoint) למיקום הוצאו משימוש. במקום זאת, השתמשו בנקודות קצה אזוריות או במספר אזורים.

בעבר, ב-Cloud Firestore הייתה תמיכה בנקודות קצה מבוססות-מיקום בפורמט הבא:

Java

  REGION_NAME-firestore.googleapis.com:443

חשוב לוודא שמספר היציאה מוגדר יחד עם נקודת הקצה.

Python

  REGION_NAME-firestore.googleapis.com

המשך

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