当前位置: 首页 > 知识库问答 >
问题:

SQS接收消息请求

江嘉悦
2023-03-14

我试图写一个POST请求从我的SQS服务器获取消息在C使用V4签名,POST消息看起来像这样,

POST/134148934511/Localhost/?Action=ReceiveMessage

但我收到了一条403禁止错误消息(尽管我拥有所需的权限)。(我确信aws版本4的签名过程是正确的(通过S3检查))我做错了什么?

共有1个答案

松英喆
2023-03-14

回答我自己的问题。

上述要求中几乎没有什么错误。

a)在POST请求中,您不包括带有URL的查询参数,而是将其添加到正文本身(这也使用标题Content-Type: Application/x-www-form-urlencoded向服务器指示)。

b) 始终记住在创建签名时将所有头添加到curl请求中,否则它将抛出“签名不匹配”错误。

 类似资料:
  • 我创建了一个SNS主题,通过cli发布来自Cloudformation的所有信息。然而,当我检查队列时,它没有接收任何SNS消息。我通过订阅我的电子邮件来验证SNS是否正常工作,所以问题似乎出在队列和SNS之间的连接上。然而,我没有发现我的语法有任何问题。一、 据我所知,他们严格遵循了亚马逊的文档。 猛击:

  • 我有一个FIFO SQS队列,可见时间为30秒。要求是尽可能快地读取消息并清除队列。 我有如下所示的JAVA代码(这只是想法的表示,不是完整的代码): 在while循环中,一旦收到消息,就会对其进行处理并将其从队列中删除。但是,很多时候receiveMessageRequest不给我消息(返回零消息)。 此外,在从SQS接收期间,消息限制每次仅为10条,这已经是一个问题,但由于这些零接收,队列正在

  • (如这张图所示,我有5条消息可用,但我只能收到2条消息。) 我试图删除收到的两条消息中的一条,然后再次轮询。删除的没有了,我收到了新的消息。但总共还是2条消息。

  • 我目前正在使用亚马逊的SQS,在尝试删除当前“正在运行”的队列消息时遇到问题。 下面是一些示例代码: 现在,在接收到句柄和消息体之后,我将接收句柄字符串存储到云存储中(例如DynamoDB)。随后,我从存储服务中加载该句柄,并使用类似于以下内容的方式调用delete: 但是,当运行该行时,我收到一条“输入收据句柄无效”的错误消息。 注意,我知道这条消息没有被重新接收,所以记录的接收句柄应该是最新的

  • 我的公司有一个以JSON格式发送实时消息的消息传递系统,它不是建立在AWS上的,也不会与AWS有任何VPN连接。 我们的团队正在尝试使用AWS SQS接收这些消息,然后DynamoDB将JSON消息处理到TSV,然后加载到RDS中。 但是,根据FAQ,SQS只能从AWS内部接收消息。https://aws.amazon.com/sqs/faqs/ 我在这里的问题是: 我的想法正确吗? 如果正确,您