我有一个第三方客户端,我已经暴露了我的S3 bucket,将上传文件在它。我想对桶进行速率限制,这样在他们的终端出现异常的情况下,我就不会在我的桶上收到大量的文件上传请求,而我的桶是连接到我的SQS队列和DynamoDB的,所以它会导致在DB和队列中的节流。同时我也会被收取高昂的费用。我如何防止这种情况发生?
不可能为Amazon S3配置一个速率限制。然而,在某些情况下,Amazon S3可能会在数据时施加一个速率限制。
处理这种情况的方法是通过API网关和您的后端服务处理所有上传。然而,这可能会导致比你试图节省更多的开销和成本。
您可以配置一个AWS Lambda函数,以便在创建新对象时触发,然后在数据库中存储信息以跟踪上传速率,但这同样会涉及更多的复杂性和(一点)费用。