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

ユースケース

オブジェクトストレージブループリントがサポートする一般的なシナリオを探ります:

ファイルホスティング

総ストレージ使用量とアップロード量に基づいて顧客に請求します。

バックアップサービス

バックアップデータのアップロードを追跡し、保存されたGBごとに請求します。

メディアCDN

メディアのアップロードを監視し、ストレージと帯域幅に対して請求します。

ドキュメント管理

顧客ごとのドキュメントアップロードを追跡し、使用量に基づいて価格を設定します。
ストレージアップロード、ファイルホスティング、CDN使用、またはバックアップサービスに基づいて請求するのに最適です。

クイックスタート

消費されたバイトでオブジェクトストレージのアップロードを追跡します:
1

SDKをインストール

npm install @dodopayments/ingestion-blueprints
2

APIキーを取得

  • Dodo Payments APIキー: Dodo Payments Dashboardから取得します。
  • ストレージプロバイダーAPIキー: AWS S3、Google Cloud Storage、Azureなどから取得します。
3

メーターを作成

あなたのDodo Payments Dashboardでメーターを作成します:
  • イベント名: object_storage_upload(またはお好みの名前)
  • 集計タイプ: sum 総アップロードバイトを追跡するため
  • プロパティの上に: bytes ストレージサイズに基づいて請求するため
4

ストレージ使用量を追跡

import { Ingestion, trackObjectStorage } from '@dodopayments/ingestion-blueprints';
import { S3Client, PutObjectCommand } from '@aws-sdk/client-s3';
import fs from 'fs';

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

const s3 = new S3Client({ region: 'us-east-1' });

// Read the file (example: from disk or request)
const fileBuffer = fs.readFileSync('./document.pdf');

// Upload to S3
const command = new PutObjectCommand({
  Bucket: 'my-bucket',
  Key: 'uploads/document.pdf',
  Body: fileBuffer
});

await s3.send(command);

// Track the upload
await trackObjectStorage(ingestion, {
  customerId: 'customer_123',
  bytes: fileBuffer.length
});

設定

取り込み設定

apiKey
string
required
ダッシュボードからのDodo Payments APIキー。
environment
string
required
環境モード:test_mode または live_mode
eventName
string
required
メーター設定に一致するイベント名。

オブジェクトストレージの追跡オプション

customerId
string
required
請求の帰属のための顧客ID。
bytes
number
アップロードされたバイト数。バイトベースの請求に必要です。
metadata
object
バケット名、コンテンツタイプなど、アップロードに関するオプションのメタデータ。

ベストプラクティス

アップロード前または後に追跡: 実際のアップロードの前または後にイベントを追跡できます。これはエラーハンドリング戦略に依存します。
アップロードの失敗を処理: 失敗した操作に対して請求しないように、成功したアップロードのみを追跡してください。