Zum Hauptinhalt springen

Anwendungsfälle

Erforschen Sie gängige Szenarien, die vom Object Storage Blueprint unterstützt werden:

Dateihosting

Rechnen Sie Kunden basierend auf der gesamten Speichernutzung und dem Upload-Volumen ab.

Backup-Dienste

Verfolgen Sie die Uploads von Backup-Daten und berechnen Sie pro GB gespeichert.

Media CDN

Überwachen Sie Medien-Uploads und berechnen Sie für Speicher und Bandbreite.

Dokumentenmanagement

Verfolgen Sie Dokumenten-Uploads pro Kunde für eine nutzungsbasierte Preisgestaltung.
Perfekt für die Abrechnung basierend auf Speicher-Uploads, Dateihosting, CDN-Nutzung oder Backup-Diensten.

Schnellstart

Verfolgen Sie Object Storage-Uploads mit verbrauchten Bytes:
1

SDK installieren

npm install @dodopayments/ingestion-blueprints
2

Holen Sie sich Ihre API-Schlüssel

  • Dodo Payments API-Schlüssel: Holen Sie ihn aus dem Dodo Payments Dashboard
  • API-Schlüssel des Speicheranbieters: Von AWS S3, Google Cloud Storage, Azure usw.
3

Erstellen Sie einen Zähler

Erstellen Sie einen Zähler in Ihrem Dodo Payments Dashboard:
  • Ereignisname: object_storage_upload (oder Ihr bevorzugter Name)
  • Aggregationstyp: sum um die insgesamt hochgeladenen Bytes zu verfolgen
  • Über Eigenschaft: bytes um basierend auf der Speichergröße abzurechnen
4

Speichernutzung verfolgen

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

Ingestion-Konfiguration

apiKey
string
required
Ihr Dodo Payments API-Schlüssel aus dem Dashboard.
environment
string
required
Umgebungsmodus: test_mode oder live_mode.
eventName
string
required
Ereignisname, der mit Ihrer Zählerkonfiguration übereinstimmt.

Optionen zur Verfolgung von Object Storage

customerId
string
required
Die Kunden-ID für die Abrechnungszuordnung.
bytes
number
Anzahl der hochgeladenen Bytes. Erforderlich für die bytebasierte Abrechnung.
metadata
object
Optionale Metadaten zum Upload wie Bucket-Name, Inhaltstyp usw.

Best Practices

Verfolgen Sie vor oder nach dem Upload: Sie können das Ereignis vor oder nach dem tatsächlichen Upload verfolgen, abhängig von Ihrer Fehlerbehandlungsstrategie.
Verarbeiten Sie Upload-Fehler: Verfolgen Sie nur erfolgreiche Uploads, um die Abrechnung für fehlgeschlagene Operationen zu vermeiden.