জেনেরিক এসএফটিপি

জেনেরিক ফিড এসএফটিপি সার্ভার প্রতিটি এনভায়রনমেন্টের জন্য একটিমাত্র এসএফটিপি সার্ভারে একাধিক ধরনের ফিড আপলোড করার সুযোগ দেয়। এই নির্দেশিকাটিতে জেনেরিক এসএফটিপি সার্ভার ব্যবহারের পদ্ধতি ধাপে ধাপে বর্ণনা করা হবে এবং আপনি যে ফিডটি ব্যবহার করার পরিকল্পনা করছেন, তার জন্য উপযুক্ত নির্দেশিকার লিঙ্ক প্রদান করা হবে।

(অনুগ্রহ করে ডকুমেন্টেশনের ‘ফিড এক্সপোর্ট করা (এন্ড-টু-এন্ড)’ অথবা ‘ফিড (স্টার্টার)’ অংশটি দেখুন)।

জেনেরিক এসএফটিপি সার্ভারটি দুটি পৃথক আপলোডের ওপর নির্ভর করে:

  1. বর্ণনাকারী ফাইল: আপনি কোন ধরনের ফিড আপলোড করবেন তা বর্ণনা করে।
  2. ফিড ফাইল(গুলি): প্রকৃত ফিডের বিষয়বস্তু

বর্ণনাকারী ক্ষেত্রের গঠন

আপনি কোন ধরনের ফিড আপলোড করছেন, তা আমাদের সিস্টেমকে জানানোর জন্য ডেসক্রিপ্টর ফাইলটি আপলোড করা হয়। এর মাধ্যমে আমরা ফিডটি সঠিকভাবে যাচাই ও প্রসেস করতে পারি। ডেসক্রিপ্টর ফাইলটি ফিডের মূল বিষয়বস্তুর আগে আপলোড করতে হবে এবং এর নামকরণের ক্ষেত্রে নিম্নলিখিত নিয়মগুলো অবশ্যই অনুসরণ করতে হবে:

  • ডেসক্রিপ্টর ফাইলের জন্য আপনাকে অবশ্যই .filesetdesc.json ফাইল এক্সটেনশনটি ব্যবহার করতে হবে।
  • প্রতিটি ডেসক্রিপ্টর ফাইলের নাম অবশ্যই অনন্য হতে হবে এবং একাধিক আপলোডে তা পুনরায় ব্যবহার করা যাবে না। আমরা ফাইলের নামে জেনারেশন টাইমস্ট্যাম্প এবং ফিডের নাম অন্তর্ভুক্ত করার পরামর্শ দিই।
    • উদাহরণ: offers_1524606581.filesetdesc.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 ফিল্ডের সম্ভাব্য মানগুলো হলো:

  • reservewithgoogle.entity
  • গুগল.অফার

দুটি শার্ড সহ একটি অফার ফিডের জন্য একটি নমুনা JSON ডেসক্রিপ্টর ফাইল নিচে দেওয়া হলো:

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

ফিডের বিষয়বস্তুর কাঠামো তৈরি করা

ডেসক্রিপ্টর ফাইল আপলোড করার পর, আপনাকে আপনার ডেসক্রিপ্টর ফাইলে উল্লেখিত ফিড কনফিগারেশন ফাইলের সাথে সঙ্গতিপূর্ণ ফিড ডেটা টাইপের জন্য সমস্ত ফিড ফাইল আপলোড করতে হবে। ফাইলের নাম এবং পাথের অবস্থান (SFTP সার্ভারের মধ্যে আপেক্ষিক) অবশ্যই data_file ফিল্ডে যা অন্তর্ভুক্ত ছিল তার সাথে হুবহু মিলতে হবে। যদি কোনো ফাইল অনুপস্থিত থাকে, ভুল নামে থাকে, বা অন্য কোনো স্থানে আপলোড করা হয়, তাহলে সম্পূর্ণ ফিডটি প্রসেস করা হবে না।

এই ফিড ডেটা ফাইলগুলির বিষয়বস্তু অবশ্যই ডেসক্রিপ্টর ফাইলে নির্দিষ্ট করা ফিডের প্রাসঙ্গিক স্পেসিফিকেশনের সাথে সঙ্গতিপূর্ণ হতে হবে।

প্রতিটি ফিড ফাইলের ফাইলের নাম অবশ্যই অনন্য হতে হবে এবং একাধিক আপলোডের ক্ষেত্রে তা পুনরায় ব্যবহার করা যাবে না। আমরা ফাইলের নামে জেনারেশন টাইমস্ট্যাম্প এবং শার্ড নম্বর (ইনক্রিমেন্টাল আইডি) অন্তর্ভুক্ত করার পরামর্শ দিই।

  • উদাহরণ: offers_1524606581_1.json

ফিড ফাইলের আকার এবং আপলোড ফ্রিকোয়েন্সি

  • ফিড ফাইলের আকার (কম্প্রেশনের পর) ২০০ মেগাবাইটের নিচে রাখুন।
  • প্রতিটি ডিকম্প্রেস করা ডেটা ফাইলের আকার ২ জিবির কম হওয়া উচিত।
  • বেশিরভাগ ইন্টিগ্রেশনের জন্য শুধুমাত্র একটি শার্ড ব্যবহার করার প্রয়োজন হবে। আপনার যতটা সম্ভব কম শার্ড ব্যবহার করা উচিত। প্রতি ফিডে সর্বোচ্চ ১০০০টি শার্ড ব্যবহার করা যায়।
  • একটি শার্ডে পাঠানো স্বতন্ত্র রেকর্ডগুলো ভবিষ্যতের ফিডগুলোতে একই শার্ড নম্বরে পাঠানোর প্রয়োজন নেই।
  • উন্নত পারফরম্যান্সের জন্য, শার্ডগুলোর মধ্যে ডেটা সমানভাবে ভাগ করে দিন, যাতে সব শার্ড ফাইলের আকার প্রায় একই রকম হয়।
  • প্রয়োজনে ফিডগুলো কম্প্রেস করতে gzip ব্যবহার করুন। তবে, প্রতিটি ফিড শার্ডের জন্য আলাদাভাবে এটি করুন।

সমস্যা সমাধান এবং ডিবাগিং

আপনার ফাইলগুলি (ডেসক্রিপ্টর এবং ফিড ফাইল) আপলোড করার পরে, আপনার ফিড ইনজেশনের অগ্রগতি অনুসরণ করতে পার্টনার পোর্টালে ( ইনজেশন > হিস্ট্রি- তে যান) ইনজেশন ভিউয়ারে ( ডকুমেন্টেশন ) যান।

আপনার ফিডটি খুঁজে পেতে, ডেসক্রিপ্টর ফাইলের 'ফিড নেম' কলামে আপনার দেওয়া name দেখুন।

ফিডটি ইনজেস্ট হয়ে গেলে (স্ট্যাটাস Success বা Fail যাই হোক না কেন), আপনি এরর এবং ওয়ার্নিংগুলোর বিস্তারিত দেখতে এররটির রো-তে ক্লিক করতে পারেন।