

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

# Amazon SQS でのクエリプロトコルを使用した AWS クエリ API リクエストの実行 Amazon SQS
<a name="sqs-making-api-requests-xml"></a>

このトピックでは、Amazon SQS エンドポイントを構築する方法、GET および POST リクエストを行う方法、およびレスポンスを解釈する方法について説明します。

## エンドポイントの構築
<a name="sqs-api-constructing-endpoints"></a>

Amazon SQSキューを使用するには、エンドポイントを構築する必要があります。Amazon SQS エンドポイントの詳細については、「Amazon Web Services 全般のリファレンス**」の以下のページを参照してください。
+ [リージョンエンドポイント](https://docs.aws.amazon.com/general/latest/gr/rande.html#sqs_region)
+ [Amazon Simple Queue Serviceエンドポイントとクォータ](https://docs.aws.amazon.com/general/latest/gr/sqs-service)

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 リクエストの署名](https://docs.aws.amazon.com/general/latest/gr/signing_aws_api_requests.html)を参照してください。

## GETリクエストの作成
<a name="structure-get-request"></a>

Amazon SQS の GET リクエストは、以下を要素とする URLとして構成します。
+ **エンドポイント**-リクエストが作用するリソース ([キュー名と URL](sqs-queue-message-identifiers.md#queue-name-url))。たとえば: `https://sqs.us-east-2.amazonaws.com/{{123456789012}}/MyQueue`
+ **アクション**-エンドポイントに実行したい [アクション](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_Operations.html)。疑問符 (`?`) によってエンドポイントとアクションが区切られます。たとえば`?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 リクエストの作成
<a name="structure-post-request"></a>

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](https://www.w3.org/MarkUp/html-spec/html-spec_8.html#SEC8.2)` GET リクエストを続けます。各パラメータは、アンパサンド (`&`)で区切られています。

```
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 リクエストに追加する可能性があります。