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/2/google-app-engine/4.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 Aws SQS为相同参数提供不同消息_Amazon Web Services_Message_Message Queue_Messaging_Amazon Sqs - Fatal编程技术网

Amazon web services Aws SQS为相同参数提供不同消息

Amazon web services Aws SQS为相同参数提供不同消息,amazon-web-services,message,message-queue,messaging,amazon-sqs,Amazon Web Services,Message,Message Queue,Messaging,Amazon Sqs,Aws SQS为相同参数提供不同消息 因此,我使用以下方式发布了一条消息: https://sqs.us-west-2.amazonaws.com/Otherinfo/?Action=SendMessage&MessageBody=Ola&MessageAttribute.1.Name=test1&MessageAttribute.1.Value.StringValue=Drizzy&MessageAttribute.1.Value.DataType=String

Aws SQS为相同参数提供不同消息

因此,我使用以下方式发布了一条消息:

https://sqs.us-west-2.amazonaws.com/Otherinfo/?Action=SendMessage&MessageBody=Ola&MessageAttribute.1.Name=test1&MessageAttribute.1.Value.StringValue=Drizzy&MessageAttribute.1.Value.DataType=String
这里重要的一点是,我希望根据消息的属性获取消息。然后我用邮递员呼叫接收:

https://sqs.us-west-2.amazonaws.com/Otherinfo/?Action=ReceiveMessage&MessageAttributeName.1=test1.*&WaitTimeSeconds=10
我甚至让它等待响应,但有时我会从队列中收到不同的消息,即使我犯了错误并输入了错误的属性名称,我仍然会收到响应。我做错什么了?
有没有其他类似的消息传递系统可以与AngularJS一起工作?

如果我理解你的问题,听起来你是在尝试根据属性参数过滤收到的消息-它们不是这样工作的

属性参数是一种指定应返回所选记录的哪些属性的方法-它不对消息应用筛选器,只返回匹配的消息


您无法过滤收到的邮件—您请求邮件,SQS向您发送邮件—您无法控制获取邮件的顺序或选择标准。

如果我理解您的问题,听起来您好像在尝试根据属性参数过滤收到的邮件—这不是它们的工作方式

属性参数是一种指定应返回所选记录的哪些属性的方法-它不对消息应用筛选器,只返回匹配的消息


您无法筛选收到的邮件—您请求邮件,SQS向您发送邮件—您无法控制获取邮件的顺序或选择条件。

根据属性获取邮件以创建新队列的唯一方法是什么?那么我将为每个用户对用户的交互创建一个新队列?为此,我需要启用签名4版本签名,这非常复杂?您可以为每种消息类型/类别设置一个队列,或者设置一个消息使用者,在下载消息并确定其类型后,将消息打包到相应的消息处理服务。取决于您的应用程序,这两种方法都可能是合适的。我现在正在测试它,即使在使用没有属性的长轮询时,当队列中有七条消息时,我也只收到一条消息,如果我使用消息消费者,这不会仍然有问题。即使我去创建新的队列,它也会是一样的,SQS仅仅是不够可靠吗?接收消息请求将只发送“最多”10条消息。如果您只有少量测试消息,那么接收到的消息少于10条是很正常的。如果队列中有数千条消息,那么很可能每次都会收到10条。SQS非常可靠。你的应用程序应该关心它一次得到多少;它应该只处理它得到的信息,然后要求更多。虽然我理解,如果我使用的是一个消息消费者(如果你能列举一些,我将不胜感激),它需要队列中的所有消息为我排序,因此这是一个进退两难的问题。不断地询问会增加api调用和成本。根据属性获取消息以创建新队列的唯一方法是什么?那么我将为每个用户对用户的交互创建一个新队列?为此,我需要启用签名4版本签名,这非常复杂?您可以为每种消息类型/类别设置一个队列,或者设置一个消息使用者,在下载消息并确定其类型后,将消息打包到相应的消息处理服务。取决于您的应用程序,这两种方法都可能是合适的。我现在正在测试它,即使在使用没有属性的长轮询时,当队列中有七条消息时,我也只收到一条消息,如果我使用消息消费者,这不会仍然有问题。即使我去创建新的队列,它也会是一样的,SQS仅仅是不够可靠吗?接收消息请求将只发送“最多”10条消息。如果您只有少量测试消息,那么接收到的消息少于10条是很正常的。如果队列中有数千条消息,那么很可能每次都会收到10条。SQS非常可靠。你的应用程序应该关心它一次得到多少;它应该只处理它得到的信息,然后要求更多。虽然我理解,如果我使用的是一个消息消费者(如果你能列举一些,我将不胜感激),它需要队列中的所有消息为我排序,因此这是一个进退两难的问题。不断地询问会增加api调用和成本。