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

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

Go

  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

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 संगठन की नीति की पाबंदी का इस्तेमाल करें. इससे, ग्लोबल एपीआई एंडपॉइंट पर भेजे जाने वाले अनुरोधों को ब्लॉक किया जा सकेगा. ज़्यादा जानकारी के लिए, एंडपॉइंट के इस्तेमाल पर पाबंदी लगाना देखें.