@dodopayments/ingestion-blueprints npm packageに含まれており、trackTimeRange()として利用できます。
ユースケース
Time Range Blueprintは、次のシナリオに適しています:Serverless Functions
function execution timeとmemory usageに基づいて請求します。
Container Runtime
usage-based billingのためにコンテナの実行時間を追跡します。
Compute Instances
VMのruntimeを監視し、分単位または時間単位で請求します。
Background Jobs
data exports、レポート、batch jobsの処理時間を追跡します。
コンピュート時間、function execution duration、コンテナruntime、その他の時間ベースのusageに対する請求に使用できます。
クイックスタート
runtimeを追跡するには、packageをインストールしてmeterを作成し、リソースの実行が完了するたびにdurationを送信します。1
Install the SDK
Dodo Payments Ingestion Blueprints packageをインストールします:
2
Get Your API Keys
Dodo Payments dashboardで、Developer → API KeysからDodo Payments API keyを作成し、
DODO_PAYMENTS_API_KEY environment variableに保存します。構築中はtest mode keyを使用してください。test mode keyはtest_modeでのみ機能します。3
Create a Meter
Dodo Payments dashboardで、Products → Metersに移動し、Create Meterをクリックします。次のfieldを設定します:
- Meter Name:
Compute Timeなど、内容が分かる名前。 - Event Name:
time_range_usage、または任意の名前。コード内のeventNameと完全に一致する必要があります(大文字と小文字を区別)。次のstepの例では、function_executionなど、resource typeごとに異なるevent nameを使用するため、それぞれに独自のmeterが必要です。 - Aggregation Type: 合計durationを加算するためのSum。
- Over Property: 送信するduration key:
durationSeconds、durationMinutes、またはdurationMs。 - Measurement Unit: 請求書に表示するunit。例:
seconds。
4
Track Time Usage
処理の実行時間を計測し、meterで使用するunitのdurationを指定して
trackTimeRange()を呼び出します:設定
Ingestion Configuration
new Ingestion()に次のoptionsを渡します:
string
必須
dashboardから取得したDodo Payments API key。
string
Environment mode:
test_modeまたはlive_mode。デフォルトはtest_modeです。Dodo Payments SDKsはデフォルトでlive_modeを使用するため、productionではlive_modeを明示的に設定してください。string
必須
meterのEvent Nameと一致するevent name(大文字と小文字を区別)。
Time Range Optionsの追跡
trackTimeRange()に次のoptionsを渡します。渡した各durationは、同じ名前のmetadata keyとして送信されます。
string
必須
runtimeの請求対象となるDodo Payments customer ID。例:
cus_123。number
ミリ秒単位のduration。1秒未満の精度が必要な場合に使用します。
number
秒単位のduration。function executionや短時間のtaskで最も一般的です。
number
分単位のduration。VMなど、長時間実行されるresourceに便利です。
object
CPU、memory、regionなど、resourceに関する任意のmetadata。各valueはstring、number、またはbooleanである必要があります。