VENDITE: 1-800-867-1389

Get Blob

Aggiornamento: giugno 2014

Tramite l'operazione Get Blob viene letto o scaricato un Blob dal sistema, inclusi le proprietà e i metadati relativi. È anche possibile chiamare Get Blob per leggere uno snapshot.

La richiesta Get Blob può essere costruita nel modo seguente. Si consiglia di utilizzare HTTPS. Sostituire myaccount con il nome dell'account di archiviazione:

 

  URI della richiesta del metodo GET Versione HTTP

https://myaccount.blob.core.windows.net/mycontainer/myblob

https://myaccount.blob.core.windows.net/mycontainer/myblob?snapshot=<DateTime>

HTTP/1,0

HTTP/1.1

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

 

  URI della richiesta del metodo GET Versione HTTP

http://127.0.0.1:10000/devstoreaccount1/mycontainer/myblob

HTTP/1,0

HTTP/1.1

Per altre informazioni, vedere Uso dell'emulatore di archiviazione di Azure per lo sviluppo e il test.

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

 

Parametro Descrizione

snapshot

Facoltativo. Il parametro snapshot è un valore DateTime opaco che, se presente, specifica lo snapshot Blob da recuperare. Per altre informazioni sull'uso degli snapshot Blob, vedere Creazione di uno snapshot di un Blob.

timeout

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

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

 

Intestazione della richiesta Descrizione

Authorization

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

Date o x-ms-date

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

x-ms-version

Obbligatoria per tutte le richieste autenticate, facoltativa per le richieste anonime. Specifica la versione dell'operazione da utilizzare per questa richiesta. Per altre informazioni, vedere Controllo delle versioni per i servizi di archiviazione di Azure.

Range

Facoltativo. Restituisce solo i byte del Blob nell'intervallo specificato.

x-ms-range

Facoltativo. Restituisce solo i byte del Blob nell'intervallo specificato. Se Range e x-ms-range sono entrambi specificati, il servizio utilizza il valore di x-ms-range. Se nessuno dei due viene specificato, viene restituito l'intero contenuto del Blob. Per altre informazioni, vedere Specifica dell'intestazione di intervallo per le operazioni del servizio Blob.

x-ms-lease-id:<ID>

Facoltativo. Se questa intestazione viene specificata, l'operazione viene eseguita solo se vengono soddisfatte entrambe le condizioni seguenti:

  • Il lease del Blob è attualmente attivo.

  • L'ID lease specificato nella richiesta corrisponde a quello del Blob.

Se questa intestazione viene specificata e tutte e due le condizioni non vengono soddisfatte, la richiesta ha esito negativo e l'operazione Get Blob restituisce il codice di stato 412 (Condizione preliminare non riuscita).

x-ms-range-get-content-md5: true

Facoltativo. Quando questa intestazione è impostata su true ed è specificata con l'intestazione Range, il servizio restituisce l'hash MD5 per l'intervallo, purché le dimensioni dell'intervallo siano minori o uguali a 4 MB.

Se questa intestazione viene specificata senza l'intestazione Range, il servizio restituisce il codice di stato 400 (Richiesta non valida).

Se questa intestazione è impostata su true e le dimensioni dell'intervallo superano 4 MB, il servizio restituisce il codice di stato 400 (Richiesta non valida).

Origin

Facoltativo. Specifica l'origine da cui proviene la richiesta. La presenza di questa intestazione determina la presenza di intestazioni di condivisione delle risorse multiorigine (CORS) nella risposta.

x-ms-client-request-id

Facoltativo. 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à sul lato client e le richieste ricevute dal server. Per altre informazioni vedere Informazioni sulla registrazione di Analisi archiviazione e l'articolo relativo all'utilizzo di log per tenere traccia delle richiesta di archiviazione nella registrazione di Azure.

Questa operazione supporta inoltre l'utilizzo delle intestazioni condizionali per leggere il Blob solo se viene soddisfatta una determinata condizione. Per altre informazioni, vedere Specifica di intestazioni condizionali per le operazioni del servizio Blob.

Nella risposta sono inclusi un codice di stato HTTP, un set di intestazioni della risposta e il corpo della risposta, che contiene il contenuto del Blob.

Un'operazione di lettura dell'intero BLOB completata correttamente restituisce il codice di stato 200 (OK).

Un'operazione di lettura di un intervallo specificato completata correttamente restituisce il codice di stato 206 (contenuto parziale).

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.

 

Sintassi Descrizione

Last-Modified

Data e ora dell'ultima modifica del Blob. Il formato data è conforme a RFC 1123.

Le operazioni che comportano la modifica del Blob, incluso un aggiornamento dei metadati o delle proprietà del Blob, comportano la modifica dell'ora dell'ultima modifica del Blob.

x-ms-meta-name:value

Set di coppie nome-valore associate a questo Blob come metadati definiti dall'utente.

Content-Length

Numero di byte presenti nel corpo della risposta.

Content-Type

Tipo di contenuto specificato per il Blob. Il tipo di contenuto predefinito è application/octet-stream.

Content-Range

Indica l'intervallo di byte restituiti se il client ha richiesto un subset del Blob impostando l'intestazione della richiesta Range.

ETag

Il tag dell'entità contiene un valore che il client può utilizzare per eseguire operazioni GET condizionali utilizzando l'intestazione della richiesta If-Modified. Se la versione della richiesta è 2011-08-18 o successive, il valore ETag sarà racchiuso tra virgolette.

Content-MD5

Se il Blob presenta un hash MD5 e questa operazione Get Blob consente di leggere l'intero Blob, l'intestazione della risposta viene restituita in modo che il client possa controllare l'integrità del contenuto del messaggio.

Nella versione 2012-02-12 e successive, Put Blob imposta il valore hash MD5 di un Blob in blocchi anche se la richiesta Put Blob non include un'intestazione MD5.

Se la richiesta viene effettuata per leggere un intervallo specificato e x-ms-range-get-content-md5 è impostato su true, la richiesta restituisce un hash MD5 per l'intervallo, purché le dimensioni dell'intervallo siano minori o uguali a 4 MB.

Se nessuno di questi set di condizioni sono veri, non viene restituito alcun valore per l'intestazione Content-MD5.

Se x-ms-range-get-content-md5 viene specificato senza l'intestazione Range, il servizio restituisce il codice di stato 400 (Richiesta non valida).

Se x-ms-range-get-content-md5 è impostato su true e le dimensioni dell'intervallo superano 4 MB, il servizio restituisce il codice di stato 400 (Richiesta non valida).

Content-Encoding

Questa intestazione restituisce il valore specificato per l'intestazione della richiesta Content-Encoding.

Content-Language

Questa intestazione restituisce il valore specificato per l'intestazione della richiesta Content-Language.

Cache-Control

Questa intestazione viene restituita se è stata specificata in precedenza per il Blob.

Content-Disposition

Restituita per le richieste effettuate nella versione 2013-08-15 e successive. Questa intestazione restituisce il valore che era stato specificato per l'intestazione x-ms-blob-content-disposition.

Il campo di intestazione di risposta Content-Disposition contiene informazioni aggiuntive su come elaborare il payload di risposta e può inoltre essere utilizzato per collegare i metadati aggiuntivi. Ad esempio, se è impostato su attachment, indica che l'agente utente non visualizza la risposta, ma visualizza invece una finestra di dialogo Salva con nome con un nome di file diverso da quello del BLOB specificato.

x-ms-blob-sequence-number

Numero di sequenza corrente per un Blob di pagine.

Questa intestazione non viene restituita per i Blob in blocchi.

x-ms-blob-type: <BlockBlob,PageBlob>

Restituisce il tipo di Blob.

x-ms-copy-completion-time:<datetime>

Versione 2012-02-12 e successive. Ora di fine dell'operazione Copy Blob tentata per ultima in cui questo Blob è il Blob di destinazione. Questo valore può specificare l'ora di un tentativo di copia completato, interrotto o non riuscito. Questa intestazione non compare se una copia è in sospeso, se questo Blob non è mai stato la destinazione in un'operazione Copy Blob o se è stato modificato dopo un'operazione Copy Blob completata utilizzando Set Blob Properties, Put Blob o Put Block List.

x-ms-copy-status-description: <error string>

Versione 2012-02-12 e successive. Compare solo se x-ms-copy-status è failed o pending. Descrive la causa dell'ultimo errore di copia irreversibile o non. Questa intestazione non compare se questo Blob non è mai stato la destinazione in un'operazione Copy Blob o se è stato modificato dopo un'operazione Copy Blob completata utilizzando Set Blob Properties, Put Blob o Put Block List.

x-ms-copy-id: <id>

Versione 2012-02-12 e successive. Identificatore di stringa per l'operazione Copy Blob tentata per ultima in cui questo Blob è il Blob di destinazione. Questa intestazione non compare se questo Blob non è mai stato la destinazione in un'operazione Copy Blob o se è stato modificato dopo un'operazione Copy Blob completata utilizzando Set Blob Properties, Put Blob o Put Block List.

x-ms-copy-progress: <bytes copied/bytes total>

Versione 2012-02-12 e successive. Contiene il numero di byte copiati e il numero totale di byte nell'origine nell'operazione Copy Blob tentata per ultima in cui questo Blob è il Blob di destinazione. Valore che può essere compreso tra 0 e Content-Length byte copiati. Questa intestazione non compare se questo Blob non è mai stato la destinazione in un'operazione Copy Blob o se è stato modificato dopo un'operazione Copy Blob completata utilizzando Set Blob Properties, Put Blob o Put Block List.

x-ms-copy-source: url

Versione 2012-02-12 e successive. URL di lunghezza massima pari a 2 KB che specifica il file o il Blob di origine utilizzato nell'operazione Copy Blob tentata per ultima in cui questo Blob è il Blob di destinazione. Questa intestazione non compare se questo Blob non è mai stato la destinazione in un'operazione Copy Blob o se è stato modificato dopo un'operazione Copy Blob completata utilizzando Set Blob Properties, Put Blob o Put Block List.

x-ms-copy-status: <pending | success | aborted | failed>

Versione 2012-02-12 e successive. Stato dell'operazione di copia identificata da x-ms-copy-id, con questi valori:

  • success: copia completata correttamente.

  • pending: copia in corso. Controllare x-ms-copy-status-description se intermittente. Gli errori non irreversibili rallentano l'avanzamento della copia, ma non ne causano l'esito negativo.

  • aborted: copia terminata da Abort Blob Copy.

  • failed: copia non riuscita. Vedere x-ms-copy-status-description per informazioni dettagliate sugli errori.

Questa intestazione non compare se questo Blob non è mai stato la destinazione in un'operazione Copy Blob o se è stato modificato dopo un'operazione Copy Blob completata utilizzando Set Blob Properties, Put Blob o Put Block List.

x-ms-lease-duration: <infinite | fixed>

Versione 2012-02-12 e successive. Quando un lease è associato a un Blob, specifica se il lease è di durata infinita o fissa.

x-ms-lease-state: <available | leased | expired | breaking | broken>

Versione 2012-02-12 e successive. Stato del lease del Blob.

x-ms-lease-status:<locked, unlocked>

Stato del lease corrente del Blob.

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 altre informazioni, vedere Risoluzione dei problemi relativi alle operazioni dell'API.

x-ms-version

Indica la versione del servizio Blob utilizzata per eseguire la richiesta. Incluso per le richieste effettuate utilizzando la versione 2009-09-19 e successive.

Questa intestazione viene restituita anche per le richieste anonime senza una versione specificata se il contenitore è stato contrassegnato per l'accesso pubblico utilizzando la versione 2009-09-19 del servizio Blob.

Accept-Ranges: bytes

Indica che il servizio supporta le richieste di contenuto parziale del Blob. Incluso per le richieste effettuate utilizzando la versione 2011-08-18 e successive e per il servizio di archiviazione locale in SDK 1.6 o versioni successive.

Date

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

Access-Control-Allow-Origin

Restituito se la richiesta include un'intestazione Origin e la condivisione CORS è abilitata con una regola di corrispondenza. Questa intestazione restituisce il valore dell'intestazione della richiesta di origine nel caso di una corrispondenza.

Access-Control-Expose-Headers

Restituito se la richiesta include un'intestazione Origin e la condivisione CORS è abilitata con una regola di corrispondenza. Restituisce l'elenco delle intestazioni di risposta che devono essere esposte al client o all'emittente della richiesta.

Vary

Restituito con il valore dell'intestazione Origin quando sono specificate le regole CORS. Per informazioni dettagliate, vedere Supporto della condivisione delle risorse tra le origini (CORS) per i servizi di archiviazione Azure.

Access-Control-Allow-Credentials

Restituito se la richiesta include un'intestazione Origin e la condivisione CORS è abilitata con una regola di corrispondenza che non ammette tutte le origini. Questa intestazione sarà impostata su True.

Il corpo della risposta contiene il contenuto del Blob.

Status Response:
HTTP/1.1 200 OK

Response Headers:
x-ms-blob-type: BlockBlob
x-ms-lease-status: unlocked
x-ms-lease-state: available
x-ms-meta-m1: v1
x-ms-meta-m2: v2
Content-Length: 11
Content-Type: text/plain; charset=UTF-8
Date: Wed, 23 Oct 2013 22:49:18 GMT
ETag: "0x8CB171DBEAD6A6B"
Vary: Origin
Last-Modified: Wed, 23 Oct 2013 22:48:29 GMT
x-ms-version: 2013-08-15
Server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0

Se l'elenco di controllo di accesso del contenitore è impostato per consentire l'accesso anonimo al Blob, qualsiasi client può chiamare questa operazione. Se il contenitore è privato, questa operazione può essere eseguita dal proprietario dell'account e da qualsiasi utente che utilizza una firma di accesso condiviso con l'autorizzazione di lettura per il Blob.

Per un Blob di pagine, un'operazione Get Blob eseguita su un intervallo di pagine che non contengono ancora contenuto o che sono state cancellate restituisce zero per questi byte.

Se si chiama Get Blob in un Blob di pagine senza un intervallo specificato, il servizio restituisce l'intervallo di pagine fino al valore specificato per l'intestazione x-ms-blob-content-length. Per le pagine prive di contenuto, il servizio restituisce zeri per questi byte.

A un'operazione Get Blob vengono concessi 2 minuti per MB. Se in media l'operazione richiede più di 2 minuti per megabyte, si verifica un timeout.

L'intestazione x-ms-version è necessaria per recuperare un Blob che appartiene a un contenitore privato. Se il Blob appartiene a un contenitore disponibile per l'accesso pubblico completo o parziale, qualsiasi client può leggerlo senza specificare la versione. La versione del servizio non è necessaria per recuperare un Blob che appartiene a un contenitore pubblico. Per altre informazioni, vedere Limitare l'accesso a contenitori e Blob.

Operazioni di copia

Per determinare se un'operazione Copy Blob è stata completata, verificare che il valore dell'intestazione x-ms-copy-id del Blob di destinazione corrisponda all'ID copia specificato nella chiamata originale a Copy Blob. Una corrispondenza assicura che un'altra applicazione non interrompa la copia e avvii una nuova operazione Copy Blob. Verificare la presenza dell'intestazione x-ms-copy-status: success. Tenere presente, tuttavia, che tutte le operazioni di scrittura su un Blob ad eccezione di Lease, Put Page e Put Block, comportano la rimozione di tutte le proprietà x-ms-copy-* dal Blob. Queste proprietà non vengono copiate dalle operazioni Copy Blob che utilizzano le versioni precedenti alla 2012-02-12.

Quando x-ms-copy-status: failed compare nella risposta, x-ms-copy-status-description contiene informazioni aggiuntive sull'errore di Copy Blob.

Nella tabella seguente vengono descritti i tre campi di ogni valore x-ms-copy-status-description.

 

Componente Descrizione

Codice di stato HTTP

Numero intero a tre cifre standard che specifica l'errore.

Codice di errore

Parola chiave che descrive l'errore fornita da Azure nell'elemento <ErrorCode>. Se non è presente alcun elemento <ErrorCode>, viene utilizzata una parola chiave contenente il testo dell'errore standard associato al codice di stato HTTP a tre cifre nella specifica HTTP. Vedere Codici di errore comuni dell'API REST.

Informazioni

Descrizione dettagliata dell'errore, tra virgolette.

Nella tabella seguente vengono descritti i valori x-ms-copy-status e x-ms-copy-status-description degli scenari di errore comuni.

ImportantImportante
Il testo descrittivo mostrato qui può cambiare senza preavviso, anche se la versione non cambia, pertanto non cercare una corrispondenza esatta con questo testo.

 

Scenario valore di x-ms-copy-status valore di x-ms-copy-status-description

Operazione di copia completata correttamente.

esito positivo

vuoto

Operazione di copia interrotta dall'utente prima che venga completata.

aborted

vuoto

Si è verificato un errore durante la lettura dal Blob di origine durante un'operazione di copia, ma verrà effettuato un altro tentativo.

in sospeso

502 Gateway non valido "Errore non irreversibile durante la lettura dell'origine. Verrà effettuato un altro tentativo. Ora dell'errore: <time>"

Si è verificato un errore durante la scrittura nel Blob di destinazione di un'operazione di copia, ma verrà effettuato un altro tentativo.

in sospeso

500 InternalServerError "Errore non irreversibile. Verrà effettuato un altro tentativo. Ora dell'errore: <time>"

Si è verificato un errore irreversibile durante la lettura dal Blob di origine di un'operazione di copia.

non riuscito

404 ResourceNotFound "Copia non riuscita durante la lettura dell'origine".

noteNota
Quando viene segnalato questo errore sottostante, viene restituito ResourceNotFound nell'elenco <ErrorCode>. Se nella risposta non compare alcun elemento <ErrorCode>, viene visualizzata una rappresentazione in forma di stringa standard dello stato HTTP come NotFound.

Il periodo di timeout che limita tutte le operazioni di copia è trascorso. (Il periodo di timeout è attualmente 2 settimane.)

non riuscito

500 OperationCancelled "La copia ha superato il tempo massimo consentito".

Si sono verificati troppi errori durante la lettura dall'origine, pertanto non è stato raggiunto un rapporto minimo di tentativi rispetto alle operazioni completate. (Questo timeout impedisce di effettuare nuovi tentativi su un'origine di scarsa qualità per più di 2 settimane prima di restituire un errore).

non riuscito

500 OperationCancelled "Copia non riuscita durante la lettura dell'origine".

Il documento è risultato utile?
(1500 caratteri rimanenti)
Grazie per i commenti inviati.
Mostra:
© 2015 Microsoft