Skip to main content
Object Storage Blueprint は、顧客がファイルをアップロードするたびに、アップロードされたバイト数を含む使用量イベントを Dodo Payments に送信します。bytes に対する Sum メーターによって各顧客のアップロード量を合計できるため、それに基づいて請求できます。この blueprint は @dodopayments/ingestion-blueprints npm package に trackObjectStorage() として含まれており、S3、Google Cloud Storage、Azure Blob Storage、その他のオブジェクトストレージサービスで利用できます。

ユースケース

Object Storage Blueprint は、次のシナリオに適しています。

File Hosting

顧客がアップロードしたファイルの合計容量に基づいて請求します。

Backup Services

バックアップデータのアップロードを追跡し、アップロードされたデータ量に基づいて請求します。

Media CDN

メディアのアップロードを監視し、アップロード量に基づいて請求します。配信帯域幅に対して請求する場合は、Stream Blueprint を使用してください。

Document Management

使用量ベースの料金設定のために、顧客ごとのドキュメントのアップロードを追跡します。
ファイルホスティング、メディア CDN、バックアップサービスのアップロード量に基づく請求に使用できます。この blueprint は、時間の経過に伴う保存バイト数ではなく、アップロードされたバイト数をカウントします。

クイックスタート

アップロードを追跡するには、package をインストールし、メーターを作成して、アップロードが成功するたびにイベントを送信します。
1

Install the SDK

Dodo Payments Ingestion Blueprints package をインストールします。
2

Get Your API Keys

2 組の認証情報が必要です。
  • Dodo Payments API key: Dodo Payments dashboard の Developer → API Keys で作成し、DODO_PAYMENTS_API_KEY に保存します。構築中は test mode key を使用してください。test mode key は test_mode でのみ機能します。
  • Storage provider credentials: AWS S3、Google Cloud Storage、Azure Blob Storage、またはその他の provider で、storage SDK が使用する認証情報です。
3

Create a Meter

Dodo Payments dashboard で Products → Meters に移動し、Create Meter をクリックします。次のフィールドを設定します。
  • Meter Name: Storage Uploads のような説明的な名前です。
  • Event Name: object_storage_upload、または任意の名前です。コード内の eventName と大文字と小文字を含めて完全に一致する必要があります。
  • Aggregation Type: アップロードされたバイト数を合計する Sum です。
  • Over Property: アップロードサイズに基づいて請求するための bytes です。
  • Measurement Unit: 請求書に表示される単位で、たとえば bytes です。
4

Track Storage Usage

storage call が成功した後にイベントを送信します。次の例では、アップロードに失敗すると trackObjectStorage() が実行される前にエラーがスローされるため、請求は発生しません。

設定

Ingestion Configuration

new Ingestion() に次のオプションを渡します。
string
必須
dashboard から取得した Dodo Payments API key です。
string
環境モード: test_mode または live_mode です。デフォルトは test_mode です。Dodo Payments SDKs は代わりにデフォルトで live_mode を使用するため、本番環境では live_mode を明示的に設定してください。
string
必須
メーターの Event Name と一致するイベント名です(大文字と小文字を区別します)。

Object Storage Options の追跡

trackObjectStorage() に次のオプションを渡します。
string
必須
アップロードに対して請求する Dodo Payments customer ID です。例: cus_123。
number
アップロードされたバイト数です。バイトベースの請求には必須です。省略すると、イベントには bytes の値が含まれませんが、Count メーターにはカウントされます。
object
バケット名や content type など、アップロードに関する任意の metadata です。各値は string、number、または boolean である必要があります。

ベストプラクティス

アップロード前または後に追跡する: エラーハンドリング戦略に応じて、実際のアップロードの前後どちらでもイベントを追跡できます。
API には、ingested event を削除する endpoint はありません。アップロード前に送信したイベントは、その後アップロードが失敗しても顧客の使用量に残ります。
アップロードの失敗を処理する: 失敗した操作に対して請求しないよう、成功したアップロードのみを追跡します。
最終更新日 2026年9月26日