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

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

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

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

POST リクエストの作成

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

以下は、X-Amz-TargetAmazonSQS.<operationName> に設定された HTTP ヘッダーと、Content-Typeapplication/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-TargetContent-Type は両方とも必須です。

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