本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用 Amazon SQS 中的 Amazon 查询协议发出查询 API 请求
在本节中,您将了解如何构造 Amazon SQS 端点,发出 GET 和 POST 请求以及解释响应。
构造端点
为了使用 Amazon SQS 队列,您必须构造一个端点。有关 Amazon SQS 端点的信息,请参阅 Amazon Web Services 一般参考中的以下页面:
每个 Amazon SQS 端点都是独立的。例如,如果有两个名为 MyQueue 的队列,其中一个队列具有端点 sqs.us-east-2.amazonaws.com
,另一个队列具有端点 sqs.eu-west-2.amazonaws.com
,则这两个队列不会相互共享任何数据。
以下是一个提出创建队列请求的端点的示例。
https://sqs.eu-west-2.amazonaws.com/
?Action=CreateQueue
&DefaultVisibilityTimeout=40
&QueueName=MyQueue
&Version=2012-11-05
&AUTHPARAMS
注意
队列名称和队列 URL 区分大小写。
的结构取决于 API 请求的签名。有关更多信息,请参阅 Amazon Web Services 一般参考中的签署 Amazon API 请求。AUTHPARAMS
提出 GET 请求
Amazon SQS GET 请求的结构是一个 URL,其中包含以下部分:
以下是一个 GET 请求的示例,该请求向 Amazon SQS 队列发送一条消息。
https://sqs.us-east-2.amazonaws.com/123456789012
/MyQueue
?Action=SendMessage&MessageBody=Your%20message%20text
&Version=2012-11-05
&AUTHPARAMS
注意
队列名称和队列 URL 区分大小写。
因为 GET 请求是 URL,因此您必须对所有参数值进行 URL 编码。由于 URL 中不允许使用空格,因此每个空格将在 URL 中编码为“%20
”。示例的其余部分没有进行 URL 编码,以方便您阅读。
提出 POST 请求
Amazon SQS POST 请求在 HTTP 请求的正文中以表单的形式发送查询参数。
下面是一个将 Content-Type
设置为 application/x-www-form-urlencoded
的 HTTP 标头的示例。
POST /123456789012
/MyQueue HTTP/1.1
Host: sqs.us-east-2.amazonaws.com
Content-Type: application/x-www-form-urlencoded
该标头后跟一个 form-urlencoded
GET 请求,该请求向 Amazon SQS 队列发送一条消息。各参数以和号 (&
) 分隔。
Action=SendMessage
&MessageBody=Your+Message+Text
&Expires=2020-10-15T12%3A00%3A00Z
&Version=2012-11-05
&AUTHPARAMS
注意
仅 Content-Type
HTTP 标头是必需的。
对于 GET 请求是相同的。AUTHPARAMS
根据客户端的 HTTP 版本,您的 HTTP 客户端可能会向 HTTP 请求添加其他项目。