我正在尝试跟踪用户何时从我的Rails网站下载.zip文件。该文件由S3 / Cloudfront托管。如果HTML类似于:
<a href="http://something.cloudfront.net/path/to/file.zip">Download File</a>
我可以附加一个JQuery事件,它将向我的服务器发送一个GET请求,这将增加我数据库中的下载列。但是,如果用户直接转到该URL,则会进行下载,但不会对其进行跟踪。
有解决方案吗?
答案 0 :(得分:2)
如果您不介意跟踪结果有点延迟,则最准确的跟踪是使用CloudFront的访问日志。 http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/AccessLogs.html
通过解析访问日志,您将能够找到项目的确切请求历史记录。
答案 1 :(得分:1)
Yudong的答案是唯一可以通过提供下载链接而工作的答案,但亚马逊表示他们以“尽力而为”的方式登录,并且它绝不是准确的会计。我认为最简单的方法是重定向并计算重定向,最准确的是通过您的服务器自己传输zip文件(如果托管在亚马逊上也不会产生巨大的差异,除非您有大量的流量和巨大的文件)。另一种方法是使用CDN,它可以为您提供准确的访问日志。你的Jquery想法和重定向一样好。
答案 2 :(得分:1)
解析这些云前端日志并不容易(您必须拥有EMR定期作业并将结果发布到数据库等 - 有些工作涉及)。
如果您不愿意支付一些费用,可以使用以下服务: https://qloudstat.com/welcome http://www.s3stat.com/