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 である必要があります。