बैच में डेटा डालना

अपने डेटा फ़ीड की मदद से, अपने रेस्टोरेंट, सेवाओं, और मेन्यू को, ऑर्डर करने के शुरू से आखिर तक ऑर्डर करने के लिए उपलब्ध कराया जा सकता है.

इस दस्तावेज़ में, सैंडबॉक्स और प्रोडक्शन इन्वेंट्री को होस्ट करने का तरीका बताया गया है. साथ ही, ऑर्डर की पूरी सूची में इन्वेंट्री को अपडेट करने के लिए, बैच में डेटा डालने का तरीका बताया गया है.

डेटा फ़ीड एनवायरमेंट

आपके इंटिग्रेशन डेवलपमेंट के लिए, तीन तरह के डेटा फ़ीड एनवायरमेंट उपलब्ध हैं:

फ़ीड एनवायरमेंट ब्यौरा बैच में डेटा डालना
सैंडबॉक्स आपका फ़ीड डेवलपमेंट के लिए टेस्ट एनवायरमेंट. ज़रूरी है
प्रोडक्शन आपकी उस इन्वेंट्री के लिए प्रोडक्शन एनवायरमेंट जिसे आपको लॉन्च करना है. ज़रूरी है

डेटा फ़ीड होस्ट करना

बैच में डेटा डालने की सुविधा का इस्तेमाल करके, अपने सैंडबॉक्स और प्रोडक्शन डेटा फ़ीड को प्रोसेस करने के लिए एंड-टू-एंड ऑर्डर करने के लिए, आपको साइटमैप की मदद से, अपने डेटा फ़ीड की फ़ाइलों को Google Cloud Storage, Amazon S3 या एचटीटीपीएस पर होस्ट करना होगा.

हमारा सुझाव है कि आप अपने सैंडबॉक्स और प्रोडक्शन एनवायरमेंट के लिए, डेटा फ़ीड अलग-अलग होस्ट करें. इस तरीके से, आपको प्रोडक्शन में बदलावों को लागू करने से पहले, अपने सैंडबॉक्स फ़ीड में डेवलपमेंट और टेस्टिंग करने की सुविधा मिलती है.

उदाहरण के लिए, अगर Google Cloud Storage का इस्तेमाल होस्टिंग के विकल्प के तौर पर किया जाता है, तो आपके पास ये पाथ होंगे:

  • सैंडबॉक्स फ़ीड: gs://foorestaurant-google-feed-sandbox/
  • प्रोडक्शन फ़ीड: gs://foorestaurant-google-feed-prod/

अपनी इन्वेंट्री होस्ट करने के लिए, ये करें:

  1. अपने डेटा फ़ीड की फ़ाइलें जनरेट करें.
  2. एक होस्टिंग समाधान चुनें.
  3. अपने डेटा फ़ीड होस्ट करें.
  4. पक्का करें कि आपके डेटा फ़ीड की फ़ाइलें नियमित रूप से अपडेट की जाती हैं. प्रोडक्शन डेटा फ़ीड को हर दिन अपडेट करना ज़रूरी है.

इन्वेंट्री फ़ीड बनाने का तरीका जानने के लिए, Restaurant, Service, और Menu इकाइयों के दस्तावेज़ देखें. साथ ही, डेटा फ़ीड बनाना सेक्शन भी देखें.

डेटा फ़ीड फ़ाइलों के बारे में दिशा-निर्देश

हर फ़ाइल में कई इकाइयां हो सकती हैं. इसका साइज़ 200 एमबी से ज़्यादा नहीं होना चाहिए. टॉप लेवल की इकाइयों Restaurant, Service, और Menu के साथ-साथ, उनकी चाइल्ड इकाइयों का साइज़ चार एमबी से ज़्यादा नहीं होना चाहिए.

होस्टिंग का तरीका चुनें

इस टेबल में डेटा फ़ीड को होस्ट करने के विकल्पों की जानकारी दी गई है. साथ ही, यह भी बताया गया है कि वे होस्ट, ऑर्डर करने की सुविधा के साथ एंड-टू-एंड तरीके से कैसे काम करते हैं:

Amazon S3 Google Cloud Storage साइटमैप के साथ एचटीटीपीएस
क्रेडेंशियल और ऐक्सेस

Google को यह जानकारी दें:

  • ऐक्सेस कुंजी आईडी
  • सीक्रेट ऐक्सेस कुंजी
  • आपके प्रोडक्शन और सैंडबॉक्स S3 डायरेक्ट्री और marker.txt फ़ाइल के पाथ. पाथ s3:// से शुरू होना चाहिए.

S3 बकेट में यह जानकारी शामिल होनी चाहिए:

  • आपकी इन्वेंट्री के लिए फ़ीड फ़ाइलें.
  • marker.txt, जिसमें फ़ेच करने के लिए इस्तेमाल किया जाने वाला टाइमस्टैंप होता है.

marker.txt फ़ाइल का उदाहरण: 2018-12-03T08:30:42.694Z

Google को अपनी प्रोडक्शन और सैंडबॉक्स बकेट डायरेक्ट्री और marker.txt फ़ाइल का पाथ दें. पाथ, gs:// से शुरू होने चाहिए.

अपने Google सलाहकार से मिले सेवा खाते को Google Cloud Storage बकेट के रीडर के तौर पर जोड़ें.

Google Cloud Storage (जीसीएस) के ऐक्सेस को कंट्रोल करने के तरीके के बारे में ज़्यादा जानने के लिए, Google Cloud Platform Console: बकेट की अनुमतियां सेट करना देखें.

GCS बकेट में यह जानकारी शामिल होनी चाहिए:

  • आपकी इन्वेंट्री के लिए फ़ीड फ़ाइलें.
  • marker.txt, जिसमें फ़ेच करने के लिए इस्तेमाल किया जाने वाला टाइमस्टैंप होता है.

marker.txt फ़ाइल का उदाहरण: 2018-12-03T08:30:42.694Z

Google को यह जानकारी दें:

  • आपकी मूल पुष्टि के क्रेडेंशियल.
  • आपके प्रोडक्शन और सैंडबॉक्स साइटमैप पाथ का पाथ. पाथ https:// से शुरू होना चाहिए.
  • प्रोटोकॉल: आपको अपने फ़ीड की फ़ाइलें एचटीटीपीएस के ज़रिए उपलब्ध करानी होंगी, न कि एचटीटीपी के ज़रिए.
  • सुरक्षा: Google का सुझाव है कि आप होस्ट की गई फ़ीड की फ़ाइलों को सुरक्षित रखने के लिए, बुनियादी तरीके से पुष्टि करें.
Google को कैसे पता चलता है कि कौनसी फ़ाइलें फ़ेच की जानी चाहिए बकेट में मौजूद सभी फ़ाइलों की डायरेक्ट्री लिस्टिंग. बकेट में मौजूद सभी फ़ाइलों की डायरेक्ट्री लिस्टिंग. साइटमैप में शामिल फ़ाइलों के अलग-अलग यूआरएल.
Google को कैसे पता चलता है कि फ़ाइलें फ़ेच किए जाने के लिए तैयार हैं डेटा फ़ीड जनरेट करने के बाद, marker.txt फ़ाइल को नए टाइमस्टैंप के साथ अपडेट करें. डेटा फ़ीड जनरेट करने के बाद, marker.txt फ़ाइल को नए टाइमस्टैंप के साथ अपडेट करें. डेटा फ़ीड जनरेट करने के बाद, अपने sitemap.xml के रिस्पॉन्स हेडर last-modified को नए टाइमस्टैंप के साथ अपडेट करें.
फ़ाइल सीमाएं

फ़ाइलों की ज़्यादा से ज़्यादा संख्या: 1,00,000.

आपके Amazon S3 बकेट में कुल 1,00,000 से कम फ़ाइलें होनी चाहिए.

फ़ाइलों की ज़्यादा से ज़्यादा संख्या: 1,00,000.

आपके Google Cloud Storage बकेट में कुल 1,00,000 से कम फ़ाइलें होनी चाहिए.

फ़ाइलों की ज़्यादा से ज़्यादा संख्या: 1,00,000.

आपकी साइटमैप एक्सएमएल फ़ाइल में, फ़ाइल पाथ की संख्या 1,00,000 से कम होनी चाहिए.

बैच में डेटा डालने के लिए, अपने डेटा फ़ीड कनेक्ट करना

अपने फ़ीड होस्ट करने के बाद, आपको उन्हें Actions Center पर अपने प्रोजेक्ट से कनेक्ट करना होगा. प्रोडक्शन फ़ीड का शुरुआती कॉन्फ़िगरेशन, ऑनबोर्डिंग टास्क पेज पर किया जाता है. बाद में, प्रोडक्शन और सैंडबॉक्स फ़ीड के कॉन्फ़िगरेशन को कॉन्फ़िगरेशन > फ़ीड पेज से, किसी भी समय अपडेट किया जा सकता है. ऐसा पोर्टल का इस्तेमाल करने वाला कोई भी उपयोगकर्ता, एडमिन के तौर पर काम कर सकता है. सैंडबॉक्स एनवायरमेंट का इस्तेमाल, डेवलपमेंट और टेस्ट करने के लिए किया जाता है. वहीं, उपयोगकर्ताओं को प्रोडक्शन फ़ीड दिखाए जाते हैं.

अगर Amazon S3 के साथ डेटा फ़ीड होस्ट किए जा रहे हैं

  1. कार्रवाई केंद्र में, कॉन्फ़िगरेशन > फ़ीड पर जाएं.
  2. बदलाव करें पर क्लिक करें और फ़ीड अपडेट करें फ़ॉर्म भरें:

    • फ़ीड की डिलीवरी का तरीका: Amazon S3 पर सेट करें.
    • मार्कर फ़ाइल: marker.txt फ़ाइल का यूआरएल दें.
    • डेटा फ़ाइल: उस S3 बकेट का यूआरएल दें जिसमें डेटा फ़ीड हों.
    • ऐक्सेस आईडी: S3 संसाधनों से पढ़ने की अनुमतियों के साथ IAM ऐक्सेस कुंजी आईडी डालें.
    • ऐक्सेस कुंजी: S3 संसाधनों से पढ़ने की अनुमतियों के साथ IAM सीक्रेट ऐक्सेस कुंजी डालें.
  3. सबमिट करें पर क्लिक करें.
  4. एक से दो घंटे बाद, देखें कि बैच में डेटा डालने की सुविधा, आपके फ़ीड की फ़ाइलें फ़ेच कर रही है या नहीं.

अगर आपने Google Cloud Storage के साथ डेटा फ़ीड होस्ट किए हैं

  1. कार्रवाई केंद्र में, कॉन्फ़िगरेशन > फ़ीड पर जाएं.
  2. बदलाव करें पर क्लिक करें और फ़ीड अपडेट करें फ़ॉर्म भरें:

    • फ़ीड की डिलीवरी का तरीका: Google Cloud Storage पर सेट करें.
    • मार्कर फ़ाइल: marker.txt फ़ाइल का यूआरएल दें.
    • डेटा फ़ाइल: उस GCS बकेट में यूआरएल दें जिसमें डेटा फ़ीड हैं.
  3. सबमिट करें पर क्लिक करें.
  4. आपकी GCS (जीसीएस) बकेट को ऐक्सेस करने के लिए, एक सेवा खाता बनाया गया है. ऑनबोर्डिंग के टास्क पूरे होने के बाद, कॉन्फ़िगरेशन > फ़ीड में खाते का नाम देखा जा सकता है. इस सेवा खाते के लिए, “स्टोरेज लेगसी ऑब्जेक्ट रीडर” भूमिका का होना ज़रूरी है. यह भूमिका, Google Cloud console के IAM पेज में मौजूद सेवा खाते को दी जा सकती है.
  5. एक से दो घंटे बाद, देखें कि बैच में डेटा डालने की सुविधा, आपके फ़ीड की फ़ाइलें फ़ेच कर रही है या नहीं.

अगर आपने डेटा फ़ीड को एचटीटीपीएस का इस्तेमाल करके होस्ट किया है

  1. कार्रवाई केंद्र में, कॉन्फ़िगरेशन > फ़ीड पर जाएं.
  2. बदलाव करें पर क्लिक करें और फ़ीड अपडेट करें फ़ॉर्म भरें:

    • फ़ीड की डिलीवरी का तरीका: एचटीटीपीएस पर सेट करें.
    • साइटमैप फ़ाइल: sitemap.xml फ़ाइल का यूआरएल दें.
    • उपयोगकर्ता नाम: एचटीटीपीएस सर्वर ऐक्सेस करने के लिए, उपयोगकर्ता नाम के क्रेडेंशियल डालें.
    • पासवर्ड: एचटीटीपीएस सर्वर ऐक्सेस करने के लिए पासवर्ड डालें.
  3. सबमिट करें पर क्लिक करें.
  4. एक से दो घंटे बाद, देखें कि बैच में डेटा डालने की सुविधा, आपके फ़ीड की फ़ाइलें फ़ेच कर रही है या नहीं.

पाथ के उदाहरण

नीचे दी गई टेबल में, होस्टिंग के हर विकल्प के लिए उदाहरण पाथ दिए गए हैं:

Amazon S3 Google Cloud Storage साइटमैप के साथ एचटीटीपीएस
पाथ s3://foorestaurant-google-feed-sandbox/ gs://foorestaurant-google-feed-sandbox/ https://sandbox-foorestaurant.com/sitemap.xml
मार्कर फ़ाइल s3://foorestaurant-google-feed-sandbox/marker.txt gs://foorestaurant-google-feed-sandbox/marker.txt लागू नहीं

एचटीटीपीएस होस्टिंग के लिए साइटमैप

साइटमैप बनाते समय इन दिशा-निर्देशों का पालन करें:

  • आपके साइटमैप में मौजूद लिंक से उन फ़ाइलों पर क्लिक किया जाना चाहिए जो वहीं मौजूद हैं.
  • अगर आपके साइटमैप में आपके डोमेन नेम के बजाय, क्लाउड सेवा देने वाली कंपनी के रेफ़रंस शामिल हैं, तो पक्का करें कि यूआरएल (जैसे, https://www.yourcloudprovider.com/your_id) की शुरुआत एक जैसा हो और आपके बैच जॉब के लिए यूनीक हो.
  • ध्यान रखें कि आंशिक साइटमैप अपलोड न करें (जैसे, पूरा डेटा अपलोड होने पर). ऐसा करने से, Google सिर्फ़ साइटमैप में मौजूद फ़ाइलों का डेटा डालता है. इस वजह से, आपका इन्वेंट्री लेवल कम हो सकता है. साथ ही, यह भी हो सकता है कि आपके फ़ीड में डेटा जोड़ने की सुविधा ब्लॉक हो जाए.
  • यह देख लें कि साइटमैप में बताई गई फ़ाइलों के पाथ न बदलें. उदाहरण के लिए, आज अपने साइटमैप का रेफ़रंस https://www.yourcloudprovider.com/your_id/10000.json न दें, लेकिन कल https://www.yourcloudprovider.com/your_id/20000.json का रेफ़रंस दें.
साइटमैप का उदाहरण

यहां sitemap.xml फ़ाइल का एक उदाहरण दिया गया है, जो डेटा फ़ीड फ़ाइलें दिखाती है:

उदाहरण 1: व्यापारियों/कंपनियों/कारोबारियों के हिसाब से ग्रुप की गई इकाइयां (सुझाया गया).

XML

<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
 <url>
   <loc>https://your_fulfillment_url.com/restaurant_1.ndjson</loc>
   <lastmod>2018-06-11T10:46:43+05:30</lastmod>
 </url>
 <url>
   <loc>https://your_fulfillment_url.com/restaurant_2.ndjson</loc>
   <lastmod>2018-06-11T10:46:43+05:30</lastmod>
 </url>
 <url>
   <loc>https://your_fulfillment_url.com/restaurant_3.ndjson</loc>
   <lastmod>2018-06-11T10:46:43+05:30</lastmod>
 </url>
</urlset>

उदाहरण 2: टाइप के हिसाब से ग्रुप की गई इकाइयां.

XML

<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
 <url>
   <loc>https://your_fulfillment_url.com/restaurant.json</loc>
   <lastmod>2018-06-11T10:46:43+05:30</lastmod>
 </url>
 <url>
   <loc>https://your_fulfillment_url.com/menu.json</loc>
   <lastmod>2018-06-11T10:46:43+05:30</lastmod>
 </url>
 <url>
   <loc>https://your_fulfillment_url.com/service.json</loc>
   <lastmod>2018-06-11T10:46:43+05:30</lastmod>
 </url>
</urlset>

अपने डेटा फ़ीड अपडेट करना

डेटा फ़ीड कनेक्ट हो जाने के बाद, Google हर घंटे एक बार अपडेट की जांच करता है. हालांकि, हम सभी डेटा फ़ीड का डेटा सिर्फ़ तब ही डालते हैं, जब marker.txt या sitemap.xml फ़ाइलों में बदलाव किया गया हो. हम उम्मीद करते हैं कि पुरानी इन्वेंट्री से बचने के लिए, आप अपने डेटा फ़ीड को दिन में एक बार अपडेट करें.

यह बताने के लिए कि डेटा फ़ीड में बदलाव कर दिए गए हैं और वे बैच में जोड़े जाने के लिए तैयार हैं, marker.txt फ़ाइल (GCP और S3 के लिए) के last-modified ऑब्जेक्ट मेटाडेटा फ़ील्ड या sitemap.xml फ़ाइल के last-modified रिस्पॉन्स हेडर को अपडेट करें. Google इन वैल्यू का इस्तेमाल यह तय करने के लिए करता है कि डेटा फ़ीड कितना अप-टू-डेट है.

बैच फ़ीड का डेटा डाला जा रहा है.

  • ऐसी नई इकाइयां शामिल की जाएंगी जो आपकी मौजूदा ऑर्डरिंग इन्वेंट्री में मौजूद नहीं हैं और जिनमें कोई गड़बड़ी नहीं है.
  • इन्वेंट्री में पहले से मौजूद ऐसी इकाइयां जिन्हें जोड़े जाने में कोई गड़बड़ी नहीं है और उनके पास अपनी मौजूदा एंट्री से dateModified ज़्यादा हाल का हो या dateModified न होने पर, फ़ीड में डेटा जोड़ने के शुरू होने का समय, अपडेट की जाने वाली मौजूदा एंट्री के बाद का हो. ऐसा न होने पर, उन्हें पुराना के तौर पर मार्क कर दिया जाएगा.
  • ऐसी इकाइयां जो पिछले फ़ीड का हिस्सा थीं और जो अब प्रोसेस किए जा रहे बैच फ़ीड में शामिल नहीं हैं उन्हें मिटा दिया जाएगा. बशर्ते, फ़ीड में फ़ाइल लेवल की कोई गड़बड़ी न हो.

डेटा फ़ीड की सभी फ़ाइलें जनरेट और अपडेट होने के बाद ही, टाइमस्टैंप या last-modified रिस्पॉन्स हेडर को अपडेट किया जाना चाहिए. आपके डेटा फ़ीड को अपडेट करने वाले बैच जॉब को, दिन में सिर्फ़ एक बार चलाने के लिए सीमित करें. इसके अलावा, हर बैच जॉब के बीच कम से कम तीन घंटे का अंतर होना चाहिए. अगर यह तरीका नहीं अपनाया जाता है, तो Google पुरानी फ़ाइलें फ़ेच कर सकता है.