コンテンツ配信ネットワーク (CDN) からファイルのダウンロードを開始するリンクをクリックする Drupal Web サイトがあります。スクリプトは、リンクをクリックしてダウンロード プロセスを開始したユーザーの数を追跡しています。ダウンロード プロセスを正常に完了したユーザーの数を追跡する方法についての提案を探しています。
1 に答える
完了したダウンロードの数だけが必要な場合は、CDN から未加工のログを取得し、ログ分析ツールで実行してください。ほとんどの CDN では、毎日のアクセス ログを標準サービスとして提供しています。大規模なプレーヤーは、1 時間ごとのログまたはそれ以上のログを実行できます。
最適な解決策は CDN によって異なるため、まだ話し合っていない場合は CDN に相談してください。ただし、これが私が過去に行った方法です。
生成された保護されたダウンロード URL ごとに、要求を行ったユーザーの一意の ID を追加します。一般的な CDN ダウンロード URL には、改ざんを防ぐための有効期限とハッシュが含まれている場合があります。最初に CDN に確認して、API と競合しない変数名を選択するようにしてください。私たちの場合、接頭辞 ign_* (無視を意味します) に同意しました。
前:
http://cdn.example.com/path/to/file.ext?e=EXPIRES&h=HASH
後:
http://cdn.example.com/path/to/file.ext?e=EXPIRES&ign_u=USERID&h=HASH
例 (ユーザー 1234 のダウンロード リンク):
http://cdn.example.com/path/to/file.ext?e=1356088260&ign_u=1234&h=39341385b9d99730646d927f620111e1
生ログをダウンロードすると、クエリ文字列を解析するだけで、各エントリをユーザーの 1 人に関連付けることができます。ここから、完了したダウンロード数のカウントから、ユーザーごとのダウンロード レポートの実装まで、あらゆることができます。
私たちの場合、15 分ごとに利用可能なログがあり、取得と処理を自動化して、ユーザーごとのバイト レベルのダウンロード クォータを有効にしました。
ログを自分で処理する場合は、HTTP 206 部分エントリをグループ化することを覚えておいてください。特に「ダウンロード完了数」が気になる方は必見です。