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.
Diverse operazioni GET del servizio Blob supportano l'utilizzo dell'intestazione Range
HTTP standard. Molti client HTTP, tra cui la libreria client .NET, limitano le dimensioni dell'intestazione Range
a un intero a 32 bit e quindi il relativo valore è limitato a un massimo di 4 GiB. Poiché sia i BLOB a blocchi che i BLOB di pagine possono essere maggiori di 4 GiB di dimensioni, il servizio BLOB accetta un'intestazione di intervallo personalizzata per qualsiasi operazione che accetta un'intestazione x-ms-range
HTTP Range
.
Alcuni client HTTP, inclusa la libreria Microsoft Silverlight, limitano l'accesso all'intestazione Range
. L'intestazione x-ms-range
può essere utilizzata per ovviare a queste limitazioni.
Se l'intestazione x-ms-range
viene specificata in una richiesta, il servizio utilizza l'intervallo specificato da x-ms-range
; in caso contrario, viene utilizzato l'intervallo specificato dall'intestazione Range
.
Nota
La libreria client del servizio di archiviazione di Azure gestisce automaticamente l'impostazione dell'intestazione di intervallo appropriata nella richiesta quando si imposta la proprietà Range
dell'oggetto PutPageProperties
.
Formati dell'intestazione di intervallo
Il servizio Blob accetta due intervalli di byte per le intestazioni Range
e x-ms-range
. L'intervallo di byte devono essere conforme a uno dei formati seguenti per le intestazioni:
bytes=startByte-
per le richieste effettuate utilizzando la versione 2011-08-18 o successivebytes=startByte-endByte
per le richieste effettuate utilizzando tutte le versioni (dalla versione 2009-04-14 a quella più recente)
Formato 1: bytes=startByte-
Il primo formato, bytes=startByte-
, è disponibile solo per le richieste effettuate utilizzando la versione 2011-08-18 o successive oppure il servizio di archiviazione emulato in SDK 1.6 o versioni successive. Questo intervallo restituisce i byte dall'offset startByte
fino alla fine del Blob. Ad esempio, per specificare un intervallo comprendente tutti i byte dopo i primi 256 byte di un Blob, è possibile passare una delle intestazioni seguenti:
Range: bytes=255-
x-ms-range: bytes=255-
L'intestazione Content-Length
nella risposta è uguale al numero di byte dall'offset fino alla fine del Blob. Utilizzando l'intervallo di esempio precedente per un Blob di 1.024 byte di lunghezza, Content-Length
è pari a 756.
Se l'offset è valido e non supera la lunghezza totale del BLOB, la richiesta restituisce un codice di stato 206 (Contenuto parziale). Se l'offset non è valido e supera la lunghezza totale del BLOB, la richiesta restituisce un codice di stato 416 (Impossibile attenersi all'intervallo richiesto).
Formato 2: bytes=startByte-endByte
Il secondo formato, bytes=startByte-endByte
, è disponibile per le richieste effettuate utilizzando tutte le versioni (dalla versione 2009-04-14 alla più recente) e tutte le versioni del servizio di archiviazione emulato. Questo intervallo restituisce i byte dall'offset startByte
fino a endByte
. Ad esempio, per specificare un intervallo comprendente i primi 512 byte di un Blob, passare una delle intestazioni seguenti:
Range: bytes=0-511
x-ms-range: bytes=0-511
L'intestazione Content-Length
nella risposta è uguale al numero di byte tra ogni offset. Usando l'intervallo di esempio precedente per un BLOB di 1.024 byte di lunghezza, Content-Length
sarebbe 512.
Se l'offset è valido e non supera la lunghezza totale del BLOB, la richiesta restituisce un codice di stato 206 (Contenuto parziale). Se l'offset non è valido e supera la lunghezza totale del BLOB, la richiesta restituisce un codice di stato 416 (Impossibile attenersi all'intervallo richiesto).
Vedere anche
Concetti relativi al servizio Blob
Controllo delle versioni per i servizi di archiviazione di Azure