bytes cộng tổng khối lượng tải lên của từng khách hàng để bạn có thể tính phí. Blueprint được cung cấp trong package npm @dodopayments/ingestion-blueprints dưới dạng trackObjectStorage() và hoạt động với S3, Google Cloud Storage, Azure Blob Storage cùng các dịch vụ object storage khác.
Trường hợp sử dụng
Object Storage Blueprint phù hợp với các trường hợp sau:File Hosting
Tính phí khách hàng dựa trên tổng dung lượng các tệp họ tải lên.
Backup Services
Theo dõi việc tải dữ liệu sao lưu lên và tính phí dựa trên lượng dữ liệu đã tải lên.
Media CDN
Theo dõi việc tải media lên và tính phí dựa trên khối lượng tải lên. Để tính phí băng thông phân phối, hãy sử dụng Stream Blueprint.
Document Management
Theo dõi các tài liệu khách hàng tải lên để áp dụng hình thức tính phí dựa trên mức sử dụng.
Sử dụng blueprint này để tính phí theo khối lượng tải lên cho các dịch vụ lưu trữ tệp, media CDN và sao lưu. Blueprint đếm số byte đã tải lên, không phải số byte được lưu trữ theo thời gian.
Bắt đầu nhanh
Để theo dõi các lượt tải lên, hãy cài đặt package, tạo một meter và gửi một event sau mỗi lượt tải lên thành công.1
Install the SDK
Cài đặt package Dodo Payments Ingestion Blueprints:
2
Get Your API Keys
Bạn cần hai bộ thông tin xác thực:
- Dodo Payments API key: Tạo một key trong Developer → API Keys trên Dodo Payments dashboard, rồi lưu key vào
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ớitest_mode. - Thông tin xác thực của nhà cung cấp dịch vụ lưu trữ: Thông tin xác thực mà storage SDK sử dụng cho AWS S3, Google Cloud Storage, Azure Blob Storage hoặc một nhà cung cấp khác.
3
Create a Meter
Trong Dodo Payments dashboard, hãy đ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ư
Storage Uploads. - Event Name:
object_storage_uploadhoặc tên do bạn chọn. Tên này phải khớp chính xác vớieventNametrong code của bạn (phân biệt chữ hoa chữ thường). - Aggregation Type: Sum, để cộng tổng số byte đã tải lên.
- Over Property:
bytes, để tính phí dựa trên kích thước tải lên. - Measurement Unit: đơn vị hiển thị trên invoice, chẳng hạn như
bytes.
4
Track Storage Usage
Gửi event sau khi lệnh gọi đến storage thành công. Trong các ví dụ này, một lượt tải lên không thành công sẽ throw trước khi
trackObjectStorage() chạy, nên lượt tải lên đó không bị tính phí.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 lấy từ dashboard.
string
Chế độ môi trường:
test_mode hoặc live_mode. Mặc định là test_mode. Tuy nhiên, Dodo Payments SDK mặc định sử dụng live_mode, vì vậy hãy thiết lập rõ ràng live_mode trong production.string
bắt buộc
Tên event khớp với Event Name của meter (phân biệt chữ hoa chữ thường).
Tùy chọn theo dõi Object Storage
Truyền các tùy chọn sau vàotrackObjectStorage():
string
bắt buộc
Dodo Payments customer ID sẽ được tính phí cho lượt tải lên, chẳng hạn như
cus_123.number
Số byte đã tải lên. Bắt buộc khi tính phí dựa trên byte. Nếu bỏ qua, event sẽ không có giá trị
bytes, nhưng vẫn được tính vào meter Count.object
Metadata tùy chọn về lượt tải lên, chẳng hạn như tên bucket hoặc loại nội dung. Mỗi giá trị phải là một string, number hoặc boolean.