जेनरिक फ़ीड ड्रॉपबॉक्स का इस्तेमाल करना

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

(कृपया दस्तावेज़ के फ़ीड एक्सपोर्ट (एंड-टू-एंड) या फ़ीड (स्टार्टर) सेक्शन देखें.

जेनेरिक ड्रॉपबॉक्स दो अलग-अलग अपलोड पर निर्भर करता है:

  1. जानकारी देने वाली फ़ाइल: से पता चलता है कि आप किस तरह का फ़ीड अपलोड करेंगे
  2. फ़ीड की फ़ाइल: असल फ़ीड का कॉन्टेंट

डिस्क्रिप्टर फ़ील्ड को स्ट्रक्चर में रखना

डिस्क्रिप्टर फ़ाइल अपलोड की जाती है, ताकि हमारे सिस्टम को पता चल सके कि आप किस तरह का फ़ीड अपलोड कर रहे हैं. इससे हमें फ़ीड की पुष्टि करने और उसे सही तरीके से प्रोसेस करने में मदद मिलती है. जानकारी देने वाली फ़ाइल, फ़ीड के कॉन्टेंट से पहले अपलोड की जानी चाहिए और नाम देने के लिए, इन ज़रूरी शर्तों का पालन करना होगा:

  • .filesetdes.json फ़ाइल एक्सटेंशन का इस्तेमाल करें
  • हर डिस्क्रिप्टर फ़ाइल का नाम अलग होना चाहिए. साथ ही, इसका इस्तेमाल सभी अपलोड के लिए नहीं किया जा सकता. हमारा सुझाव है कि फ़ाइल के नाम में जनरेशन का टाइमस्टैंप शामिल करें.
    • जैसे: ऑफ़र_1524606581.filesetdes.json
message FilesetDescriptor {
  // The timestamp at which this feed was generated, in Unix time format
  // (seconds since the epoch). (required)
  int64 generation_timestamp = 1;

  // Identifies the name of this feed. (required)
  string name = 2;

  // Paths (relative to the dropbox root) specifying data files included in this
  // feed. (required)
  repeated string data_file = 3;
}

name फ़ील्ड की ये वैल्यू हो सकती हैं:

ऑफ़र फ़ीड के लिए, दो शार्ड वाले JSON डिस्क्रिप्टर फ़ाइल का एक उदाहरण यहां दिया गया है:

{
  "generation_timestamp": 1524606581,
  "name": "promote.offer",
  "data_file": [
    "offers_1524606581_1.json",
    "offers_1524606581_2.json"
  ]
}

फ़ीड के कॉन्टेंट का स्ट्रक्चर तैयार करना

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

इन फ़ीड डेटा फ़ाइलों का कॉन्टेंट, फ़ीड की उस खास जानकारी के हिसाब से होना चाहिए जो जानकारी देने वाली फ़ाइल में दी गई थी.

फ़ीड की हर फ़ाइल का नाम अलग होना चाहिए. साथ ही, हर अपलोड में उसका इस्तेमाल नहीं किया जा सकता. हमारा सुझाव है कि फ़ाइल के नाम में जनरेशन का टाइमस्टैंप और शार्ड नंबर (इंक्रीमेंटल आईडी) को शामिल करें.

  • उदाहरण: ऑफ़र_1524606581_1.json

फ़ीड की फ़ाइल का साइज़ और उसे कितने समय में अपलोड किया जाए

  • फ़ीड फ़ाइल का साइज़ 200 एमबी (कंप्रेस करने के बाद) से कम रखें.
  • ज़्यादातर इंटिग्रेशन को सिर्फ़ एक शार्ड का इस्तेमाल करना होगा. आपको कम से कम शार्ड का इस्तेमाल करना चाहिए. हर फ़ीड में 1,000 शार्ड हो सकते हैं.
  • एक शार्ड में भेजे गए अलग-अलग रिकॉर्ड को, आने वाले फ़ीड में उसी शार्ड नंबर में भेजने की ज़रूरत नहीं है.
  • बेहतर परफ़ॉर्मेंस के लिए, सभी शार्ड फ़ाइलों को एक ही साइज़ के शार्ड में बांटने के लिए, डेटा को शार्ड के बीच बराबर बांटें.
  • अगर ज़रूरी हो, तो फ़ीड को कंप्रेस करने के लिए, gzip का इस्तेमाल करें. हालांकि, हर अलग फ़ीड शार्ड के लिए ऐसा करें.

समस्या का हल और डीबग करना

अपने फ़ीड में डेटा जोड़ने की प्रोसेस जारी रखने के लिए, फ़ाइलें (जानकारी और फ़ीड की फ़ाइलें) अपलोड करने के बाद, पार्टनर पोर्टल (दस्तावेज़ पर जाएं. इसके लिए, इतिहास > फ़ीड पर जाएं.

अपना फ़ीड ढूंढने के लिए, "फ़ीड का नाम" कॉलम में डिस्क्रिप्टर फ़ाइल में डाले गए name को खोजें.

फ़ीड का डेटा डालने के बाद (स्टेटस Success या Fail होता है), आप इसकी लाइन पर क्लिक करके गड़बड़ियों और चेतावनियों की जानकारी देख सकते हैं.