एक साथ कई आइटम डालना

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

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

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

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

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

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

ऑर्डरिंग एंड-टू-एंड की सुविधा, आपके सैंडबॉक्स और प्रोडक्शन डेटा फ़ीड को एक साथ डालकर प्रोसेस कर सकती है. इसके लिए, आपको अपनी डेटा फ़ीड फ़ाइलों को 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 के साथ-साथ उनकी चाइल्ड इकाइयों का साइज़, कुल मिलाकर 4 एमबी से ज़्यादा नहीं होना चाहिए.

होस्टिंग का कोई समाधान चुनना

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

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 (GCS) का ऐक्सेस कंट्रोल करने के तरीके के बारे में ज़्यादा जानने के लिए, 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 के संसाधनों को पढ़ने की अनुमतियों के साथ, आईएएम ऐक्सेस कुंजी आईडी डालें.
    • ऐक्सेस कुंजी: S3 के संसाधनों को पढ़ने की अनुमतियों के साथ, आईएएम सीक्रेट ऐक्सेस कुंजी डालें.
  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 फ़ाइल का उदाहरण दिया गया है:

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

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>

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

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 पुरानी फ़ाइलें फ़ेच कर ले.