انتقل إلى المحتوى
LICENTIVO / INTEGRATION

الحد من عمليات تصدير الملفات باستخدام عداد الاستخدام الشهري

قم بتكوين 500 عملية تصدير لكل UTC شهرًا واترك SDK يقوم بحجز كل مهمة وتنفيذها وتسويتها. حافظ على استقرار هوية مهمة العمل حتى لا تؤدي عمليات إعادة المحاولة إلى مضاعفة تكلفة العمل المكتمل أو تكراره.

ميزة سير العمل · جميع حزم SDK التسعةتم التحديث

1. قم بتكوين عداد الميزات

تمكين ميزة التصدير في سياسة التفويض ومنحها حدًا قدره 500 شهريًا. قرر ما إذا كان تجاوز الحد محظورًا أو مسموحًا به بموجب قاعدة التجاوز التي تم تكوينها لهذه الميزة.

تنتمي عدادات الميزات إلى ترخيص العميل. وهي منفصلة عن جهاز مساحة عمل البائع وحصص الاشتراك API. تستخدم فترات الميزات اليومية والشهرية UTC؛ تتم إعادة تعيين الفترة الشهرية في بداية الشهر التقويمي التالي UTC.

2. افتح عميلًا واحدًا SDK

انسخ معرّف المنتج من لوحة التحكم > المنتجات. افتح مفاتيح التوقيع العامة للمنتج نفسه والصق جميع أزواج معرّف المفتاح والمفتاح العام في كود التهيئة بدلاً من YOUR_PRODUCT_ID وYOUR_KEY_ID وYOUR_PUBLIC_KEY. يمكن للتكامل السريع توليد هذا الكود. لا يلزم ملف إعداد للمنتج؛ يتصل SDK افتراضياً بـ https://www.licentivo.com.

للحصول على استحقاق عادي، استخدم RunFeature. لإجراء استخدام محدود، استخدم RunMeteredFeature. لا يثبت فحص الاستحقاق المحلي الناجح بقاء الحصة عبر الإنترنت.

3. لف الإجراء التجاري

احتفظ بمعرف وظيفة فريد قبل الاتصال بالرقم SDK. أعد استخدام هذا المعرف عند إعادة محاولة نفس مهمة العمل. يقوم SDK أولاً بحجز استخدام واحد، ثم يستدعي دالة الاستدعاء الراجع، ثم يؤكد العمل الناجح أو يلغي فشل العمل المعروف.

Go · inside a function returning error
// 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. التحقق من السلوك المضاد

  1. ابدأ بحد اختبار صغير. يجب أن يتم استخدام التصدير الناجح من قبل شخص واحد.
  2. اجعل دالة الاستدعاء الراجع يُرجع خطأً قبل إكمال العمل: يجب إلغاء حجزه.
  3. أعد محاولة معرف المهمة المسجلة بنجاح وتأكد من عدم تكرار دالة الاستدعاء الراجع.
  4. استنفاد الحصة النسبية المحظورة وتأكد من عدم تشغيل دالة الاستدعاء الراجع. إظهار رسالة واضحة مع وقت إعادة التعيين التالي.
  5. قم بمحاكاة مهمة متقطعة في بيئة الاختبار الخاصة بك وحلها من سجل الأعمال الدائم.

الأخطاء الشائعة

تتطلب العمليات المضادة الاتصال. لا يسمح الترخيص المخبأ دون اتصال وحده بالحجز أو الالتزام دون اتصال. لا تقم بتحويل الإجراء المقنن المرفوض بصمت إلى إجراء غير مقنن.

يتم خصم مكالمة الاستهلاك المباشرة على الفور. استخدم دالة الاستدعاء الراجع المحدود عندما يجب أن يتم احتساب الاستخدام فقط بعد نجاح العمل. يعد فشل الشبكة بعد اكتمال العمل مشكلة في استرداد المحاسبة؛ لا تفترض فشل العمل.

تساعد معرفات المهام الثابتة واليوميات SDK على إعادة المحاولة؛ فهي لا تحل محل معاملاتك التجارية أو تخزين النتائج الدائمة. احتفظ بكل من نتيجة الأعمال وذاكرة التخزين المؤقت الخاصة بـ SDK متاحة أثناء عملية الاسترداد.