Hoppa till huvudinnehåll

Användningsfall

Utforska vanliga scenarier som stöds av Objektlagringsplanen:

Filhosting

Debiterar kunder baserat på total lagringsanvändning och uppladdningsvolym.

Backup-tjänster

Spåra backupdatauppladdningar och ta betalt per GB lagrad.

Media CDN

Övervaka mediauppladdningar och debiterar för lagring och bandbredd.

Dokumenthantering

Spåra dokumentuppladdningar per kund för användningsbaserad prissättning.
Perfekt för att debiterar baserat på lagringsuppladdningar, filhosting, CDN-användning eller backup-tjänster.

Snabbstart

Spåra objektlagringsuppladdningar med förbrukade byte:
1

Installera SDK:n

npm install @dodopayments/ingestion-blueprints
2

Hämta dina API-nycklar

  • Dodo Payments API-nyckel: Hämta den från Dodo Payments Dashboard
  • Lagringsleverantörens API-nyckel: Från AWS S3, Google Cloud Storage, Azure, etc.
3

Skapa en mätare

Skapa en mätare i din Dodo Payments Dashboard:
  • Händelsenamn: object_storage_upload (eller ditt föredragna namn)
  • Aggregeringstyp: sum för att spåra totala byte som laddats upp
  • Över egenskap: bytes för att debiterar baserat på lagringsstorlek
4

Spåra lagringsanvändning

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
});

Konfiguration

Ingestionskonfiguration

apiKey
string
obligatorisk
Din Dodo Payments API-nyckel från instrumentpanelen.
environment
string
obligatorisk
Miljöläge: test_mode eller live_mode.
eventName
string
obligatorisk
Händelsenamn som matchar din mätarkonfiguration.

Spåra objektlagringsalternativ

customerId
string
obligatorisk
Kund-ID för debiteringsattribution.
bytes
number
Antal byte som laddats upp. Krävs för byte-baserad debitering.
metadata
object
Valfri metadata om uppladdningen som bucket-namn, innehållstyp, etc.

Bästa praxis

Spåra före eller efter uppladdning: Du kan spåra händelsen före eller efter den faktiska uppladdningen beroende på din felhanteringsstrategi.
Hantera uppladdningsfel: Spåra endast lyckade uppladdningar för att undvika debitering för misslyckade operationer.