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

בדף הזה מוסבר איך להגדיר את ספריות הלקוח של Firestore כדי להשתמש בנקודת קצה אזורית או רב-אזורית.

כשמשתמשים בספריות לקוח של Firestore, אפשר להשתמש בכל אחת מנקודות הקצה הבאות:

  • נקודת קצה גלובלית: כברירת מחדל, ספריות הלקוח של Firestore שולחות בקשות API לנקודת קצה גלובלית של שירות בשם firestore.googleapis.com. נקודת הקצה הגלובלית של השירות מנתבת את הבקשה למסד הנתונים שלכם. במהלך הניתוב, יכול להיות שבקשה תעבור דרך שרת במיקום ששונה ממיקום מסד הנתונים שלכם.

  • נקודת קצה אזורית: נקודת קצה אזורית אוכפת הגבלות כדי להבטיח שהנתונים ישודרו, יאוחסנו ויעובדו באזור Google Cloud מסוים. כדי לוודא שנקודת הקצה של השירות מעבדת את הבקשות של האפליקציה ל-Firestore באותו אזור שבו נמצאת מסד הנתונים, צריך לציין נקודת קצה אזורית בספריית הלקוח.

  • נקודת קצה מרובת אזורים: נקודת קצה מרובת אזורים אוכפת הגבלות כדי להבטיח שהנתונים ישודרו, יאוחסנו ויעובדו ב Google Cloud מספר אזורים שצוינו. כדי לוודא שנקודת הקצה של השירות מעבדת את הבקשות של האפליקציה ל-Firestore באותו אזור רב-אזורי שבו נמצאת מסד הנתונים, צריך לציין נקודת קצה רב-אזורית בספריית הלקוח.

הגדרת נקודת קצה אזורית או רב-אזורית

השיטה להגדרת נקודת קצה אזורית או רב-אזורית היא זהה: צריך לספק את מחרוזת נקודת הקצה כשמפעילים את ספריית הלקוח. בדוגמאות הבאות מוצג איך להגדיר את מחרוזת נקודת הקצה באמצעות נקודת קצה אזורית (firestore.us-central1.rep.googleapis.com). כדי להשתמש בנקודת קצה רב-אזורית, צריך לספק מחרוזת של נקודת קצה רב-אזורית שמתאימה למיקום של מסד הנתונים (לדוגמה, firestore.us.rep.googleapis.com עבור nam5).

Java

כדי לבצע אימות ב-Firestore, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.


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

כדי לבצע אימות ב-Firestore, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.

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)

סמנטיקה של נקודות קצה אזוריות ורב-אזוריות

נקודות קצה אזוריות:

‫Firestore תומך בנקודות קצה אזוריות עבור המיקומים האזוריים שמפורטים כאן: מיקומי 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

נקודות קצה במספר אזורים

לנקודות קצה במספר אזורים, משתמשים ב-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

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

מגבלות

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

נקודות קצה מבוססות-מיקום הוצאו משימוש. במקומן, צריך להשתמש בנקודות קצה אזוריות או בנקודות קצה עם מספר אזורים.

בעבר, 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

רשימה מלאה של שמות מארחים אזוריים ורב-אזוריים זמינה במאמר מיקומי Firestore.

הגבלת השימוש בנקודת קצה ל-API גלובלית

כדי לאכוף את השימוש בנקודות קצה אזוריות ורב-אזוריות, אפשר להשתמש במגבלת מדיניות הארגון constraints/gcp.restrictEndpointUsage כדי לחסום בקשות לנקודת הקצה הגלובלית של ה-API. מידע נוסף מופיע במאמר בנושא הגבלת השימוש בנקודות קצה.

המאמרים הבאים