জেনেরিক ফিড SFTP সার্ভার, এনভায়রনমেন্ট প্রতি একটি SFTP সার্ভারে একাধিক ফিডের ধরন আপলোড করার অনুমতি দেয়। এই নির্দেশিকা আপনাকে দেখাবে কীভাবে জেনেরিক SFTP সার্ভার ব্যবহার করতে হয় এবং আপনি যে ফিড ব্যবহার করার পরিকল্পনা করছেন তার জন্য উপযুক্ত নির্দেশিকার লিঙ্ক প্রদান করবে।
(ডকুমেন্টেশনের ফিড এক্সপোর্ট করা (এন্ড-টু-এন্ড) অথবা ফিড (স্টার্টার) বিভাগ দেখুন)।জেনেরিক SFTP সার্ভার দুটি আলাদা আপলোডের উপর নির্ভর করে:
- ডেসক্রিপ্টর ফাইল: আপনি কোন ধরনের ফিড আপলোড করবেন তা বর্ণনা করে
- ফিড ফাইল: আসল ফিডের কন্টেন্ট
ডেসক্রিপ্টর ফিল্ড স্ট্রাকচার করা হচ্ছে
আপনি কোন ধরনের ফিড আপলোড করছেন তা আমাদের সিস্টেমকে জানাতে ডিসক্রিপ্টর ফাইল আপলোড করা হয়। এটি আমাদের ফিড সঠিকভাবে যাচাই এবং প্রসেস করতে সাহায্য করে। ফিড কন্টেন্টের আগে ডেসক্রিপটর ফাইল আপলোড করতে হবে এবং নামকরণের ক্ষেত্রে এইসব প্রয়োজনীয়তা মেনে চলতে হবে:
- ডেসক্রিপ্টর ফাইলের জন্য আপনাকে অবশ্যই
.filesetdesc.jsonফাইল এক্সটেনশন ব্যবহার করতে হবে। - প্রতিটি ডেসক্রিপ্টর ফাইলের নাম অনন্য হতে হবে এবং আপলোড জুড়ে আবার ব্যবহার করা যাবে না। আমরা
ফাইলের নামে জেনারেশন টাইমস্ট্যাম্প ও ফিডের নাম যোগ করার সাজেশন দিই।
- Example: offers_1524606581.filesetdesc.json
- প্রতিটি ডেসক্রিপ্টর ফাইলে প্রাসঙ্গিক ফিডের নামের জন্য লেটেস্ট ফিডের সব ডেটা ফাইল তালিকাভুক্ত করতে হবে।
message FilesetDescriptor { option features.(pb.java).nest_in_file_class = YES; // 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 [features.(pb.cpp).string_type = STRING]; // Paths (relative to the dropbox root) specifying data files included in this // feed. (required) repeated string data_file = 3 [features.(pb.cpp).string_type = STRING]; }
name ফিল্ডের সম্ভাব্য ভ্যালুর মধ্যে এগুলি পড়ে:
- reservewithgoogle.entity
- google.offer
দুটি শার্ড সহ অফার ফিডের জন্য একটি উদাহরণ 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 হলে) আপনি
সমস্যা ও সতর্কতার বিবরণ দেখতে সেটির সারিতে ক্লিক করতে পারবেন।