私はASP.Netでファイルホスティングサービスを開発しています。このサービスでは、ユーザーは購入したプランに従って一定量のストレージと転送帯域幅を利用できます。
Amazon S3を使用してファイルを保存することを考慮して、各ファイルで使用される帯域幅の量を追跡する方法を探しています。これにより、この消費量を特定のユーザーに関連付けて、ユーザーが到達したときに通知できるようになります。彼のアカウントの制限。
どうやってやるの?
使用されている URL のルーティング フロントエンドを作成できます。その後、作成中の画像とその大きさを追跡できます。その情報が得られたので、リクエストの数を追跡して帯域幅を計算できます。URL ルックアップを行うのは少し遅くなりますが、画像をブラウザにダウンロードする必要があるのは 1 回だけです。
ロギングを有効にし、ログファイルを取得して、各ユーザーの統計を計算することができます。
私が知る限り、彼らはレポートにそのレベルの粒度を提供していません。私が考えることができる唯一の方法は、S3からファイルを取得し、帯域幅をログに記録してからユーザーに返すプロキシをホストすることです。その不幸な部分は、帯域幅の料金を2回支払ってから、それを計測することです。たぶん、別の価格設定モデルが機能するでしょうか?