Esporta (0) Stampa
Espandi tutto

Update Message (API REST)

Aggiornamento: settembre 2011

Questa operazione è stata introdotta con la versione 2011-08-18 dell'API del servizio di accodamento. Tramite l'operazione Update Message viene aggiornato il timeout di visibilità di un messaggio. È anche possibile utilizzare questa operazione per aggiornare il contenuto di un messaggio. Un messaggio deve presentare un formato che ne consenta l'inserimento in una richiesta XML con codifica UTF-8. Il messaggio codificato può raggiungere le dimensioni massime di 64 KB.

La richiesta Update Message può essere costruita nel modo seguente. Si consiglia di utilizzare HTTPS. Sostituire myaccount con il nome dell'account di archiviazione e myqueue con il nome della coda:

 

Metodo URI della richiesta Versione HTTP

PUT

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

HTTP/1.1

Questa opzione è supportata per SDK 1.6 e versioni successive.

Quando si effettua una richiesta nel servizio di archiviazione emulato, specificare il nome host dell'emulatore e la porta del servizio di accodamento come 127.0.0.1:10001, seguiti dal nome dell'account di archiviazione emulato:

 

Metodo URI della richiesta Versione HTTP

PUT

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

HTTP/1.1

Per ulteriori informazioni, vedere About Development Storage.

Nell'URI della richiesta è possibile specificare i parametri seguenti.

 

Parametro Descrizione

popreceipt

Obbligatorio. Specifica il valore di ricezione POP valido restituito da una chiamata precedente all'operazione Get Messages o Update Message (API REST).

visibilitytimeout

Obbligatorio. Specifica il nuovo valore di timeout di visibilità, in secondi, rispetto all'ora del server. Il nuovo valore deve essere maggiore o uguale a 0 e non può essere superiore a 7 giorni. Il timeout di visibilità di un messaggio non può essere impostato su un valore successivo all'ora di scadenza. È possibile aggiornare un messaggio finché non scade o non viene eliminato.

timeout

Facoltativo. Il parametro timeout viene espresso in secondi. Per ulteriori informazioni, vedere Impostazione di timeout per le operazioni del servizio di accodamento.

Nella tabella seguente vengono descritte le intestazioni di richiesta obbligatorie e facoltative.

 

Intestazione della richiesta Descrizione

Authorization

Obbligatoria. Specifica lo schema di autenticazione, il nome dell'account e la firma. Per ulteriori informazioni, vedere Autenticazione per i servizi di archiviazione di Azure.

Date or x-ms-date

Obbligatoria. Specifica l'ora UTC (Coordinated Universal Time) per la richiesta. Per ulteriori informazioni, vedere Autenticazione per i servizi di archiviazione di Azure.

x-ms-version

Richiede la versione 2011-08-18 o successive. Specifica la versione dell'operazione da utilizzare per questa richiesta. Per ulteriori informazioni, vedere Controllo delle versioni per i servizi di archiviazione di Azure.

x-ms-client-request-id

Facoltativa. Fornisce un valore opaco generato dal client con un limite di caratteri di 1 KB che viene registrato nei log di analisi quando la registrazione di Analisi archiviazione è abilitata. L'utilizzo di questa intestazione è consigliato per la correlazione tra le attività lato client e le richieste ricevute dal server. Per ulteriori informazioni, vedere Informazioni sulla registrazione di Analisi archiviazione e la pagina relativa all'utilizzo di log per tenere traccia delle richiesta di archiviazione nella registrazione di Windows Azure.

Il corpo della richiesta contiene i dati di messaggio nel formato XML seguente. Si noti che il contenuto del messaggio deve essere in un formato codificabile con UTF-8.

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

Nella risposta sono inclusi un codice di stato HTTP e un set di intestazioni per la risposta.

Un'operazione completata correttamente restituisce il codice di stato 204 (Nessun contenuto).

Per informazioni sui codici di stato, vedere Codici ed errori di stato.

Nella risposta per questa operazione sono incluse le intestazioni riportate di seguito; inoltre, possono essere incluse intestazioni HTTP standard aggiuntive. Tutte le intestazioni standard sono conformi alla specifica del protocollo HTTP/1.1.

 

Intestazione della richiesta Descrizione

x-ms-request-id

Questa intestazione identifica in modo univoco la richiesta effettuata e può essere utilizzata per risolvere i problemi relativi alla richiesta. Per ulteriori informazioni, vedere Risoluzione dei problemi relativi alle operazioni dell'API.

x-ms-version

Indica la versione del servizio di accodamento utilizzata per eseguire la richiesta. Questa intestazione viene restituita per le richieste effettuate nella versione 2009-09-19 e successive.

Date

Valore data/ora UTC generato dal servizio che indica l'ora in cui è stata avviata la risposta.

x-ms-popreceipt

Valore di ricezione POP del messaggio in coda.

x-ms-time-next-visible

Valore data/ora UTC che indica quando il messaggio sarà visibile nella coda.

Questa operazione può essere eseguita dal proprietario dell'account e da qualsiasi altro utente che utilizza una firma di accesso condiviso con l'autorizzazione di esecuzione di questa operazione.

La richiesta successiva estende la visibilità di un messaggio in coda di 30 secondi e ne aggiorna il contenuto.

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 richiesta viene inviata con le intestazioni seguenti:

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 richiesta viene inviata con il corpo XML seguente:

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

Dopo l'invio della richiesta viene restituita la risposta seguente:

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

Un'operazione Update Message avrà esito negativo se il messaggio specificato non esiste nella coda o se il valore di ricezione POP specificato non corrisponde al messaggio.

Un valore di ricezione POP viene restituito dall'operazione Get Messages o Update Message. I valori di ricezione rimangono validi finché non si verifica uno degli eventi seguenti:

  1. Il messaggio è scaduto.

  2. Il messaggio è stato eliminato utilizzando l'ultimo valore di ricezione ricevuto da Get Messages o Update Message.

  3. Il timeout di invisibilità è scaduto e il messaggio è stato rimosso dalla coda tramite una richiesta Get Messages. Scaduto il timeout di invisibilità, il messaggio diventa nuovamente visibile. Se viene recuperato da un'altra richiesta Get Messages, il valore di ricezione restituito può essere utilizzato per eliminare o aggiornare il messaggio.

  4. Il messaggio è stato aggiornato con un nuovo timeout di visibilità. Se il messaggio viene aggiornato, viene restituito un nuovo valore di ricezione.

L'operazione Update Message può essere utilizzata per estendere l'invisibilità di un messaggio nella coda. Questa funzionalità può essere utile se si desidera che un ruolo di lavoro imposti un "lease" per un messaggio nella coda. Ad esempio, se un ruolo di lavoro chiama Get Messages e richiede più tempo per l'elaborazione di un messaggio, può estendere l'invisibilità del messaggio finché non viene elaborato. Se il ruolo di lavoro restituisse un errore durante l'elaborazione, il messaggio diventerebbe nuovamente visibile e verrebbe elaborato da un altro ruolo di lavoro.

Microsoft sta conducendo un sondaggio in linea per comprendere l'opinione degli utenti in merito al sito Web di MSDN. Se si sceglie di partecipare, quando si lascia il sito Web di MSDN verrà visualizzato il sondaggio in linea.

Si desidera partecipare?
Mostra:
© 2014 Microsoft