Amazon SQS での AWS クエリプロトコルを使用したクエリ API リクエストの実行
このトピックでは、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 一般リファレンス」の「SigningAWSAPIリクエスト」を参照してください。AUTHPARAMS
GETリクエストの作成
Amazon SQS の GET リクエストは、以下を要素とする URLとして構成します。
メッセージを 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 リクエストは URL であるため、すべてのパラメータ値を URL エンコードする必要があります。URL にはスペースを使用できないため、各スペースは %20 として URL エンコードします。例の残りについては、読みやすくするために 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
ヘッダーの後には、メッセージを Amazon SQS キューに送信する form-urlencoded GET リクエストを続けます。各パラメータは、アンパサンド (&)で区切られています。
Action=SendMessage
&MessageBody=Your+Message+Text
&Expires=2020-10-15T12%3A00%3A00Z
&Version=2012-11-05
&AUTHPARAMS
注記
Content-TypeHTTPヘッダーのみが必須です。 は、GET リクエストの場合と同じです。AUTHPARAMS
HTTP クライアントは、クライアントの HTTP バージョンによっては、他の項目を HTTP リクエストに追加する可能性があります。