Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
La Update Message operación actualiza el tiempo de espera de visibilidad de un mensaje. También puede usar esta operación para actualizar el contenido de un mensaje. Un mensaje debe estar en un formato que se pueda incluir en una solicitud XML con codificación UTF-8 y el mensaje codificado puede tener un tamaño de hasta 64 KB. Esta operación se introdujo con la versión 2011-08-18 de la API de Azure Queue Storage.
Solicitud
Puede construir la solicitud de la Update Message siguiente manera. Se recomienda HTTPS. Reemplace myaccount por el nombre de la cuenta de almacenamiento y myqueue por el nombre de la cola.
| Método | Solicitud de URI | Versión de HTTP |
|---|---|---|
PUT |
https://myaccount.queue.core.windows.net/myqueue/messages/messageid?popreceipt=<string-value>&visibilitytimeout=<int-seconds> |
HTTP/1.1 |
Servicio de almacenamiento emulado
Esta operación es compatible con SDK 1.6 y versiones posteriores.
Al realizar una solicitud en el servicio de almacenamiento emulado, especifique el nombre de host del emulador y el puerto de almacenamiento en cola como 127.0.0.1:10001, seguido del nombre de la cuenta de almacenamiento emulada.
| Método | Solicitud de URI | Versión de HTTP |
|---|---|---|
PUT |
http://127.0.0.1:10001/devstoreaccount1/myqueue/messages/messageid?popreceipt=<string-value>&visibilitytimeout=<int-seconds> |
HTTP/1.1 |
Parámetros de URI
Puede especificar los siguientes parámetros en el URI de solicitud.
| Parámetro | Description |
|---|---|
popreceipt |
Obligatorio. Especifica el valor de confirmación de pop válido devuelto por una llamada anterior a las operaciones Obtener mensajes o Actualizar mensaje . Debe popreceipt estar codificado en URL. |
visibilitytimeout |
Obligatorio. Especifica el nuevo valor de tiempo de espera de visibilidad, en segundos, en relación con la hora del servidor. El nuevo valor debe ser mayor o igual que 0 y no puede ser mayor que 7 días. El tiempo de espera de visibilidad de un mensaje no se puede establecer en un valor posterior a la hora de caducidad. Puede actualizar un mensaje hasta que se haya eliminado o haya caducado. |
timeout |
Optional. El timeout parámetro se expresa en segundos. Para obtener más información, consulte Configuración de tiempos de espera para operaciones de almacenamiento de cola. |
Encabezados de solicitud
En la tabla siguiente se describen los encabezados de solicitud obligatorios y opcionales.
| Cabecera de solicitud | Description |
|---|---|
Authorization |
Obligatorio. Especifica el esquema de autorización, el nombre de la cuenta y la firma. Para obtener más información, consulte Autorización de solicitudes a Azure Storage. |
Date
or x-ms-date
|
Obligatorio. Especifica la hora universal coordinada (UTC) para la solicitud. Para obtener más información, consulte Autorización de solicitudes a Azure Storage. |
x-ms-version |
Requiere 2011-08-18 o posterior. Especifica la versión de la operación que se va a usar para esta solicitud. Para obtener más información, vea Versiones de los servicios de Azure Storage. |
x-ms-client-request-id |
Optional. Proporciona un valor opaco generado por el cliente con un límite de caracteres de 1 kibibyte (KiB) que se registra en los registros cuando se configura el registro. Se recomienda encarecidamente usar este encabezado para correlacionar las actividades del lado cliente con las solicitudes que recibe el servidor. Para obtener más información, consulte Supervisión de Azure Queue Storage. |
Cuerpo de la solicitud
El cuerpo de la solicitud contiene los datos del mensaje en el siguiente formato XML. 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>
Respuesta
La respuesta incluye un código de estado HTTP y un conjunto de encabezados de respuesta.
Código de estado
Una operación correcta devuelve el código de estado 204 (Sin contenido). Para obtener información sobre los códigos de estado, consulte Códigos de estado y error.
Encabezados de respuesta
La respuesta de esta operación incluye los siguientes encabezados. La respuesta también puede incluir encabezados HTTP estándar adicionales. Todos los encabezados estándar cumplen con la especificación del protocolo HTTP / 1.1.
| Cabecera de solicitud | Description |
|---|---|
x-ms-request-id |
Este encabezado identifica de forma única la solicitud que se realizó y se puede usar para solucionar problemas de la solicitud. Para obtener más información, consulte Solución de problemas de operaciones de API. |
x-ms-version |
Indica la versión de Queue Storage utilizada para ejecutar la solicitud. Este encabezado se devuelve para las solicitudes realizadas en la versión 2009-09-19 y posteriores. |
Date |
Un valor de fecha y hora UTC que indica la hora a la que se inició la respuesta. El servicio genera este valor. |
x-ms-popreceipt |
La recepción emergente del mensaje de cola. |
x-ms-time-next-visible |
Un valor de fecha y hora UTC que representa cuándo el mensaje estará visible en la cola. |
x-ms-client-request-id |
Puede usar este encabezado para solucionar problemas de solicitudes y respuestas correspondientes. El valor de este encabezado es igual al valor del x-ms-client-request-id encabezado, si está presente en la solicitud. El valor es como máximo 1.024 caracteres ASCII visibles. Si el x-ms-client-request-id encabezado no está presente en la solicitud, este encabezado no estará presente en la respuesta. |
Cuerpo de respuesta
Ninguno.
Authorization
El propietario de la cuenta puede realizar esta operación. Además, cualquier persona con una firma de acceso compartido que tenga permiso para realizar esta operación puede hacerlo.
Solicitud y respuesta de ejemplo
La siguiente solicitud amplía la visibilidad de un mensaje de cola en 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 siguientes encabezados:
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 siguiente cuerpo XML:
<QueueMessage>
<MessageText>new-message-content</MessageText>
</QueueMessage>
Una vez enviada la solicitud, se devuelve la siguiente respuesta:
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
Observaciones
Se produce un error en una Update Message operación si el mensaje especificado no existe en la cola o si la confirmación pop especificada no coincide con el mensaje.
La operación o la Update Message operación devuelven Get Messages un recibo pop. Los recibos de pop siguen siendo válidos hasta que se produzca uno de los siguientes eventos:
El mensaje ha caducado.
El mensaje se ha eliminado utilizando la última confirmación pop recibida, ya sea de
Get MessagesoUpdate Message.Ha transcurrido el tiempo de invisibilidad y una solicitud ha quitado el mensaje de la
Get Messagescola. Cuando transcurre el tiempo de invisibilidad, el mensaje vuelve a ser visible. Si se recupera mediante otraGet Messagessolicitud, el recibo pop devuelto se puede usar para eliminar o actualizar el mensaje.El mensaje se ha actualizado con un nuevo tiempo de espera de visibilidad. Cuando se actualice el mensaje, se devolverá un nuevo recibo de pop.
Puede utilizar la Update Message operación para ampliar continuamente la invisibilidad de un mensaje de cola. Esta funcionalidad puede ser útil si desea que un rol de trabajo conceda un mensaje de cola. Por ejemplo, si un rol de trabajo llama a Obtener mensajes y reconoce que necesita más tiempo para procesar un mensaje, puede extender continuamente la invisibilidad del mensaje hasta que se procese. Si se produce un error en el rol de trabajo durante el procesamiento, el mensaje volverá a ser visible y otro rol de trabajo podría procesarlo.
Un mensaje debe estar en un formato que se pueda incluir en una solicitud XML con codificación UTF-8. Para incluir marcado en el mensaje, el contenido del mensaje debe estar codificado en Base64. Cualquier marcado XML en el mensaje que no esté codificado hará que el mensaje no sea válido. Si se incluye un carácter no válido (por ejemplo 0x1F) en el mensaje, incluso si tiene escape XML, las lecturas posteriores del mensaje no se realizarán correctamente.
Si el mensaje es demasiado grande, el servicio devuelve el código de estado 400 (solicitud incorrecta).
Consulte también
Autorización de solicitudes a Azure Storage
Estado y códigos de error
Códigos de error de almacenamiento en cola