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 پر کال کرنے سے پہلے ایک منفرد جاب ID کو برقرار رکھیں۔ اسی کاروباری کام کی دوبارہ کوشش کرتے وقت اس ID کو دوبارہ استعمال کریں۔ 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. روکے ہوئے کام کی بازیافت کریں۔
جب کوئی کام پہلے سے ہی کامیاب کے طور پر ریکارڈ کیا جاتا ہے، تو اس کی ID کو دوبارہ آزمانے سے SDK اس کے کال بیک کو دوبارہ چلائے بغیر زیر التواء اکاؤنٹنگ کو حل کرنے دیتا ہے۔ اگر کاروباری کال بیک چلنے کے دوران عمل ختم ہو جاتا ہے، تو SDK یہ نہیں جان سکتا کہ بیرونی آپریشن ختم ہوا یا نہیں۔
اپنے محفوظ کردہ کاروباری نتائج کا معائنہ کریں۔ تصدیق شدہ کامیابی کے لیے ResolveMeteredFeature(ctx, jobID, true) پر کال کریں، یا تصدیق شدہ ناکامی کے لیے غلط۔ یہ صرف اکاؤنٹنگ کو حل کرتا ہے۔ ادائیگی، فائل کی ترسیل یا دیگر ناقابل واپسی کارروائی کو کبھی آنکھ بند کرکے نہ دہرائیں۔
پہلے سے طے شدہ ریزرویشن 15 منٹ تک جاری رہتی ہے اور یہ UTC پیریڈ ری سیٹ سے پابند ہے۔ ختم کریں اور ختم ہونے سے پہلے طے کریں؛ کسی ایسے کام کے لیے سادہ ریپر استعمال نہ کریں جو اس کی ریزرویشن سے زیادہ رہ جائے۔ اگر گاہک جان بوجھ کر کوئی نئی کوشش شروع کرتا ہے تو منسوخ شدہ کاروباری کام کے لیے ایک نئی ID کی ضرورت ہوتی ہے۔
5. جوابی رویے کی تصدیق کریں۔
- ایک چھوٹی C ٹیسٹ کی حد کے ساتھ شروع کریں۔ ایک کامیاب برآمد کو ایک کے ذریعہ استعمال میں اضافہ کرنا چاہئے۔
- کام مکمل کرنے سے پہلے کال بیک کو ایک غلطی واپس کر دیں: اس کی ریزرویشن منسوخ کر دی جانی چاہیے۔
- کامیابی سے ریکارڈ شدہ جاب آئی ڈی کو دوبارہ آزمائیں اور تصدیق کریں کہ کال بیک دہرایا نہیں گیا ہے۔
- بلاک شدہ کوٹہ ختم کریں اور تصدیق کریں کہ کال بیک نہیں چل رہا ہے۔ اگلی ری سیٹ وقت کے ساتھ واضح پیغام دکھائیں۔
- اپنے آزمائشی ماحول پر کسی رکاوٹ والے کام کی نقل بنائیں اور اسے پائیدار کاروباری ریکارڈ سے حل کریں۔
عام غلطیاں
کاؤنٹر آپریشنز کو کنیکٹیویٹی کی ضرورت ہوتی ہے۔ اکیلے آف لائن کیش شدہ لائسنس آف لائن ریزرو یا کمٹ کی اجازت نہیں دیتا ہے۔ خاموشی سے انکار شدہ میٹرڈ ایکشن کو بغیر میٹرڈ ایکشن میں تبدیل نہ کریں۔
ایک ڈائریکٹ کنزیوم کال فوراً کٹ جاتی ہے۔ میٹرڈ کال بیک کا استعمال کریں جب استعمال صرف کاروباری کامیابی کے بعد شمار کیا جائے۔ کام مکمل ہونے کے بعد نیٹ ورک کی ناکامی اکاؤنٹنگ کی بحالی کا مسئلہ ہے۔ یہ مت سمجھو کہ کام ناکام ہو گیا ہے۔
مستحکم ٹاسک آئی ڈیز اور SDK جرنلز دوبارہ کوششوں میں مدد کرتے ہیں۔ وہ آپ کے کاروباری لین دین یا پائیدار رزلٹ اسٹوریج کی جگہ نہیں لیتے ہیں۔ ریکوری کے دوران کاروباری نتیجہ اور SDK کے نجی کیش دونوں کو دستیاب رکھیں۔