@dodopayments/ingestion-blueprints npm 包中,使用方式为 trackTimeRange()。
使用场景
Time Range Blueprint 适用于以下场景:Serverless Functions
根据函数执行时间和内存使用量收费。
Container Runtime
跟踪容器运行时间,以便按使用量收费。
Compute Instances
监控 VM 运行时间,并按分钟或小时收费。
Background Jobs
跟踪数据导出、报告和批处理任务的处理时间。
使用它可以针对计算时间、函数执行时长、容器运行时间或任何其他基于时间的使用量收费。
快速开始
要跟踪运行时间,请安装该包、创建 meter,并在每次资源运行结束时发送时长。1
Install the SDK
安装 Dodo Payments Ingestion Blueprints 包:
2
Get Your API Keys
在 Dodo Payments dashboard 中,前往 Developer → API Keys 创建 Dodo Payments API key,并将其存储在
DODO_PAYMENTS_API_KEY 环境变量中。构建期间请使用 test mode key。test mode key 只能与 test_mode 一起使用。3
Create a Meter
在 Dodo Payments dashboard 中,前往 Products → Meters,然后点击 Create Meter。设置以下字段:
- Meter Name:描述性名称,例如
Compute Time。 - Event Name:
time_range_usage,或自定义名称。它必须与代码中的eventName完全匹配(区分大小写)。下一步中的示例为每种资源类型使用单独的 event name,例如function_execution,因此每种类型都需要单独的 meter。 - Aggregation Type:选择 Sum,以累加总时长。
- Over Property:发送的时长 key:
durationSeconds、durationMinutes或durationMs。 - Measurement Unit:发票上显示的单位,例如
seconds。
4
Track Time Usage
测量任务运行了多长时间,然后使用 meter 所采用的单位,将时长传递给
trackTimeRange():配置
Ingestion 配置
将以下选项传递给new Ingestion():
string
必填
从 dashboard 获取的 Dodo Payments API key。
string
环境模式:
test_mode 或 live_mode。默认为 test_mode。Dodo Payments SDK 默认使用 live_mode,因此请在生产环境中显式设置 live_mode。string
必填
与 meter 的 Event Name 匹配的事件名称(区分大小写)。
Track Time Range 选项
将以下选项传递给trackTimeRange()。传递的每个时长都会以同名 metadata key 的形式发送。
string
必填
用于为运行时间计费的 Dodo Payments customer ID,例如
cus_123。number
以毫秒为单位的时长。用于亚秒级精度。
number
以秒为单位的时长。最常用于函数执行和短时任务。
number
以分钟为单位的时长。适用于 VM 等运行时间较长的资源。
object
关于资源的可选 metadata,例如 CPU、内存或区域。每个值都必须是 string、number 或 boolean。