Amazon SQS でのクエリプロトコルを使用した AWS クエリ API リクエストの実行 Amazon SQS - Amazon Simple Queue Service

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

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 では、大文字と小文字が区別されます。

AUTHPARAMSの構造はAPIリクエストの署名によって異なります。詳細については、Amazon Web Services 全般のリファレンスの AWS API リクエストの署名を参照してください。

GETリクエストの作成

Amazon SQS の GET リクエストは、以下を要素とする URLとして構成します。

  • エンドポイント-リクエストが作用するリソース (キュー名と URL)。たとえば: https://sqs.us-east-2.amazonaws.com/123456789012/MyQueue

  • アクション-エンドポイントに実行したい アクション。疑問符 (?) によってエンドポイントとアクションが区切られます。たとえば?Action=SendMessage&MessageBody=Your%20Message%20Textなど:

  • パラメータ – 任意のリクエストパラメータ。パラメータごとにアンパサンド (&) で区切ります。例: &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 リクエストは URL であるため、すべてのパラメータ値を URL エンコードする必要があります。URL にはスペースを使用できないため、各スペースは %20 として URL エンコードします。例の残りについては、読みやすくするために URL エンコードしていません。

POST リクエストの作成

Amazon SQS の POST リクエストは、クエリパラメータを HTTP リクエストボディの形で送信します。

Content-Typeapplication/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ヘッダーのみが必須です。AUTHPARAMS は、GET リクエストの場合と同じです。

HTTPクライアントは、クライアントのHTTP バージョンによっては、他の項目を HTTPリクエストに追加する可能性があります。