我有一个AWS SQS队列,由于某种原因,我到终点的连接被拒绝了。
如果我尝试:
curl -Is https://sqs.[REDACTED].amazonaws.com/[REDACTED]/[REDACTED]| head -1
我收到“找不到HTTP / 1.1 404”错误。我怀疑这是我能够使用外部应用程序访问队列的根本原因。但是,我的条件设置得很广泛:
我怎么知道我遇到的问题不是权限问题?有没有办法让我测试队列是否真正响应?
如果是这样,那么CURL中是否可以让我从消息中获取任何或 all 数据,以验证我是否正在接收内容,然后围绕我的回复?
答案 0 :(得分:3)
您可以使用以下curl请求:
curl -i https://sqs.{region}.amazonaws.com/{account}/{name}/\?Action=ReceiveMessage
如果要使用长轮询:
while true; do
curl -i https://sqs.{region}.amazonaws.com/{account}/{name}/\?Action=ReceiveMessage\&WaitTimeSeconds\=20
done
有关所有受支持的参数,请参见ReceiveMessage SQS API文档。
另一种替代方法是改用AWS CLI,它也可用于身份验证:
aws sqs receive-message --queue-url https://sqs.{region}.amazonaws.com/{account}/{name}