本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
提出查询 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 SQSGET
请求结构为 URL,包含以下内容:
-
终端节点 — 请求所处理的资源(队列名称和 URL),例如:
https://sqs.us-east-2.amazonaws.com/
123456789012
/MyQueue -
操作 -您要在端点上执行的操作。终端节点与操作之前用问号 (
?
) 分隔,例如:?Action=SendMessage&MessageBody=Your%20Message%20Text
-
参数-任何请求参数-每个参数都由 & 符号 (
&
) 分隔,例如:&Version=2012-11-05&
AUTHPARAMS
以下是将一条消息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 SQSPOST
请求在 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
POST
请求将一条消息发送到一个 Amazon SQS 队列发送到一个 Amazon SQS 队列的。各参数以和号 (&
) 分隔。
Action=SendMessage
&MessageBody=Your+Message+Text
&Expires=2020-10-15T12%3A00%3A00Z
&Version=2012-11-05
&AUTHPARAMS
注意
仅 Content-Type
HTTP 标头是必需的。
对于 AUTHPARAMS
GET
请求是相同的。
根据客户端的 HTTP 版本,您的 HTTP 客户端可能会向 HTTP 请求添加其他项目。