翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Amazon SQS でのクエリプロトコルを使用した AWS クエリ API リクエストの実行 Amazon SQS
このセクションでは、Amazon SQS エンドポイントを構築し、GET および POST リクエストを行い、レスポンスを解釈する方法について説明します。
エンドポイントの構築
Amazon SQSキューを使用するには、エンドポイントを構築する必要があります。Amazon SQS エンドポイントの詳細については、「Amazon Web Services 全般のリファレンス」の以下のページを参照してください。
Amazon SQSエンドポイントはそれぞれ独立しています。例えば、2 つのキューに という名前が付けられMyQueue、一方にエンドポイント sqs.us-east-2.amazonaws.com
があり、もう一方にエンドポイント がある場合sqs.eu-west-2.amazonaws.com
、2 つのキューは互いにデータを共有しません。
キューを作成するリクエストを行うエンドポイントの例を次に示します。
https://sqs.eu-west-2.amazonaws.com/
?Action=CreateQueue
&DefaultVisibilityTimeout=40
&QueueName=MyQueue
&Version=2012-11-05
&AUTHPARAMS
注記
キュー名とキュー URL では、大文字と小文字が区別されます。
の構造はAPIリクエストの署名によって異なります。詳細については、Amazon Web Services 全般のリファレンスのAWS 「 API リクエストの署名」を参照してください。AUTHPARAMS
GETリクエストの作成
Amazon SQS GET リクエストは、以下で構成される URL として構造化されます。
-
エンドポイント-リクエストが作用するリソース (キュー名と URL)。たとえば:
https://sqs.us-east-2.amazonaws.com/
123456789012
/MyQueue -
アクション-エンドポイントに実行したい アクション。疑問符 (
?
) によってエンドポイントとアクションが区切られます。たとえば?Action=SendMessage&MessageBody=Your%20Message%20Text
など: -
Parameters – 任意のリクエストパラメータ。各パラメータは、アンパサンド (
&
) で区切られます。例:&Version=2012-11-05&
AUTHPARAMS
以下は、Amazon SQS キューにメッセージを送信する GET リクエストの例です。
https://sqs.us-east-2.amazonaws.com/123456789012
/MyQueue
?Action=SendMessage&MessageBody=Your%20message%20text
&Version=2012-11-05
&AUTHPARAMS
注記
キュー名とキュー URL では、大文字と小文字が区別されます。
GET リクエストは URLsであるため、すべてのパラメータ値を URL エンコードする必要があります。URLにはスペースを使用できないため、各スペースは「%20
」としてURLエンコードされます。この例の残りの部分は、読みやすくするために URL エンコードされていません。
POSTリクエストの作成
Amazon SQS の POST リクエストは、クエリパラメータを HTTP リクエストボディの形で送信します。
以下は、 が Content-Type
に設定されている HTTP ヘッダーの例ですapplication/x-www-form-urlencoded
。
POST /123456789012
/MyQueue HTTP/1.1
Host: sqs.us-east-2.amazonaws.com
Content-Type: application/x-www-form-urlencoded
ヘッダーの後に、Amazon SQS キューにメッセージを送信する 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リクエストに追加する可能性があります。