@dodopayments/ingestion-blueprints como trackTimeRange().
Casos de uso
El Time Range Blueprint se adapta a estos escenarios:Serverless Functions
Facturar según el tiempo de ejecución y el uso de memoria de las funciones.
Container Runtime
Realizar un seguimiento del tiempo de ejecución de los contenedores para la facturación basada en el uso.
Compute Instances
Supervisar el tiempo de ejecución de las VM y cobrar por minuto o por hora.
Background Jobs
Realizar un seguimiento del tiempo de procesamiento de exportaciones de datos, informes y trabajos por lotes.
Úsalo para facturar por el tiempo de cómputo, la duración de ejecución de funciones, el tiempo de ejecución de contenedores o cualquier otro uso basado en el tiempo.
Inicio rápido
Para realizar un seguimiento del tiempo de ejecución, instala el paquete, crea un medidor y envía la duración cada vez que un recurso termine de ejecutarse.1
Install the SDK
Instala el paquete Dodo Payments Ingestion Blueprints:
2
Get Your API Keys
Crea una clave de API de Dodo Payments en Developer → API Keys en el panel de Dodo Payments y guárdala en la variable de entorno
DODO_PAYMENTS_API_KEY. Usa una clave de modo de prueba mientras desarrollas. Una clave de modo de prueba solo funciona con test_mode.3
Create a Meter
En el panel de Dodo Payments, ve a Products → Meters y haz clic en Create Meter. Configura estos campos:
- Meter Name: un nombre descriptivo, como
Compute Time. - Event Name:
time_range_usageo un nombre que elijas. Debe coincidir exactamente coneventNameen tu código (distingue entre mayúsculas y minúsculas). Los ejemplos del siguiente paso usan un nombre de evento independiente para cada tipo de recurso, comofunction_execution, por lo que cada uno necesita su propio medidor. - Aggregation Type: Sum, para sumar la duración total.
- Over Property: la clave de duración que envías:
durationSeconds,durationMinutesodurationMs. - Measurement Unit: la unidad que se muestra en las facturas, como
seconds.
4
Track Time Usage
Mide cuánto tiempo se ejecutó el trabajo y, después, llama a
trackTimeRange() con la duración en la unidad que usa tu medidor:Configuración
Configuración de ingesta
Pasa estas opciones anew Ingestion():
string
requerido
Tu clave de API de Dodo Payments del panel.
string
Modo de entorno:
test_mode o live_mode. El valor predeterminado es test_mode. En cambio, los SDK de Dodo Payments usan live_mode de forma predeterminada, por lo que debes establecer live_mode explícitamente en producción.string
requerido
Nombre del evento que coincide con el Event Name de tu medidor (distingue entre mayúsculas y minúsculas).
Opciones de seguimiento del intervalo de tiempo
Pasa estas opciones atrackTimeRange(). Cada duración que pases se envía como una clave de metadatos con el mismo nombre.
string
requerido
El ID de cliente de Dodo Payments al que se facturará el tiempo de ejecución, por ejemplo,
cus_123.number
Duración en milisegundos. Úsala para obtener precisión inferior a un segundo.
number
Duración en segundos. Es lo más habitual para la ejecución de funciones y las tareas cortas.
number
Duración en minutos. Es útil para recursos de ejecución prolongada, como las VM.
object
Metadatos opcionales sobre el recurso, como CPU, memoria o región. Cada valor debe ser una cadena, un número o un booleano.