「翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。」
クエリ API リクエストを行う
このセクションでは、Amazon SQS エンドポイントを作成する方法、GET
および POST
リクエストを行う方法、およびレスポンスを解釈する方法について学習します。
エンドポイントの構築
Amazon SQS キューを使用するには、エンドポイントを構築する必要があります。Amazon SQSエンドポイントの詳細については、 の次のページを参照してくださいアマゾン ウェブ サービス全般のリファレンス。
各 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 リクエストの署名によって異なります。詳細については、アマゾン ウェブ サービス全般のリファレンスの「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 エンコードする必要があります。URLsではスペースを使用できないため、各スペースは「 %20
」として URL エンコードされます。 (残りの例では、読みやすくするために 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
ヘッダーの後には、メッセージを Amazon SQS キューに送信する form-urlencoded
POST
リクエストが続きます。各パラメータは、アンパサンド (&
) で区切られています。
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 リクエストに追加する可能性があります。