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

इस पेज पर, 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

Cloud Firestore क्लाइंट को इंस्टॉल करने और बनाने के बारे में ज़्यादा जानने के लिए, Cloud Firestore क्लाइंट लाइब्रेरी पर जाएं.


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

Cloud Firestore क्लाइंट को इंस्टॉल करने और बनाने के बारे में ज़्यादा जानने के लिए, Cloud Firestore क्लाइंट लाइब्रेरी पर जाएं.

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

एक से ज़्यादा क्षेत्रों के एंडपॉइंट (एमआरईपी)

एक से ज़्यादा इलाकों के लिए उपलब्ध एंडपॉइंट के लिए, जगहों की जानकारी nam5 और nam7 के लिए us का इस्तेमाल करें. साथ ही, जगह की जानकारी eur3 के लिए eu का इस्तेमाल करें (एक से ज़्यादा इलाकों के लिए उपलब्ध जगहों की जानकारी देखें).

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