@dodopayments/ingestion-blueprints als trackTimeRange() enthalten.
Anwendungsfälle
Das Time Range Blueprint eignet sich für folgende Szenarien:Serverless Functions
Abrechnung auf Grundlage der Funktionsausführungszeit und des Speicherverbrauchs.
Container Runtime
Verfolge die Laufzeit von Containern für eine nutzungsbasierte Abrechnung.
Compute Instances
Überwache die Laufzeit von VMs und rechne minutengenau oder stundenweise ab.
Background Jobs
Verfolge die Verarbeitungszeit für Datenexporte, Berichte und Batch-Jobs.
Verwende es, um Compute-Zeit, die Dauer von Funktionsausführungen, die Laufzeit von Containern oder jede andere zeitbasierte Nutzung abzurechnen.
Schnellstart
Um die Laufzeit zu verfolgen, installiere das Paket, erstelle ein Meter und sende die Dauer jedes Mal, wenn die Ausführung einer Ressource abgeschlossen ist.1
Install the SDK
Installiere das Dodo Payments Ingestion Blueprints-Paket:
2
Get Your API Keys
Erstelle unter Developer → API Keys im Dodo Payments-Dashboard einen Dodo Payments API-Schlüssel und speichere ihn in der Umgebungsvariable
DODO_PAYMENTS_API_KEY. Verwende während der Entwicklung einen Testmodus-Schlüssel. Ein Testmodus-Schlüssel funktioniert nur mit test_mode.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
Compute Time. - Event Name:
time_range_usageoder ein von dir gewählter Name. Er muss in deinem Code exakt miteventNameübereinstimmen (Groß-/Kleinschreibung beachten). Die Beispiele im nächsten Schritt verwenden für jeden Ressourcentyp einen eigenen Ereignisnamen, zum Beispielfunction_execution. Daher benötigt jeder einen eigenen Meter. - Aggregation Type: Sum, um die Gesamtdauer zu addieren.
- Over Property: der von dir gesendete Dauer-Schlüssel:
durationSeconds,durationMinutesoderdurationMs. - Measurement Unit: die auf Rechnungen angezeigte Einheit, zum Beispiel
seconds.
4
Track Time Usage
Miss, wie lange die Arbeit ausgeführt wurde, und rufe anschließend
trackTimeRange() mit der Dauer in der von deinem Meter verwendeten Einheit auf:Konfiguration
Ingestion-Konfiguration
Übergib diese Optionen annew Ingestion():
string
erforderlich
Dein Dodo Payments API-Schlüssel aus dem Dashboard.
string
Umgebungsmodus:
test_mode oder live_mode. Der Standardwert ist test_mode. Die Dodo Payments SDKs verwenden standardmäßig stattdessen live_mode. Lege daher in der Produktion live_mode explizit fest.string
erforderlich
Ereignisname, der mit dem Event Name deines Meters übereinstimmt (Groß-/Kleinschreibung beachten).
Optionen für Time Range verfolgen
Übergib diese Optionen antrackTimeRange(). Jede übergebene Dauer wird als Metadatenschlüssel mit demselben Namen gesendet.
string
erforderlich
Die Dodo Payments-Kunden-ID, der die Laufzeit in Rechnung gestellt werden soll, zum Beispiel
cus_123.number
Dauer in Millisekunden. Verwende dies für eine Genauigkeit im Subsekundenbereich.
number
Dauer in Sekunden. Dies ist bei Funktionsausführungen und kurzen Aufgaben am üblichsten.
number
Dauer in Minuten. Nützlich für länger laufende Ressourcen wie VMs.
object
Optionale Metadaten zur Ressource, zum Beispiel CPU, Arbeitsspeicher oder Region. Jeder Wert muss ein String, eine Zahl oder ein Boolean sein.