Skip to main content
Das Object Storage Blueprint sendet jedes Mal ein Nutzungsereignis an Dodo Payments, wenn ein Kunde eine Datei hochlädt, einschließlich der Anzahl der hochgeladenen Bytes. Ein Sum-Meter über bytes addiert das Upload-Volumen jedes Kunden, sodass du es in Rechnung stellen kannst. Das Blueprint ist im npm-Paket @dodopayments/ingestion-blueprints als trackObjectStorage() enthalten und funktioniert mit S3, Google Cloud Storage, Azure Blob Storage und anderen Object-Storage-Diensten.

Anwendungsfälle

Das Object Storage Blueprint eignet sich für folgende Szenarien:

File Hosting

Stelle Kunden das Gesamtvolumen der von ihnen hochgeladenen Dateien in Rechnung.

Backup Services

Verfolge Uploads von Backup-Daten und berechne die hochgeladene Datenmenge.

Media CDN

Überwache Media-Uploads und stelle das Upload-Volumen in Rechnung. Für die Abrechnung der Delivery-Bandbreite verwende das Stream Blueprint.

Document Management

Verfolge Dokumenten-Uploads pro Kunde für nutzungsbasierte Preise.
Verwende es, um File-Hosting-, Media-CDN- und Backup-Dienste nach Upload-Volumen abzurechnen. Das Blueprint zählt hochgeladene Bytes, nicht die über einen Zeitraum gespeicherten Bytes.

Schnellstart

Um Uploads zu verfolgen, installiere das Paket, erstelle ein Meter und sende nach jedem erfolgreichen Upload ein Ereignis.
1

Install the SDK

Installiere das Dodo Payments Ingestion Blueprints-Paket:
2

Get Your API Keys

Du benötigst zwei Arten von Zugangsdaten:
  • Dodo Payments API key: Erstelle einen unter Developer → API Keys im Dodo Payments-Dashboard und speichere ihn in DODO_PAYMENTS_API_KEY. Verwende beim Entwickeln einen Testmodus-Schlüssel. Ein Testmodus-Schlüssel funktioniert nur mit test_mode.
  • Zugangsdaten des Storage-Anbieters: Die Zugangsdaten, die dein Storage SDK für AWS S3, Google Cloud Storage, Azure Blob Storage oder einen anderen Anbieter verwendet.
3

Create a Meter

Öffne im Dodo Payments-Dashboard Products → Meters und klicke auf Create Meter. Lege diese Felder fest:
  • Meter Name: Ein beschreibender Name, zum Beispiel Storage Uploads.
  • Event Name: object_storage_upload oder ein von dir gewählter Name. Er muss in deinem Code exakt mit eventName übereinstimmen (Groß- und Kleinschreibung beachten).
  • Aggregation Type: Sum, um die hochgeladenen Bytes zu addieren.
  • Over Property: bytes, um nach Upload-Größe abzurechnen.
  • Measurement Unit: Die auf Rechnungen angezeigte Einheit, zum Beispiel bytes.
4

Track Storage Usage

Sende das Ereignis, nachdem der Storage-Aufruf erfolgreich war. In diesen Beispielen löst ein fehlgeschlagener Upload einen Fehler aus, bevor trackObjectStorage() ausgeführt wird, sodass er nicht abgerechnet wird.

Konfiguration

Ingestion-Konfiguration

Übergib diese Optionen an new Ingestion():
string
erforderlich
Dein Dodo Payments API key aus dem Dashboard.
string
Umgebungsmodus: test_mode oder live_mode. Standardmäßig wird test_mode verwendet. Die Dodo Payments SDKs verwenden stattdessen standardmäßig live_mode. Setze live_mode daher in der Produktion explizit.
string
erforderlich
Der Ereignisname, der mit dem Event Name deines Meters übereinstimmt (Groß- und Kleinschreibung beachten).

Optionen für Object Storage-Tracking

Übergib diese Optionen an trackObjectStorage():
string
erforderlich
Die Dodo Payments customer ID, der der Upload in Rechnung gestellt werden soll, zum Beispiel cus_123.
number
Anzahl der hochgeladenen Bytes. Für die bytebasierte Abrechnung erforderlich. Wenn du diesen Wert weglässt, enthält das Ereignis keinen Wert für bytes, wird aber weiterhin für ein Count-Meter gezählt.
object
Optionale Metadaten zum Upload, zum Beispiel Bucket-Name oder Content-Type. Jeder Wert muss ein String, eine Zahl oder ein Boolean sein.

Best Practices

Vor oder nach dem Upload tracken: Du kannst das Ereignis abhängig von deiner Strategie zur Fehlerbehandlung vor oder nach dem eigentlichen Upload tracken.
Die API verfügt über keinen Endpoint zum Löschen eines ingested event. Ein Ereignis, das vor einem anschließend fehlschlagenden Upload gesendet wurde, bleibt in der Nutzung des Kunden enthalten.
Upload-Fehler behandeln: Tracke nur erfolgreiche Uploads, damit dir fehlgeschlagene Vorgänge nicht in Rechnung gestellt werden.
Zuletzt geändert am 26. September 2026