@dodopayments/ingestion-blueprints dưới dạng trackTimeRange().
Trường hợp sử dụng
Time Range Blueprint phù hợp với các trường hợp sau:Serverless Functions
Tính phí dựa trên thời gian thực thi function và mức sử dụng memory.
Container Runtime
Theo dõi thời gian container chạy để tính phí dựa trên usage.
Compute Instances
Theo dõi runtime của VM và tính phí theo phút hoặc giờ.
Background Jobs
Theo dõi thời gian xử lý cho data exports, reports và batch jobs.
Sử dụng blueprint này để tính phí cho compute time, thời lượng thực thi function, runtime của container hoặc bất kỳ usage nào khác dựa trên thời gian.
Bắt đầu nhanh
Để theo dõi runtime, hãy cài đặt package, tạo meter và gửi thời lượng mỗi khi một resource chạy xong.1
Install the SDK
Cài đặt package Dodo Payments Ingestion Blueprints:
2
Get Your API Keys
Tạo Dodo Payments API key trong Developer → API Keys trên Dodo Payments dashboard, rồi lưu key này vào environment variable
DODO_PAYMENTS_API_KEY. Sử dụng test mode key trong quá trình xây dựng. Test mode key chỉ hoạt động với test_mode.3
Create a Meter
Trong Dodo Payments dashboard, đi đến Products → Meters và nhấp vào Create Meter. Thiết lập các field sau:
- Meter Name: tên mô tả, chẳng hạn như
Compute Time. - Event Name:
time_range_usagehoặc tên do bạn chọn. Tên này phải khớp chính xác vớieventNametrong code (phân biệt chữ hoa chữ thường). Các ví dụ ở bước tiếp theo sử dụng một event name riêng cho từng loại resource, chẳng hạn nhưfunction_execution, vì vậy mỗi loại cần có meter riêng. - Aggregation Type: Sum, để cộng tổng thời lượng.
- Over Property: key thời lượng bạn gửi:
durationSeconds,durationMinuteshoặcdurationMs. - Measurement Unit: đơn vị hiển thị trên invoices, chẳng hạn như
seconds.
4
Track Time Usage
Đo thời gian tác vụ chạy, sau đó gọi
trackTimeRange() với thời lượng theo đơn vị mà meter của bạn sử dụng:Cấu hình
Cấu hình Ingestion
Truyền các tùy chọn sau vàonew Ingestion():
string
bắt buộc
Dodo Payments API key của bạn từ dashboard.
string
Environment mode:
test_mode hoặc live_mode. Mặc định là test_mode. Tuy nhiên, Dodo Payments SDKs mặc định sử dụng live_mode, vì vậy hãy đặt live_mode một cách rõ ràng trong production.string
bắt buộc
Event name khớp với Event Name của meter (phân biệt chữ hoa chữ thường).
Tùy chọn Track Time Range
Truyền các tùy chọn sau vàotrackTimeRange(). Mỗi duration bạn truyền sẽ được gửi dưới dạng metadata key có cùng tên.
string
bắt buộc
Dodo Payments customer ID dùng để tính phí runtime, chẳng hạn như
cus_123.number
Thời lượng tính bằng milliseconds. Sử dụng để đạt độ chính xác dưới một giây.
number
Thời lượng tính bằng seconds. Thường dùng nhất cho function execution và các tác vụ ngắn.
number
Thời lượng tính bằng minutes. Hữu ích cho các resource chạy lâu như VM.
object
Metadata tùy chọn về resource, chẳng hạn như CPU, memory hoặc region. Mỗi giá trị phải là string, number hoặc boolean.