내보내기(0) 인쇄
모두 확장

메시지 업데이트(REST API)

업데이트 날짜: 2011년 9월

이 작업은 2011-08-18 버전의 큐 서비스 API에 도입되었습니다. Update Message 작업은 메시지의 표시 제한 시간을 업데이트합니다. 또한 이 작업을 사용해서 메시지의 콘텐츠를 업데이트할 수도 있습니다. 메시지는 UTF-8 인코딩의 XML 요청에 포함할 수 있는 형식이어야 하며, 인코딩된 메시지 크기는 최대 64KB까지 가능합니다.

다음과 같이 Update Message 요청을 생성할 수 있습니다. HTTPS를 사용하는 것이 좋습니다. myaccount는 사용자의 저장소 계정 이름으로 바꾸고 myqueue는 사용자의 큐 이름으로 바꿉니다.

 

메서드 요청 URI HTTP 버전

PUT

https://myaccount.queue.core.windows.net/myqueue/messages/messageid?popreceipt=<string-value>&visibilitytimeout=<int-seconds>

HTTP/1.1

이 작업은 SDK 1.6 버전 이상에서 지원됩니다.

에뮬레이트된 저장소 서비스에 대해 요청을 수행할 때는 에뮬레이터 호스트 이름 및 큐 서비스 포트를 127.0.0.1:10001으로 지정하고 뒤에 에뮬레이트된 저장소 계정 이름을 붙입니다.

 

메서드 요청 URI HTTP 버전

PUT

http://127.0.0.1:10001/devstoreaccount1/myqueue/messages/messageid?popreceipt=<string-value>&visibilitytimeout=<int-seconds>

HTTP/1.1

자세한 내용은 About Development Storage을 참조하십시오.

요청 URI에 다음과 같은 매개 변수를 지정할 수 있습니다.

 

매개 변수 설명

popreceipt

필수 사항. 메시지 가져오기 또는 메시지 업데이트(REST API) 작업에 대한 이전 호출로부터 반환된 유효한 PopReceipt 값을 지정합니다.

visibilitytimeout

필수 사항. 서버 시간을 기준으로 새로운 표시 제한 시간 값(초)을 지정합니다. 새 값은 0 이상이어야 하며 7일을 초과할 수 없습니다. 메시지의 가시성 제한 시간은 만료 시간보다 큰 값으로 설정할 수 없습니다. 메시지는 삭제 또는 만료되기 전까지 업데이트할 수 있습니다.

timeout

선택 사항. timeout 매개 변수는 초 단위로 표시됩니다. 자세한 내용은 큐 서비스 작업의 제한 시간 설정을 참조하십시오.

다음 표에서는 필수 요청 헤더와 선택적 요청 헤더에 대해 설명합니다.

 

요청 헤더 설명

Authorization

필수 사항. 인증 체계, 계정 이름 및 서명을 지정합니다. 자세한 내용은 Azure 저장소 서비스에 대한 인증를 참조하십시오.

Date or x-ms-date

필수 사항. 요청의 UCT(협정 세계시)를 지정합니다. 자세한 내용은 Azure 저장소 서비스에 대한 인증를 참조하십시오.

x-ms-version

2011-08-18 이상이 필요합니다. 이 요청에 사용할 작업의 버전을 지정합니다. 자세한 내용은 Azure 저장소 서비스 버전 관리을 참조하십시오.

x-ms-client-request-id

선택 사항. 저장소 분석 로깅을 사용하도록 설정한 경우 분석 로그에 기록된 1KB 문자 제한의 클라이언트에서 생성한 불투명 값을 제공합니다. 클라이언트 쪽 작업과 서버가 받은 요청의 상관 관계를 지정하는 데 이 헤더를 사용하는 것이 좋습니다. 자세한 내용은 저장소 분석 로깅 정보Windows Azure 로깅: 로그를 사용하여 저장소 요청 추적을 참조하십시오.

요청 본문에는 다음 XML 형식의 메시지 데이터가 포함됩니다. 메시지 콘텐츠는 UTF-8로 인코딩할 수 있는 형식이어야 합니다.

<QueueMessage>
    <MessageText>message-content</MessageText>
</QueueMessage>

응답에는 HTTP 상태 코드 및 응답 헤더 집합이 포함되어 있습니다.

작업이 성공하면 상태 코드 204(콘텐츠 없음)이 반환됩니다.

상태 코드에 대한 자세한 내용은 상태 및 오류 코드를 참조하십시오.

이 작업의 응답에는 다음과 같은 헤더가 포함됩니다. 응답에는 추가 표준 HTTP 헤더가 포함될 수도 있습니다. 모든 표준 헤더는 HTTP/1.1 프로토콜 사양을 따릅니다.

 

요청 헤더 설명

x-ms-request-id

이 헤더는 수행된 요청을 고유하게 식별하며, 이 헤더를 사용해서 요청 문제를 해결할 수 있습니다. 자세한 내용은 API 작업 문제 해결을 참조하십시오.

x-ms-version

요청을 실행하는 데 사용되는 큐 서비스의 버전을 나타냅니다. 이 헤더는 2009-09-19 버전 이상에 대해 수행된 요청에 대해 반환됩니다.

Date

응답이 시작된 시간을 나타내는 서비스에서 생성된 UTC 날짜/시간 값입니다.

x-ms-popreceipt

큐 메시지의 PopReceipt입니다.

x-ms-time-next-visible

메시지가 큐에 표시될 때를 나타내는 UTC 날짜/시간 값입니다.

없음.

이 작업은 계정 소유자 및 이 작업을 수행할 수 있는 권한이 있는 공유 액세스 서명을 갖는 모든 사용자가 수행할 수 있습니다.

다음 요청은 큐 메시지의 표시 시간을 30초 연장하고 해당 콘텐츠를 업데이트합니다.

PUT https://myaccount.queue.core.windows.net/myqueue/messages/663d89aa-d1d9-42a2-9a6a-fcf822a97d2c?popreceipt=AgAAAAEAAAApAAAAGIw6Q29bzAE%3d&visibilitytimeout=30&timeout=30 HTTP/1.1

이 요청은 다음 헤더와 함께 전송되었습니다.

x-ms-version: 2011-08-18
x-ms-date: Mon, 29 Aug 2011 17:17:21 GMT
Authorization: SharedKey myaccount:batcrWZ35InGCZeTUFWMdIQiOZPCW7UEyeGdDOg7WW4=
Content-Length: 75

이 요청은 다음 XML 본문과 함께 전송되었습니다.

<QueueMessage>
    <MessageText>new-message-content</MessageText>
</QueueMessage>

요청이 전송된 후에는 다음과 같은 응답이 반환됩니다.

HTTP/1.1 204 No Content
Content-Length: 0
Server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0
x-ms-request-id: df34a7dd-3cbe-4206-a586-d6de3cf225a7
x-ms-version: 2011-08-18
x-ms-popreceipt: AwAAAAIAAAApAAAAINtMQ29bzAEBAAAA
x-ms-time-next-visible: Mon, 29 Aug 2011 17:17:51 GMT
Date: Mon, 29 Aug 2011 17:17:21 GMT

지정된 메시지가 큐에 없거나 지정된 PopReceipt가 메시지와 일치하지 않으면 Update Message 작업이 실패합니다.

PopReceipt는 Get Messages 작업 또는 Update Message 작업으로 반환됩니다. PopReceipt는 다음 이벤트 중 하나가 발생할 때까지 유효한 상태로 유지됩니다.

  1. 메시지가 만료된 경우

  2. Get Messages 또는 Update Message로부터 수신된 마지막 PopReceipt를 사용하여 메시지가 삭제된 경우

  3. 표시 안 함 시간이 경과되고 Get Messages 요청에 의해 메시지가 큐에서 제거된 경우. 표시 안 함 시간이 경과하면 메시지가 다시 표시됩니다. 다른 Get Messages 요청에서 검색된 경우 반환된 PopReceipt를 사용해서 메시지를 삭제하거나 업데이트할 수 있습니다.

  4. 메시지가 새로운 표시 제한 시간으로 업데이트된 경우. 메시지가 업데이트되면 새로운 PopReceipt가 반환됩니다.

Update Message 작업을 사용하면 큐 메시지의 표시 안 함 상태를 계속해서 연장할 수 있습니다. 이 기능은 작업자 역할이 큐 메시지를 "임대"하도록 하려는 경우에 유용할 수 있습니다. 예를 들어 작업자 역할이 메시지 가져오기를 호출하고 메시지 처리를 위해 추가 시간이 필요하다고 인식할 경우, 메시지가 처리될 때까지 메시지의 표시 안 함 상태를 계속해서 연장할 수 있습니다. 처리 중에 작업자 역할이 실패할 경우에는 결과적으로 메시지가 다시 표시되며, 다른 작업자 역할이 이를 처리할 수 있습니다.

Microsoft는 MSDN 웹 사이트에 대한 귀하의 의견을 이해하기 위해 온라인 설문 조사를 진행하고 있습니다. 참여하도록 선택하시면 MSDN 웹 사이트에서 나가실 때 온라인 설문 조사가 표시됩니다.

참여하시겠습니까?
표시:
© 2014 Microsoft