翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Amazon SQS での AWS JSON プロトコルを使用したクエリ API リクエストの作成
このセクションでは、Amazon SQS エンドポイントを構築する方法、POST リクエストを行う方法、およびレスポンスを解釈する方法について説明します。
注記
AWS JSON プロトコルはほとんどの言語バリアントでサポートされています。サポートされている言語のリストについては、「Amazon SQS API で使用される AWS JSON プロトコルではどの言語がサポートされていますか。」を参照してください。
エンドポイントの構築
Amazon SQS キューを使用するには、エンドポイントを構築する必要があります。Amazon SQS エンドポイントの詳細については、「Amazon Web Services 全般のリファレンス」の以下のページを参照してください。
Amazon SQSエンドポイントはそれぞれ独立しています。例えば、2 つのキューの名前が MyQueue で、一方にはエンドポイント sqs.us-east-2.amazonaws.com
があり、もう一方にはエンドポイント sqs.eu-west-2.amazonaws.com
がある場合、2 つのキューは互いにどのデータも共有しません。
キュー作成のクエストを行うエンドポイントの例を次に示します。
POST / HTTP/1.1
Host: sqs.us-west-2.amazonaws.com
X-Amz-Target: AmazonSQS.CreateQueue
X-Amz-Date: <Date>
Content-Type: application/x-amz-json-1.0
Authorization: <AuthParams>
Content-Length: <PayloadSizeBytes>
Connection: Keep-Alive
{
"QueueName":"MyQueue",
"Attributes": {
"VisibilityTimeout": "40"
},
"tags": {
"QueueType": "Production"
}
}
注記
キュー名とキュー URL では、大文字と小文字が区別されます。
の構造はAPIリクエストの署名によって異なります。詳細については、「Amazon Web Services 一般リファレンス」の「SigningAWSAPIリクエスト」を参照してください。AUTHPARAMS
POST リクエストの作成
Amazon SQS の POST リクエストは、クエリパラメータを HTTP リクエストボディの形で送信します。
以下は、X-Amz-Target
が AmazonSQS.<operationName>
に設定された HTTP ヘッダーと、Content-Type
が application/x-amz-json-1.0
に設定された HTTP ヘッダーの例です。
POST / HTTP/1.1
Host: sqs.<region>.<domain>
X-Amz-Target: AmazonSQS.SendMessage
X-Amz-Date: <Date>
Content-Type: application/x-amz-json-1.0
Authorization: <AuthParams>
Content-Length: <PayloadSizeBytes>
Connection: Keep-Alive
{
"QueueUrl": "https://sqs.<region>.<domain>/<awsAccountId>/<queueName>/",
"MessageBody": "This is a test message"
}
この HTTP POST リクエストは、Amazon SQS キューにメッセージを送信します。
注記
HTTP ヘッダー X-Amz-Target
と Content-Type
は両方とも必須です。
HTTPクライアントは、クライアントのHTTP バージョンによっては、他の項目を HTTPリクエストに追加する可能性があります。