1. বৈশিষ্ট্য কাউন্টার কনফিগার করুন
অনুমোদন নীতিতে একটি রপ্তানি বৈশিষ্ট্য সক্ষম করুন এবং এটি প্রতি মাসে 500 এর সীমা দিন৷ সেই বৈশিষ্ট্যের কনফিগার করা ওভারেজ নিয়মের অধীনে সীমা অতিক্রম করা ব্লক বা অনুমোদিত কিনা তা নির্ধারণ করুন।
ফিচার কাউন্টারগুলি গ্রাহকের লাইসেন্সের অন্তর্গত। সেগুলি বিক্রেতার ওয়ার্কস্পেসের ডিভাইস এবং API সাবস্ক্রিপশন কোটা থেকে আলাদা৷ দৈনিক এবং মাসিক বৈশিষ্ট্যের সময়কাল UTC ব্যবহার করে; পরবর্তী UTC ক্যালেন্ডার মাসের শুরুতে একটি মাসিক পিরিয়ড রিসেট হয়।
2. একটি SDK ক্লায়েন্ট খুলুন
কনসোল > পণ্য থেকে পণ্যের ID কপি করুন। একই পণ্যের স্বাক্ষরের পাবলিক কী খুলে প্রতিটি কী ID/পাবলিক কী জোড়া ইনিশিয়ালাইজেশন কোডে বসান; YOUR_PRODUCT_ID, YOUR_KEY_ID এবং YOUR_PUBLIC_KEY বদলান। দ্রুত ইন্টিগ্রেশন থেকেও এই কোড পাওয়া যায়। পণ্যের কনফিগারেশন ফাইল লাগে না; SDK ডিফল্টভাবে https://www.licentivo.com ব্যবহার করে।
একটি সাধারণ এনটাইটেলমেন্টের জন্য RunFeature ব্যবহার করুন। সীমিত ব্যবহারের জন্য RunMeteredFeature ব্যবহার করুন। একটি সফল স্থানীয় এনটাইটেলমেন্ট চেক প্রমাণ করে না যে অনলাইন কোটা রয়ে গেছে।
3. ব্যবসা কর্ম মোড়ানো
SDK নম্বরে কল করার আগে একটি অনন্য কাজের আইডি বজায় রাখুন। একই ব্যবসায়িক টাস্ক পুনরায় চেষ্টা করার সময় সেই আইডিটি পুনরায় ব্যবহার করুন। SDK প্রথমে একটি ব্যবহার সংরক্ষণ করে, তারপর কলব্যাক আহ্বান করে, তারপর সফল কাজ নিশ্চিত করে বা পরিচিত ব্যবসায়িক ব্যর্থতা বাতিল করে।
// client was opened once at application startup.
// jobID comes from your durable business task record.
jobID := os.Getenv("LICENTIVO_OPERATION_ID")
if jobID == "" {
return fmt.Errorf("persist a unique task ID before exporting")
}
err := client.RunMeteredFeature(ctx, "export", 1, jobID, func() error {
// Return success only after the output has been saved.
return os.WriteFile("licensed-report.txt", []byte("Metered export\n"), 0600)
})
if err != nil {
return err
}4. বিঘ্নিত কাজ পুনরুদ্ধার করুন
যখন একটি টাস্ক ইতিমধ্যেই সফল হিসাবে রেকর্ড করা হয়, তখন এর আইডি পুনরায় চেষ্টা করলে SDK কলব্যাক পুনরায় চালু না করে মুলতুবি অ্যাকাউন্টিং নিষ্পত্তি করতে দেয়। ব্যবসা কলব্যাক চলাকালীন প্রক্রিয়াটি মারা গেলে, SDK বাহ্যিক অপারেশন শেষ হয়েছে কিনা তা জানতে পারবে না।
আপনার সংরক্ষিত ব্যবসা ফলাফল পরিদর্শন করুন. নিশ্চিত সাফল্যের জন্য ResolveMeteredFeature(ctx, jobID, true) কল করুন, অথবা নিশ্চিত ব্যর্থতার জন্য মিথ্যা। এটি শুধুমাত্র অ্যাকাউন্টিং সমাধান করে। পেমেন্ট, ফাইল ডেলিভারি বা অন্য অপরিবর্তনীয় ক্রিয়াকে অন্ধভাবে পুনরাবৃত্তি করবেন না।
ডিফল্ট রিজার্ভেশন 15 মিনিট স্থায়ী হয় এবং একটি UTC পিরিয়ড রিসেট দ্বারা আবদ্ধ। মেয়াদ শেষ হওয়ার আগে শেষ করুন এবং নিষ্পত্তি করুন; এমন একটি কাজের জন্য সাধারণ মোড়ক ব্যবহার করবেন না যা এর সংরক্ষণের বাইরে থাকতে পারে। গ্রাহক ইচ্ছাকৃতভাবে একটি নতুন প্রচেষ্টা শুরু করলে একটি বাতিল ব্যবসায়িক টাস্কের জন্য একটি নতুন আইডি প্রয়োজন৷
5. পাল্টা আচরণ যাচাই করুন
- একটি ছোট পরীক্ষার সীমা দিয়ে শুরু করুন। একটি সফল রপ্তানি এক দ্বারা ব্যবহৃত বৃদ্ধি করা উচিত.
- কাজ শেষ করার আগে কলব্যাককে একটি ত্রুটি ফিরিয়ে দিন: এটির সংরক্ষণ বাতিল করা উচিত।
- একটি সফলভাবে রেকর্ড করা কাজের আইডি পুনরায় চেষ্টা করুন এবং কলব্যাকটি পুনরাবৃত্তি করা হয়নি তা নিশ্চিত করুন।
- একটি অবরুদ্ধ কোটা শেষ করুন এবং নিশ্চিত করুন যে কলব্যাক চলছে না। পরবর্তী রিসেট সময়ের সাথে একটি পরিষ্কার বার্তা দেখান।
- আপনার পরীক্ষার পরিবেশে একটি বাধাপ্রাপ্ত কাজ অনুকরণ করুন এবং টেকসই ব্যবসার রেকর্ড থেকে এটি সমাধান করুন।
সাধারণ ভুল
কাউন্টার অপারেশন সংযোগ প্রয়োজন. শুধুমাত্র একটি অফলাইন ক্যাশড লাইসেন্স অফলাইন রিজার্ভ বা কমিট অনুমোদন করে না। নিঃশব্দে একটি অস্বীকৃত মিটারযুক্ত ক্রিয়াকে একটি মিটারবিহীন ক্রিয়াতে পরিণত করবেন না।
একটি সরাসরি কনজিউম কল অবিলম্বে কেটে যায়। মিটারড কলব্যাক ব্যবহার করুন যখন ব্যবহার শুধুমাত্র ব্যবসায়িক সাফল্যের পরে গণনা করা উচিত। কাজ শেষ হওয়ার পরে একটি নেটওয়ার্ক ব্যর্থতা একটি অ্যাকাউন্টিং পুনরুদ্ধার সমস্যা; কাজ ব্যর্থ হয়েছে অনুমান করবেন না.
স্থিতিশীল টাস্ক আইডি এবং SDK জার্নালগুলি পুনরায় চেষ্টা করতে সহায়তা করে; তারা আপনার ব্যবসায়িক লেনদেন বা টেকসই ফলাফল সঞ্চয়স্থান প্রতিস্থাপন করে না। পুনরুদ্ধারের সময় ব্যবসার ফলাফল এবং SDK এর ব্যক্তিগত ক্যাশে উভয়ই রাখুন।