我需要一种方法来跟踪我的网站用户对我的云存储中的mp3文件的下载情况吗?除了存储日志,还有其他解决方案。
答案 0 :(得分:2)
答案 1 :(得分:0)
这个问题已经很老了,但是我想我可以分享我的解决方案,以防有人仍在寻找解决方案。您需要启用访问日志,然后编写一些脚本来下载和解析访问日志。
我用过Ruby,这是我脚本的内容:
#!/usr/bin/env ruby
require 'fileutils'
temp_dir = "/tmp/access-logs"
output_file = "/tmp/download-count.csv"
# Clean up the existing access logs
FileUtils.rm_rf(temp_dir)
FileUtils.mkdir(temp_dir)
`/usr/bin/gsutil -m cp "gs://my_access_logs/FusionAuthAccesssLog_usage_*" #{temp_dir} > /dev/null 2>&1`
# Collect the counts
counts = Hash.new(0)
Dir.foreach(temp_dir) do |file|
if File.file?("#{temp_dir}/#{file}")
date = file.gsub(/MyAccesssLog_usage_([0-9]{4})_([0-9]{2})_([0-9]{2}).*/, '\1\2\3')
File.readlines("#{temp_dir}/#{file}").each do |l|
if l =~ /my-file.zip"/
counts[date] = counts[date] + 1
end
end
end
end
File.open(output_file, "w", :encoding => "UTF-8") do |f|
# Write the header
f.puts("Date,Download count\n")
# Write the counts
counts.sort.each do |date,count|
f.puts("#{date},#{count}\n")
end
end
我为此写了一篇博客文章,其中还详细介绍了该脚本。这是链接:https://fusionauth.io/blog/2018/09/20/download-counts-from-google-cloud-storage