Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
L'operazione Put Message
aggiunge un nuovo messaggio alla fine della coda di messaggi. È inoltre possibile specificare un timeout di visibilità per rendere il messaggio invisibile fino alla scadenza del timeout di visibilità. Un messaggio deve essere in un formato che può essere incluso in una richiesta XML con codifica UTF-8. Il messaggio codificato può avere una dimensione massima di 64 kibibyte (KiB) per la versione 2011-08-18 e successive o di 8 KiB per le versioni precedenti.
Richiesta
È possibile costruire la richiesta di Put Message
come indicato di seguito. È consigliabile usare HTTPS. Sostituire myaccount con il nome dell'account di archiviazione e myqueue
con il nome della coda:
Metodo | URI della richiesta | Versione HTTP |
---|---|---|
POST |
https://myaccount.queue.core.windows.net/myqueue/messages?visibilitytimeout=<int-seconds>&messagettl=<int-seconds> |
HTTP/1.1 |
Richiesta del servizio di archiviazione emulata
Quando si effettua una richiesta per il servizio di archiviazione emulato, specificare il nome host dell'emulatore e la porta di archiviazione code come 127.0.0.1:10001
, seguiti dal nome dell'account di archiviazione emulato:
Metodo | URI della richiesta | Versione HTTP |
---|---|---|
POST |
http://127.0.0.1:10001/devstoreaccount1/myqueue/messages?visibilitytimeout=<int-seconds>&messagettl=<int-seconds> |
HTTP/1.1 |
Per altre informazioni, vedere Usare l'emulatore Azurite per lo sviluppo locale di Archiviazione di Azure.
Parametri URI
È possibile specificare i parametri seguenti nell'URI della richiesta:
Parametro | Descrizione |
---|---|
visibilitytimeout=<int=seconds> |
Opzionale. Specifica il nuovo valore di timeout di visibilità, in secondi, rispetto all'ora del server. Se viene specificato, la richiesta deve essere effettuata utilizzando un x-ms-version numero di 2011-08-18 o versione successiva. Se non viene specificato, il valore predefinito è 0. Il nuovo valore deve essere maggiore o uguale a 0 e non può essere maggiore di 7 giorni. Il timeout di visibilità di un messaggio non può essere impostato su un valore successivo alla data di scadenza. Impostare visibilitytimeout su un valore inferiore al valore della durata (TTL). |
messagettl=<int-seconds> |
Opzionale. Specifica l'intervallo di tempo per il messaggio, espresso in secondi. Nelle versioni precedenti al 2017-07-29, la durata massima consentita è di 7 giorni. Per la versione 2017-07-29 e successive, la durata massima può essere qualsiasi numero positivo e -1 , che indica che il messaggio non scade. Se questo parametro viene omesso, la durata predefinita è di 7 giorni. |
timeout |
Opzionale. Il parametro timeout è espresso in secondi. Per altre informazioni, vedere Impostare timeout per le operazioni del servizio di accodamento. |
Header di richiesta
Le intestazioni di richiesta obbligatorie e facoltative sono descritte nella tabella seguente:
Header di richiesta | Descrizione |
---|---|
Authorization |
Obbligatorio. Specifica lo schema di autorizzazione, il nome dell'account e la firma. Per altre informazioni, vedere Autorizzare le richieste ad Archiviazione di Azure. |
Date
or x-ms-date
|
Obbligatorio. Specifica l'ora UTC (Coordinated Universal Time) per la richiesta. Per altre informazioni, vedere Autorizzare le richieste ad Archiviazione di Azure. |
x-ms-version |
Opzionale. Specifica la versione dell'operazione da utilizzare per questa richiesta. Per ulteriori informazioni, consultare Controllo delle versioni per i servizi di Archiviazione di Azure. |
x-ms-client-request-id |
Opzionale. Fornisce un valore opaco generato dal client con un limite di caratteri di 1 kibibyte (KiB) registrato nei log quando viene configurata la registrazione. È consigliabile usare questa intestazione per correlare le attività sul lato client alle richieste ricevute dal server. |
Testo della richiesta
Il corpo della richiesta contiene i dati del messaggio nel seguente formato XML. Si noti che il contenuto del messaggio deve essere in un formato che può essere codificato con UTF-8.
<QueueMessage>
<MessageText>message-content</MessageText>
</QueueMessage>
Esempio di richiesta
Request:
POST https://myaccount.queue.core.windows.net/messages?visibilitytimeout=30&timeout=30 HTTP/1.1
Headers:
x-ms-version: 2011-08-18
x-ms-date: Tue, 30 Aug 2011 01:03:21 GMT
Authorization: SharedKey myaccount:sr8rIheJmCd6npMSx7DfAY3L//V3uWvSXOzUBCV9wnk=
Content-Length: 100
Body:
<QueueMessage>
<MessageText>PHNhbXBsZT5zYW1wbGUgbWVzc2FnZTwvc2FtcGxlPg==</MessageText>
</QueueMessage>
Risposta
La risposta include un codice di stato HTTP e un set di intestazioni di risposta.
Codice di stato
Un'operazione riuscita restituisce il codice di stato 201 (Creato).
Per altre informazioni sui codici di stato, vedere Stato e codici di errore.
Intestazioni di risposta
La risposta per questa operazione include le intestazioni seguenti. La risposta può includere anche intestazioni HTTP standard aggiuntive. Tutte le intestazioni standard sono conformi alla specifica del protocollo HTTP/1.1 .
Header di richiesta | Descrizione |
---|---|
x-ms-request-id |
Identifica in modo univoco la richiesta effettuata ed è possibile usarla per risolvere i problemi della richiesta. Per altre informazioni, vedere Risolvere i problemi relativi alle operazioni API. |
x-ms-version |
Indica la versione del servizio di accodamento utilizzata per eseguire la richiesta. Questa intestazione viene restituita per le richieste effettuate rispetto alla versione 2009-09-19 e successive. |
Date |
Valore di data/ora UTC generato dal servizio, che indica l'ora di avvio della risposta. |
x-ms-client-request-id |
Questa intestazione può essere usata per risolvere i problemi relativi alle richieste e alle risposte corrispondenti. Il valore di questa intestazione è uguale al valore dell'intestazione x-ms-client-request-id se è presente nella richiesta e il valore non contiene più di 1.024 caratteri ASCII visibili. Se l'intestazione x-ms-client-request-id non è presente nella richiesta, non sarà presente nella risposta. |
Corpo della risposta
A partire dalla versione 2016-05-31, la risposta per l'operazione Put Message
contiene le informazioni sul messaggio nel corpo della risposta. Il formato XML del corpo restituito è descritto qui.
L'elemento MessageID
è un valore GUID che identifica il messaggio nella coda. Questo valore viene assegnato al messaggio da Archiviazione code ed è opaco per il client. Questo valore può essere utilizzato insieme al valore dell'elemento PopReceipt per eliminare o aggiornare un messaggio dalla coda. Anche il valore di PopReceipt è opaco per il client ed è necessario quando si usano le API Delete Message o Update Message.
Gli InsertionTime
elementi , ExpirationTime
, e sono TimeNextVisible
rappresentati come valori UTC e formattati come descritto in RFC 1123.
<QueueMessagesList>
<QueueMessage>
<MessageId>string-message-id</MessageId>
<InsertionTime>insertion-time</InsertionTime>
<ExpirationTime>expiration-time</ExpirationTime>
<PopReceipt>opaque-string-receipt-data</PopReceipt>
<TimeNextVisible>time-next-visible</TimeNextVisible>
</QueueMessage>
</QueueMessagesList>
Risposta di esempio
Response Status:
HTTP/1.1 200 OK
Response headers:
Transfer-Encoding: chunked
Content-Type: application/xml
x-ms-version: 2016-05-31
Date: Fri, 09 Oct 2016 21:04:30 GMT
Server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0
Response Body:
<?xml version="1.0" encoding="utf-8"?>
<QueueMessagesList>
<QueueMessage>
<MessageId>5974b586-0df3-4e2d-ad0c-18e3892bfca2</MessageId>
<InsertionTime>Fri, 09 Oct 2016 21:04:30 GMT</InsertionTime>
<ExpirationTime>Fri, 16 Oct 2016 21:04:30 GMT</ExpirationTime>
<PopReceipt>YzQ4Yzg1MDItYTc0Ny00OWNjLTkxYTUtZGM0MDFiZDAwYzEw</PopReceipt>
<TimeNextVisible>Fri, 09 Oct 2016 23:29:20 GMT</TimeNextVisible>
</QueueMessage>
</QueueMessagesList>
Autorizzazione
Questa operazione può essere eseguita dal proprietario dell'account e da chiunque disponga di una firma di accesso condiviso con le autorizzazioni per eseguire questa operazione.
Osservazioni:
Il timeout di visibilità facoltativo specifica il tempo in cui il messaggio è invisibile. Alla scadenza del timeout, il messaggio diventa visibile. Se non si specifica un timeout di visibilità, viene utilizzato il valore predefinito 0.
La durata facoltativa del messaggio specifica per quanto tempo un messaggio rimane nella coda. Il messaggio viene eliminato dalla coda alla scadenza del periodo di durata.
Un messaggio deve essere in un formato che può essere incluso in una richiesta XML con codifica UTF-8. Per includere markup nel messaggio, il contenuto del messaggio deve essere con escape XML o con codifica Base64. Qualsiasi markup XML nel messaggio che non sia preceduto da caratteri di escape o codificati viene rimosso prima che il messaggio venga aggiunto alla coda. Se un carattere non valido (ad esempio, 0x1F
) è preceduto da caratteri di escape XML o codificato in Base64 nel messaggio, le letture successive del messaggio non avranno esito positivo.
Se il messaggio è troppo grande, il servizio restituisce il codice di stato 400 (Richiesta non valida).
Vedere anche
Autorizzare le richieste ad Archiviazione di Azure
Stato e codici errore
Codici di errore del servizio di accodamento