bytes لحجم الرفع لكل عميل، بحيث يمكنك احتساب الرسوم عليه. تتوفر هذه الخطة في حزمة npm @dodopayments/ingestion-blueprints باسم trackObjectStorage()، وهي تعمل مع S3 وGoogle Cloud Storage وAzure Blob Storage وغيرها من خدمات تخزين الكائنات.
حالات الاستخدام
تناسب Object Storage Blueprint السيناريوهات التالية:File Hosting
احتسب رسومًا على العملاء مقابل الحجم الإجمالي للملفات التي يرفعونها.
Backup Services
تتبّع عمليات رفع بيانات النسخ الاحتياطية واحتسب الرسوم بناءً على كمية البيانات التي تم رفعها.
Media CDN
راقب عمليات رفع الوسائط واحتسب الرسوم بناءً على حجم الرفع. ولاحتساب رسوم النطاق الترددي للتسليم، استخدم Stream Blueprint.
Document Management
تتبّع عمليات رفع المستندات لكل عميل من أجل التسعير القائم على الاستخدام.
استخدمها لاحتساب الرسوم بناءً على حجم الرفع لخدمات استضافة الملفات وشبكات CDN للوسائط وخدمات النسخ الاحتياطي. تحسب الخطة وحدات البايت التي تم رفعها، وليس وحدات البايت المخزنة بمرور الوقت.
البدء السريع
لتتبّع عمليات الرفع، ثبّت الحزمة وأنشئ مقياسًا وأرسل حدثًا بعد كل عملية رفع ناجحة.1
Install the SDK
ثبّت حزمة Dodo Payments Ingestion Blueprints:
2
Get Your API Keys
تحتاج إلى مجموعتين من بيانات الاعتماد:
- مفتاح Dodo Payments API: أنشئ مفتاحًا من Developer → API Keys في لوحة تحكم Dodo Payments، واحفظه في
DODO_PAYMENTS_API_KEY. استخدم مفتاح وضع الاختبار أثناء التطوير. يعمل مفتاح وضع الاختبار فقط معtest_mode. - بيانات اعتماد موفّر التخزين: بيانات الاعتماد التي تستخدمها حزمة SDK الخاصة بالتخزين لديك، سواءً لـ AWS S3 أو Google Cloud Storage أو Azure Blob Storage أو موفّر آخر.
3
Create a Meter
في لوحة تحكم Dodo Payments، انتقل إلى Products → Meters وانقر على Create Meter. حدّد الحقول التالية:
- اسم المقياس: اسم وصفي، مثل
Storage Uploads. - اسم الحدث:
object_storage_upload، أو اسم تختاره. يجب أن يطابقeventNameفي التعليمات البرمجية لديك تمامًا (مع مراعاة حالة الأحرف). - نوع التجميع: Sum، لجمع وحدات البايت التي تم رفعها.
- Over Property:
bytes، لاحتساب الرسوم بناءً على حجم الرفع. - وحدة القياس: الوحدة الظاهرة في الفواتير، مثل
bytes.
4
Track Storage Usage
أرسل الحدث بعد نجاح استدعاء التخزين. في هذه الأمثلة، تؤدي عملية الرفع الفاشلة إلى طرح خطأ قبل تشغيل
trackObjectStorage()، ولذلك لا يتم احتساب رسوم عليها.الإعدادات
إعدادات الإدخال
مرّر هذه الخيارات إلىnew Ingestion():
string
مطلوب
مفتاح Dodo Payments API الخاص بك من لوحة التحكم.
string
وضع البيئة:
test_mode أو live_mode. الإعداد الافتراضي هو test_mode. تستخدم حزم Dodo Payments SDK الإعداد الافتراضي live_mode بدلًا من ذلك، لذا عيّن live_mode صراحةً في بيئة الإنتاج.string
مطلوب
اسم الحدث الذي يطابق Event Name للمقياس (مع مراعاة حالة الأحرف).
خيارات تتبّع تخزين الكائنات
مرّر هذه الخيارات إلىtrackObjectStorage():
string
مطلوب
معرّف عميل Dodo Payments الذي ستُحتسب عليه رسوم الرفع، مثل
cus_123.number
عدد وحدات البايت التي تم رفعها. مطلوب لاحتساب الرسوم المستند إلى وحدات البايت. إذا حذفته، فلن يحتوي الحدث على قيمة
bytes، لكنه سيظل محتسبًا ضمن مقياس Count.object
بيانات وصفية اختيارية عن عملية الرفع، مثل اسم الحاوية أو نوع المحتوى. يجب أن تكون كل قيمة سلسلة نصية أو رقمًا أو قيمة منطقية.