按文件名访问和记录 S3 POST/GETs 的数量

Accessing and logging the amount of S3 POST/GETs by filename

我在 S3 存储桶中有几个 JSON 文件。我需要每月统计每个文件在一个月内收到的 put/gets 数量。

是否可以通过 CSV 提取这些内容,甚至可以通过 API 访问?我查看了 Cloudwatch,似乎没有这个选项,或者在计费仪表板中。

如果此功能不存在,是否有任何解决方法,例如带有计数器的 Lamba 函数?

您可以为 S3 存储桶设置访问日志记录。

https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerLogs.html

然后您就可以导出这些日志了。之后,您可以对日志执行任何操作。例如。一个 bash 脚本,可以计算每个文件收到的请求数。

https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/S3ExportTasksConsole.html

  1. 在 -
  2. 下启用存储桶日志

s3 > bucket > properties > server access logging > configure target bucket/prefix

  1. 使用 Athena 通过简单的 SQL 语句查询此数据。详细了解雅典娜 HERE