登录
首页 >  Golang >  Go问答

抓取S3文件下载起止时间和详细信息

来源:stackoverflow

时间:2024-03-19 09:45:28 229浏览 收藏

借助亚马逊 S3 服务器访问日志,用户可以捕获 S3 文件下载的起止时间以及其他详细信息。这些日志记录了诸如下载文件用户、下载开始和结束时间等指标。通过将这些日志导入 Spectrum,用户可以查询 S3 中的日志,从而获得对下载活动的可视性和见解。

问题内容

我想向用户公开一个 API(最好使用 AWS API 网关/Lambda/Go)。

使用此 API,用户可以从 S3 存储桶下载二进制文件。

我想捕获诸如哪个用户已开始下载文件、文件下载开始和完成的时间等指标。

我想在 DynamoDB 中记录这些时间戳。

S3 支持创建/修改/删除文件的事件,因此我可以为这些事件编写 lambda 函数。

但是 S3 似乎不支持读取操作(例如下载文件)

我正在考虑编写一个 Lambda 函数,当用户调用 API 下载文件时将调用该函数。在 lambda 中,我想记录时间戳,将文件读入缓冲区,对其进行编码,然后将其作为 base64 编码响应发送给客户端。

请告诉我是否有更好的替代方法。


解决方案


使用Amazon S3 Server Access Logging

如果您需要查询目标存储桶设置 Spectrum 中的日志来查询 S3 中的日志,请不要使用 DynamoDB

文中关于的知识介绍,希望对你的学习有所帮助!若是受益匪浅,那就动动鼠标收藏这篇《抓取S3文件下载起止时间和详细信息》文章吧,也可关注golang学习网公众号了解相关技术文章。

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>