メインコンテンツへスキップ

ユースケース

時間範囲ブループリントでサポートされている一般的なシナリオを探ります:

Serverless Functions

関数の実行時間とメモリ使用量に基づいて請求します。

Container Runtime

使用ベースの請求のためにコンテナの稼働時間を追跡します。

Compute Instances

VM のランタイムを監視し、分単位または時間単位で課金します。

Background Jobs

データのエクスポート、レポート、バッチジョブの処理時間を追跡します。
コンピューティング時間、関数の実行時間、コンテナの稼働時間、またはその他の時間ベースの使用状況に応じた請求に最適です。

クイックスタート

時間の経過に基づいてリソース使用量を追跡します:
1

Install the SDK

npm install @dodopayments/ingestion-blueprints
2

Get Your API Keys

3

Create a Meter

Create a meter in your Dodo Payments Dashboard:
  • Event Name: time_range_usage (or your preferred name)
  • Aggregation Type: sum to track total duration
  • Over Property: durationSeconds, durationMinutes, or durationMs
4

Track Time Usage

import { Ingestion, trackTimeRange } from '@dodopayments/ingestion-blueprints';

const ingestion = new Ingestion({
  apiKey: process.env.DODO_PAYMENTS_API_KEY,
  environment: 'test_mode',
  eventName: 'function_execution'
});

// Track function execution time
const startTime = Date.now();

// Execute your function (example: image processing)
const result = await yourImageProcessingLogic();

const durationMs = Date.now() - startTime;

await trackTimeRange(ingestion, {
  customerId: 'customer_123',
  durationMs: durationMs
});

設定

取り込み設定

apiKey
string
必須
ダッシュボードから取得した Dodo Payments API キー。
environment
string
必須
環境モード: test_mode または live_mode
eventName
string
必須
メーター構成に一致するイベント名。

時間範囲オプションの追跡

customerId
string
必須
課金帰属のためのカスタマー ID。
durationMs
number
ミリ秒単位の期間。サブ秒精度に使用します。
durationSeconds
number
秒単位の期間。関数の実行や短いタスクで最も一般的に使用されます。
durationMinutes
number
分単位の期間。VM などの長時間稼働するリソースに便利です。
metadata
object
CPU、メモリ、リージョンなどのリソースに関する任意のメタデータ。

ベストプラクティス

適切な単位を選択: 短時間の処理にはミリ秒、関数には秒、長時間稼働するリソースには分を使用してください。
正確なタイミング: 特にサーバーレス関数では、正確な時間追跡のために Date.now() または performance.now() を使用してください。