ضبط موضع البيانات باستخدام نقاط نهاية إقليمية

توضّح هذه الصفحة كيفية ضبط مكتبات عملاء Cloud Firestore لاستخدام نقطة نهاية إقليمية أو متعددة المناطق.

عند استخدام مكتبات عملاء Cloud Firestore، يمكنك استخدام أيّ من نقاط النهاية التالية:

  • نقطة النهاية العالمية: بشكلٍ تلقائي، تُرسِل مكتبات عملاء Cloud Firestore طلبات واجهة برمجة التطبيقات إلى نقطة نهاية خدمة عالمية باسم firestore.googleapis.com. توجِّه نقطة نهاية الخدمة العالمية الطلب إلى قاعدة البيانات. أثناء التوجيه، قد يمرّ الطلب عبر خادم في موقع جغرافي مختلف عن الموقع الجغرافي لقاعدة البيانات.

  • نقطة النهاية الإقليمية: تفرض نقطة النهاية الإقليمية قيودًا تضمن نقل البيانات وتخزينها ومعالجتها في منطقة Google Cloud محدّدة. لضمان معالجة نقطة نهاية الخدمة لطلبات Cloud Firestore تطبيقك في المنطقة نفسها التي توجد فيها قاعدة البيانات، حدِّد نقطة نهاية إقليمية في مكتبة العميل.

  • نقطة النهاية المتعددة المناطق: تفرض نقطة النهاية المتعددة المناطق قيودًا تضمن تخزين البيانات ومعالجتها في منطقة متعددة محدّدة. لضمان معالجة نقطة نهاية الخدمة لطلبات 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 مواقع.

تقييد استخدام نقطة نهاية واجهة برمجة التطبيقات العالمية

للمساعدة في فرض استخدام نقاط النهاية الإقليمية والمتعددة المناطق، استخدِم قيد سياسة المؤسسة constraints/gcp.restrictEndpointUsage لحظر الطلبات الموجّهة إلى نقطة نهاية واجهة برمجة التطبيقات العالمية. لمزيد من المعلومات، راجِع مقالة تقييد استخدام نقطة النهاية.