【问题标题】:Only receive messages with specific attributes in SQS在 SQS 中只接收具有特定属性的消息
【发布时间】:2020-10-31 11:21:43
【问题描述】:

我有一个 .Net Core Web API 应用程序,只要有人在应用程序上上传内容,它就会在 s3 存储桶上上传文件。每当上传文件时,该应用程序都会从​​ s3 向亚马逊 SQS 发送消息。问题是,我只想发送(来自 s3)或接收特定文件的消息(在 SQS 中),而不是全部。有没有办法可以使用特定属性过滤消息?

如果可能,请上传带有答案的代码 sn-p。我将不胜感激!

【问题讨论】:

  • 一种选择是将通知发送到 AWS Lambda 函数,并让它过滤消息,然后仅将所需的消息发送到 SQS 队列。或者,让所有消息都转到 SQS 并让使用消息的代码检查它是否适用于适用的文件(因此,在消费者中进行过滤)。

标签: c# amazon-web-services amazon-s3 asp.net-core-webapi amazon-sqs


【解决方案1】:

与其在 SQS 级别过滤消息,不如在 S3 过滤通知。

  • 保存那些带有特殊前缀的图像,以发送通知
  • 将 SQS 设置为目标
  • 比流程 SQS 属性过滤器更具成本效益

这样做还可以节省计算成本和 SQS 成本,因为只有在前缀匹配时才会将相关消息发送到 SQS。

Configuring notifications with object key name filtering

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-09-26
    • 2021-03-07
    • 2023-02-10
    • 2014-11-10
    • 1970-01-01
    • 1970-01-01
    • 2020-03-04
    相关资源
    最近更新 更多