AWS 쿼리 프로토콜을 사용하여 쿼리 API 요청 생성 - Amazon Simple Queue Service

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

AWS 쿼리 프로토콜을 사용하여 쿼리 API 요청 생성

이 섹션에서는 Amazon SQS 엔드포인트를 생성하고, GET 및 POST 요청을 만들고 응답을 해석하는 방법을 설명합니다.

엔드포인트 구성

Amazon SQS 대기열을 사용하려면 엔드포인트를 생성해야 합니다. Amazon SQS 엔드포인트에 대한 자세한 내용은 Amazon Web Services 일반 참조의 다음 페이지를 참조하세요.

모든 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 요청에 서명을 참조하세요.

GET 요청 만들기

Amazon SQS GET 요청은 다음으로 구성된 URL로 생성됩니다.

  • 엔드포인트 - 요청이 작용하는 리소스(대기열 이름 및 URL)입니다. 예: https://sqs.us-east-2.amazonaws.com/123456789012/MyQueue

  • 작업 - 엔드포인트에서 수행하려는 작업입니다. 물음표(?)는 엔드포인트와 작업을 구분합니다. 예: ?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 요청 만들기

Amazon SQS POST 요청은 쿼리 파라미터를 HTTP 요청 본문에 포함시켜 보냅니다.

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