रीजनल एंडपॉइंट के साथ डेटा लोकैलिटी कॉन्फ़िगर करना

इस पेज पर, Cloud Firestore क्लाइंट लाइब्रेरी को कॉन्फ़िगर करने का तरीका बताया गया है, ताकि रीजनल या मल्टी-रीजनल एंडपॉइंट का इस्तेमाल किया जा सके.

Cloud Firestore क्लाइंट लाइब्रेरी का इस्तेमाल करते समय, इनमें से किसी भी एंडपॉइंट का इस्तेमाल किया जा सकता है:

  • ग्लोबल एंडपॉइंट: डिफ़ॉल्ट रूप से, Cloud Firestore क्लाइंट लाइब्रेरी, firestore.googleapis.com नाम के ग्लोबल सर्विस एंडपॉइंट पर एपीआई अनुरोध भेजती हैं. ग्लोबल सर्विस एंडपॉइंट, अनुरोध को आपके डेटाबेस पर भेजता है. राउटिंग के दौरान, हो सकता है कि कोई अनुरोध किसी ऐसे सर्वर से होकर गुज़रे जो आपके डेटाबेस की जगह से अलग हो.

  • रीजनल एंडपॉइंट: रीजनल एंडपॉइंट, पाबंदियां लागू करता है. इससे यह पक्का होता है कि डेटा को किसी खास Google Cloud क्षेत्र में ट्रांसमिट, स्टोर, और प्रोसेस किया जाए. यह पक्का करने के लिए कि सेवा एंडपॉइंट, आपके ऐप्लिकेशन के Cloud Firestore अनुरोधों को उसी इलाके में प्रोसेस करे जहां आपका डेटाबेस है, क्लाइंट लाइब्रेरी में रीजनल एंडपॉइंट की जानकारी दें.

  • मल्टी-रीजनल एंडपॉइंट: मल्टी-रीजनल एंडपॉइंट, पाबंदियां लागू करता है. इससे यह पक्का होता है कि डेटा को किसी खास मल्टी-रीजन में सेव और प्रोसेस किया जाए. यह पक्का करने के लिए कि सेवा एंडपॉइंट, आपके ऐप्लिकेशन के Cloud Firestore अनुरोधों को उसी मल्टी-रीजन में प्रोसेस करे जिसमें आपका डेटाबेस है, क्लाइंट लाइब्रेरी में मल्टी-रीजनल एंडपॉइंट की जानकारी दें.

रीजनल या मल्टीरीजनल एंडपॉइंट सेट करना

रीजनल या मल्टी-रीजनल एंडपॉइंट को कॉन्फ़िगर करने का तरीका एक ही है: क्लाइंट लाइब्रेरी को शुरू करते समय, एंडपॉइंट स्ट्रिंग दें. यहां दिए गए उदाहरणों में, रीजनल एंडपॉइंट (firestore.us-central1.rep.googleapis.com) का इस्तेमाल करके, एंडपॉइंट स्ट्रिंग को सेट करने का तरीका बताया गया है. मल्टी-रीजनल एंडपॉइंट का इस्तेमाल करने के लिए, अपने डेटाबेस की जगह के हिसाब से मल्टी-रीजनल एंडपॉइंट स्ट्रिंग दें. उदाहरण के लिए, nam5 के लिए firestore.us.rep.googleapis.com.

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)

रीजनल और मल्टीरीजनल एंडपॉइंट के सिमैंटिक

रीजनल एंडपॉइंट (आरईपी):

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

मल्टी-रीजनल एंडपॉइंट (एमआरईपी)

मल्टीरीजनल एंडपॉइंट के लिए, 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

पक्का करें कि एंडपॉइंट के साथ पोर्ट नंबर भी तय किया गया हो.

सीमाएं

जगह की जानकारी वाले एंडपॉइंट (अब सेवा में नहीं हैं)

जगह की जानकारी वाले एंडपॉइंट अब काम नहीं कर रहे हैं. इसके बजाय, रीजनल या मल्टी-रीजनल एंडपॉइंट का इस्तेमाल करें.

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 की जगहें देखें.

ग्लोबल एपीआई एंडपॉइंट के इस्तेमाल पर पाबंदी लगाना

रीजनल और मल्टी-रीजनल एंडपॉइंट के इस्तेमाल को लागू करने के लिए, constraints/gcp.restrictEndpointUsage संगठन की नीति से जुड़ी पाबंदी का इस्तेमाल करें. इससे ग्लोबल एपीआई एंडपॉइंट के अनुरोधों को ब्लॉक किया जा सकता है. ज़्यादा जानकारी के लिए, एंडपॉइंट के इस्तेमाल पर पाबंदी लगाना लेख पढ़ें.