Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services S3 GET请求的Webhook/回调_Amazon Web Services_Amazon S3_Get_Amazon Ec2 - Fatal编程技术网

Amazon web services S3 GET请求的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

目前,我们通过一个EC2实例代理获取(下载)到S3的请求。这样做的原因是因为我们想知道一个特定文件有多少流量

现在,我们希望能够不使用该代理。但我们仍然需要这些信息。有没有办法做到这一点

我想要的是一个特定服务器的webhook/回调。或者从日志文件中实时读取


有没有办法做到这一点?搜索答案已经有一段时间了,但也许我们没有朝正确的方向思考。

保持请求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知道下载了多少,因为他们要收费。