C# 仅接收SQS中具有特定属性的消息

C# 仅接收SQS中具有特定属性的消息,c#,amazon-web-services,amazon-s3,asp.net-core-webapi,amazon-sqs,C#,Amazon Web Services,Amazon S3,Asp.net Core Webapi,Amazon Sqs,我有一个.Net核心Web API应用程序,每当有人在应用程序上上传东西时,它都会在s3 bucket上上传文件。每当上传文件时,应用程序都会从s3向amazon SQS发送消息。问题是,我只想发送(从s3)或接收(在SQS中)特定文件的消息,而不是所有文件。有没有一种方法可以使用特定属性过滤消息 如果可能的话,请上传带有答案的代码片段。我会感谢你的帮助 与其在SQS级别过滤消息,不如在S3级别过滤通知 使用假定发送通知的特定前缀保存这些图像 将SQS设置为目标 比流程SQS属性过滤器更具成本

我有一个.Net核心Web API应用程序,每当有人在应用程序上上传东西时,它都会在s3 bucket上上传文件。每当上传文件时,应用程序都会从s3向amazon SQS发送消息。问题是,我只想发送(从s3)或接收(在SQS中)特定文件的消息,而不是所有文件。有没有一种方法可以使用特定属性过滤消息


如果可能的话,请上传带有答案的代码片段。我会感谢你的帮助

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

  • 使用假定发送通知的特定前缀保存这些图像
  • 将SQS设置为目标
  • 比流程SQS属性过滤器更具成本效益
这样做还可以节省计算成本和SQS成本,因为当前缀匹配时,只有相关消息才会发送到SQS


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