

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# Amazon SQS에서 쿼리 프로토콜을 사용하여 AWS 쿼리 API 요청 수행
<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 엔드포인트는 독립적입니다. 예를 들어 두 대기열의 이름이 **MyQueue인데 한 대기열에는 `sqs.us-east-2.amazonaws.com` 엔드포인트가 있고 다른 대기열에는 `sqs.eu-west-2.amazonaws.com` 엔드포인트가 있는 경우 두 대기열은 서로 어떤 데이터도 공유하지 않습니다.

다음은 대기열을 생성하는 요청을 만드는 엔드포인트의 예제입니다.

```
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 요청에 다른 항목을 추가할 수 있습니다.