为什么我们不能直接从 s3 进行轮询
Why we can't poll from s3 directly
如今为了高效的系统设计,我们在 AWS S3 上推送消息,我们订阅一个主题(AWS SNS),然后订阅 AWS SQS 进行轮询(推荐方法)
现在的问题是:
- 为什么我们不能直接轮询 AWS S3
- S3->SNS>SQS 相对于 S3->SQS 的优势(如果有的话)。
谁能帮忙,我也读过其他答案,但他们没有
很有帮助
您可以将 s3 事件通知直接推送到 SQS - 我一直这样做 - 它工作得很好。
s3->sns->sqs 优于 s3->sqs 的一个好处是能够在需要时 'fan out' 发送消息,而无需更改原始应用程序。 S3 将事件推送到 sns,sns 将其推送到 s3 队列 - 如果在某个时候您希望另一个队列接收相同的消息以进行额外处理,您可以在控制台或 cli 中进行配置 - 而您的原始应用程序永远不需要获取感动。
所以简而言之,s3->sns->sqs 为您提供了一些灵活性,而 s3->sqs 却没有,因为 if/when 事情发生了变化,尽管这两种解决方案都可以正常工作,您需要自己决定是否需要灵活性,或者您是否 prefer/need 保持简单;我使用这两种方法,具体取决于项目。
如今为了高效的系统设计,我们在 AWS S3 上推送消息,我们订阅一个主题(AWS SNS),然后订阅 AWS SQS 进行轮询(推荐方法)
现在的问题是:
- 为什么我们不能直接轮询 AWS S3
- S3->SNS>SQS 相对于 S3->SQS 的优势(如果有的话)。 谁能帮忙,我也读过其他答案,但他们没有 很有帮助
您可以将 s3 事件通知直接推送到 SQS - 我一直这样做 - 它工作得很好。
s3->sns->sqs 优于 s3->sqs 的一个好处是能够在需要时 'fan out' 发送消息,而无需更改原始应用程序。 S3 将事件推送到 sns,sns 将其推送到 s3 队列 - 如果在某个时候您希望另一个队列接收相同的消息以进行额外处理,您可以在控制台或 cli 中进行配置 - 而您的原始应用程序永远不需要获取感动。
所以简而言之,s3->sns->sqs 为您提供了一些灵活性,而 s3->sqs 却没有,因为 if/when 事情发生了变化,尽管这两种解决方案都可以正常工作,您需要自己决定是否需要灵活性,或者您是否 prefer/need 保持简单;我使用这两种方法,具体取决于项目。