VENTAS: 1-800-867-1389

Update Message

Actualizado: septiembre de 2011

Esta operación se introdujo con la versión 2011-08-18 de la API del servicio Cola. La operación Update Message actualiza el tiempo de espera de visibilidad de un mensaje. También puede utilizar esta operación para actualizar el contenido de un mensaje. El mensaje debe estar en un formato que pueda incluirse en una solicitud XML con codificación UTF-8, y el mensaje codificado puede tener un tamaño de hasta 64 KB.

La solicitud Update Message se puede construir como sigue. Se recomienda HTTPS. Reemplace myaccount por el nombre de la cuenta de almacenamiento y myqueue por el nombre de la cola:

 

Método URI de solicitud Versión de HTTP

PUT

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

HTTP/1.1

Esta operación es compatible con SDK 1.6 y las versiones más recientes.

Al realizar una solicitud en el servicio de almacenamiento emulado, especifique el nombre de host del emulador y el puerto del servicio Cola como 127.0.0.1:10001, seguido del nombre de la cuenta de almacenamiento emulado:

 

Método URI de solicitud Versión de HTTP

PUT

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

HTTP/1.1

Para obtener más información, vea About Development Storage.

Se pueden especificar los parámetros siguientes en el URI de solicitud.

 

Parámetro Descripción

popreceipt

Requerido. Especifica el valor de confirmación de recepción válido devuelto desde una llamada anterior a la operación Get Messages o Update Message.

visibilitytimeout

Requerido. Especifica el nuevo valor del tiempo de espera de visibilidad, en segundos, relativo a la hora del servidor. El nuevo valor debe ser mayor o igual que 0, y no puede ser mayor de 7 días. El tiempo de espera de visibilidad de un mensaje no puede establecerse en un valor posterior a la hora de expiración. Un mensaje se puede actualizar hasta que se ha eliminado o ha expirado.

timeout

Opcional. El parámetro timeout se expresa en segundos. Para obtener más información, vea Establecer los tiempos de espera para las operaciones del servicio Cola.

En la tabla siguiente se describen los encabezados de solicitud requeridos y opcionales.

 

Encabezado de solicitud Descripción

Authorization

Requerido. Especifica el esquema de autenticación, el nombre de la cuenta y la firma. Para obtener más información, vea Autenticación para los servicios de almacenamiento de Azure.

Date or x-ms-date

Requerido. Especifica la hora universal coordinada (UTC) para la solicitud. Para obtener más información, vea Autenticación para los servicios de almacenamiento de Azure.

x-ms-version

Requiere la versión 2011-08-18 o una versión más reciente. Especifica la versión de la operación que se utiliza para esta solicitud. Para obtener más información, vea Control de versiones de los servicios de almacenamiento de Azure.

x-ms-client-request-id

Opcional. Proporciona un valor opaco generado por el cliente con un límite de caracteres de 1 KB que se graba en los registros de análisis cuando el registro de análisis de almacenamiento está habilitado. Se recomienda encarecidamente usar este encabezado para correlacionar las actividades del lado cliente con las solicitudes recibidas por el servidor. Para obtener más información, vea Acerca del registro del análisis de almacenamiento y Registro de Azure: usar registros para realizar el seguimiento de las solicitudes de almacenamiento.

El cuerpo de la solicitud contiene los datos del mensaje en el formato XML siguiente. Tenga en cuenta que el contenido del mensaje debe estar en un formato que se pueda codificar con UTF-8.

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

La respuesta incluye un código de estado HTTP y un conjunto de encabezados de respuesta.

Una operación correcta devuelve el código de estado 204 (Sin contenido).

Para obtener información acerca de los códigos de estado, vea Códigos de estado y de error.

La respuesta para esta operación incluye los encabezados siguientes. La respuesta también puede incluir otros encabezados HTTP estándar. Todos los encabezados estándar cumplen la especificación del protocolo HTTP/1.1.

 

Encabezado de solicitud Descripción

x-ms-request-id

Este encabezado identifica de forma única la solicitud que se realizó y se puede utilizar para solucionar problemas relacionados con esta. Para obtener más información, vea Solucionar problemas relacionados con las operaciones de la API.

x-ms-version

Indica la versión del servicio Cola utilizada para ejecutar la solicitud. Este encabezado se devuelve para las solicitudes realizadas en la versión 2009-09-19 y versiones posteriores.

Date

Valor de fecha y hora UTC generado por el servicio que indica la hora a la que se inició la respuesta.

x-ms-popreceipt

La confirmación de recepción del mensaje de la cola.

x-ms-time-next-visible

Valor de fecha y hora UTC que representa el momento en el que el mensaje estará visible en la cola.

Esta operación la puede realizar el propietario de la cuenta y cualquiera que tenga una firma de acceso compartido con permiso para realizar esta operación.

La solicitud siguiente amplía la visibilidad de un mensaje de la cola durante 30 segundos y actualiza su contenido.

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

La solicitud se envía con los encabezados siguientes:

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

La solicitud se envía con el cuerpo XML siguiente:

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

Una vez enviada la solicitud, se devuelve la respuesta siguiente:

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

Una operación Update Message producirá un error si el mensaje especificado no existe en la cola o si la confirmación de recepción especificada no coincide con el mensaje.

La confirmación de recepción la devuelve la operación Get Messages o la operación Update Message. Las confirmaciones de recepción siguen siendo válidas hasta que ocurre uno de los eventos siguientes:

  1. El mensaje ha expirado.

  2. El mensaje se ha eliminado utilizando la última recepción de confirmación recibida de la operación Get Messages o Update Message.

  3. El tiempo de invisibilidad ha transcurrido y el mensaje se ha quitado de la cola mediante una solicitud Get Messages. Cuando se agota el tiempo de invisibilidad, el mensaje se hace visible de nuevo. Si se recupera mediante otra solicitud Get Messages, la confirmación de recepción devuelta se puede utilizar para eliminar o actualizar el mensaje.

  4. El mensaje se ha actualizado con un nuevo tiempo de espera de visibilidad. Cuando se actualice el mensaje, se devolverá una nueva recepción de confirmación.

La operación Update Message se puede usar para ampliar de forma continuada la invisibilidad de un mensaje de la cola. Esta función puede resultar útil si se desea que un rol de trabajo obtenga una “concesión” sobre un mensaje de la cola. Por ejemplo, si un rol de trabajo llama a Get Messages y reconoce que necesita más tiempo para procesar un mensaje, puede ampliar continuamente la invisibilidad del mensaje hasta su procesamiento. Si el rol de trabajo produjera un error durante el procesamiento, el mensaje volvería a estar visible y otro rol de trabajo podría procesarlo.

¿Te ha resultado útil?
(Caracteres restantes: 1500)
Gracias por sus comentarios
Mostrar:
© 2014 Microsoft