如何确定Google Cloud Storage存储桶中下载量最高的文件及特定文件下载次数?
解决GCS文件下载频次统计问题
方法一:用Cloud Logging直接分析
- 先开启GCS访问日志:进入目标存储桶的控制台页面,切换到「权限」标签页,找到「日志记录」选项,开启存储数据访问日志(该日志会记录具体的文件下载请求,默认可能未开启)。
- 打开Cloud Logging,使用过滤器定位下载请求:
resource.type="gcs_bucket" AND resource.labels.bucket_name="你的桶名称" AND protoPayload.methodName="storage.objects.get" - 统计所有文件的下载频次:点击日志页面的「统计」按钮,将分组字段设为
protoPayload.resourceName,聚合方式选「计数」,就能按文件查看下载次数排序结果。 - 查询特定文件:在过滤器里追加
AND protoPayload.resourceName="projects/_/buckets/你的桶名/objects/目标文件名",再查看统计计数即可。
方法二:导出日志到BigQuery做深度分析
如果日志量较大或需要长期统计,推荐把日志导出到BigQuery:
- 在Cloud Logging里创建导出任务,选择目标BigQuery数据集。
- 编写SQL查询统计:
统计所有文件下载次数:
查询特定文件:SELECT JSON_EXTRACT_SCALAR(protoPayload.resourceName, '$.object') AS filename, COUNT(*) AS download_count FROM `你的项目ID.你的数据集ID.日志表名` WHERE protoPayload.methodName = 'storage.objects.get' GROUP BY filename ORDER BY download_count DESCSELECT COUNT(*) AS download_count FROM `你的项目ID.你的数据集ID.日志表名` WHERE protoPayload.methodName = 'storage.objects.get' AND JSON_EXTRACT_SCALAR(protoPayload.resourceName, '$.object') = '你要查的文件名'
方法三:用Cloud Monitoring创建自定义监控指标
如果需要长期监控文件下载频次,可以自定义指标:
- 进入Cloud Monitoring,创建基于日志的指标,过滤条件设为
resource.type="gcs_bucket" AND protoPayload.methodName="storage.objects.get",分组字段选protoPayload.resourceName。 - 基于这个自定义指标创建仪表盘,就能直观看到各文件的下载趋势,也能单独添加特定文件的监控卡片。
内容的提问来源于stack exchange,提问作者Witek
相关产品推荐
相关产品推荐

