मुख्य सामग्री पर जाएं

उपयोग के मामले

ऑब्जेक्ट स्टोरेज ब्लूप्रिंट द्वारा समर्थित सामान्य परिदृश्यों का अन्वेषण करें:

फ़ाइल होस्टिंग

कुल स्टोरेज उपयोग और अपलोड मात्रा के आधार पर ग्राहकों को बिल करें।

बैकअप सेवाएँ

बैकअप डेटा अपलोड को ट्रैक करें और प्रति GB स्टोर के लिए चार्ज करें।

मीडिया CDN

मीडिया अपलोड की निगरानी करें और स्टोरेज और बैंडविड्थ के लिए बिल करें।

दस्तावेज़ प्रबंधन

उपयोग-आधारित मूल्य निर्धारण के लिए ग्राहक के अनुसार दस्तावेज़ अपलोड को ट्रैक करें।
स्टोरेज अपलोड, फ़ाइल होस्टिंग, CDN उपयोग, या बैकअप सेवाओं के आधार पर बिलिंग के लिए बिल्कुल सही।

त्वरित प्रारंभ

बाइट्स की खपत के साथ ऑब्जेक्ट स्टोरेज अपलोड को ट्रैक करें:
1

SDK स्थापित करें

npm install @dodopayments/ingestion-blueprints
2

अपने API कुंजी प्राप्त करें

  • Dodo Payments API कुंजी: इसे Dodo Payments Dashboard से प्राप्त करें
  • स्टोरेज प्रदाता API कुंजी: AWS S3, Google Cloud Storage, Azure, आदि से।
3

एक मीटर बनाएं

अपने Dodo Payments Dashboard में एक मीटर बनाएं:
  • इवेंट नाम: object_storage_upload (या आपका पसंदीदा नाम)
  • संघटन प्रकार: sum कुल बाइट्स अपलोड किए गए ट्रैक करने के लिए
  • ओवर प्रॉपर्टी: bytes स्टोरेज आकार के आधार पर बिल करने के लिए
4

स्टोरेज उपयोग ट्रैक करें

import { Ingestion, trackObjectStorage } from '@dodopayments/ingestion-blueprints';
import { S3Client, PutObjectCommand } from '@aws-sdk/client-s3';
import fs from 'fs';

const ingestion = new Ingestion({
  apiKey: process.env.DODO_PAYMENTS_API_KEY,
  environment: 'test_mode',
  eventName: 'object_storage_upload'
});

const s3 = new S3Client({ region: 'us-east-1' });

// Read the file (example: from disk or request)
const fileBuffer = fs.readFileSync('./document.pdf');

// Upload to S3
const command = new PutObjectCommand({
  Bucket: 'my-bucket',
  Key: 'uploads/document.pdf',
  Body: fileBuffer
});

await s3.send(command);

// Track the upload
await trackObjectStorage(ingestion, {
  customerId: 'customer_123',
  bytes: fileBuffer.length
});

कॉन्फ़िगरेशन

इनजेशन कॉन्फ़िगरेशन

apiKey
string
आवश्यक
आपकी Dodo Payments API कुंजी डैशबोर्ड से।
environment
string
आवश्यक
पर्यावरण मोड: test_mode या live_mode
eventName
string
आवश्यक
इवेंट नाम जो आपके मीटर कॉन्फ़िगरेशन से मेल खाता है।

ऑब्जेक्ट स्टोरेज विकल्प ट्रैक करें

customerId
string
आवश्यक
बिलिंग एट्रिब्यूशन के लिए ग्राहक ID।
bytes
number
अपलोड किए गए बाइट्स की संख्या। बाइट-आधारित बिलिंग के लिए आवश्यक।
metadata
object
अपलोड के बारे में वैकल्पिक मेटाडेटा जैसे बकेट नाम, सामग्री प्रकार, आदि।

सर्वोत्तम प्रथाएँ

अपलोड से पहले या बाद में ट्रैक करें: आप अपनी त्रुटि हैंडलिंग रणनीति के आधार पर वास्तविक अपलोड से पहले या बाद में इवेंट को ट्रैक कर सकते हैं।
अपलोड विफलताओं को संभालें: विफल ऑपरेशनों के लिए बिलिंग से बचने के लिए केवल सफल अपलोड को ट्रैक करें।