Amazon web services S3 GET请求的Webhook/回调
目前,我们通过一个EC2实例代理获取(下载)到S3的请求。这样做的原因是因为我们想知道一个特定文件有多少流量 现在,我们希望能够不使用该代理。但我们仍然需要这些信息。有没有办法做到这一点 我想要的是一个特定服务器的webhook/回调。或者从日志文件中实时读取Amazon web services S3 GET请求的Webhook/回调,amazon-web-services,amazon-s3,get,amazon-ec2,Amazon Web Services,Amazon S3,Get,Amazon Ec2,目前,我们通过一个EC2实例代理获取(下载)到S3的请求。这样做的原因是因为我们想知道一个特定文件有多少流量 现在,我们希望能够不使用该代理。但我们仍然需要这些信息。有没有办法做到这一点 我想要的是一个特定服务器的webhook/回调。或者从日志文件中实时读取 有没有办法做到这一点?搜索答案已经有一段时间了,但也许我们没有朝正确的方向思考。保持请求URL不变,指向您的EC2实例。但是,与其通过EC2实例将内容从S3代理到客户端,不如让EC2实例将用户重定向到S3URL 为重定向使用过期的签名UR
有没有办法做到这一点?搜索答案已经有一段时间了,但也许我们没有朝正确的方向思考。保持请求URL不变,指向您的EC2实例。但是,与其通过EC2实例将内容从S3代理到客户端,不如让EC2实例将用户重定向到S3URL 为重定向使用过期的签名URL。EC2实例可以在每个请求上创建适当的URL,几分钟后过期。这样,客户机就有时间获取S3资源,但将其添加到书签将不起作用,因为当他们稍后尝试时,S3资源已经过期。因此,他们必须始终转到您的EC2实例以获取资源,允许您控制和记录访问,但您不必代理内容本身。为S3 bucket启用,然后(可选)将客户端直接发送到bucket 日志格式包括“已发送字节数”和“对象大小”以及许多其他内容,包括远程IP、引用页面和带有查询字符串的请求URI
日志当然不是实时的,但是每隔几分钟你就会发现一个新的日志掉到你的桶里。检索、解析、存储感兴趣的内容(如果您愿意),然后删除(如果您不想支付日志的每月存储费用) 谢谢。不过我早就知道了。我的问题是我想知道传输了多少数据。因此,如果一个文件是10MB,那么10个请求完全下载了该文件,但其中一个只下载了1MB。这个文件现在总共使用了101MB的带宽。你知道怎么做吗?你想知道部分下载有多大,还是假设所有下载都完成了?如果是后者,您的EC2实例可以使用S3API(甚至只是一个头部HTTP请求)在重定向用户之前查看S3对象的大小,并记录该大小。但是在另一种情况下,一旦您将客户端重定向到S3,您就不知道会发生什么。您可以打开一些S3登录。毕竟,AWS知道下载了多少,因为他们要收费。