Elencare i BLOB
Questo articolo è stato tradotto automaticamente. Per visualizzare l'articolo in inglese, selezionare la casella di controllo Inglese. È possibile anche visualizzare il testo inglese in una finestra popup posizionando il puntatore del mouse sopra il testo.
Traduzione
Inglese

Elencare i BLOB

 

Il List Blobs operazione enumera l'elenco dei BLOB nel contenitore specificato.

Il List Blobs richiesta può essere costruita come indicato di seguito. È consigliato HTTPS. Sostituire myaccount con il nome dell'account di archiviazione:

Metodo

URI della richiesta

Versione HTTP

GET

https://myaccount.blob.core.windows.net/mycontainer?restype=container&comp=list

HTTP/1.1

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

Metodo

URI della richiesta

Versione HTTP

GET

http://127.0.0.1:10000/devstoreaccount1/mycontainer?restype=container&comp=list

HTTP/1.1

Per ulteriori informazioni, vedere utilizzando l'emulatore di archiviazione di Azure per lo sviluppo e Testing.

I seguenti parametri aggiuntivi possono essere specificati nell'URI.

Parametro

Descrizione

prefix

Parametro facoltativo. I filtri i risultati vengano restituiti solo i BLOB i cui nomi iniziano con il prefisso specificato.

delimiter

Parametro facoltativo. Quando la richiesta include questo parametro, l'operazione restituisce un BlobPrefix elemento nel corpo della risposta che funge da segnaposto per tutti i BLOB i cui nomi iniziano con la stessa sottostringa fino al carattere delimitatore. Il delimitatore può essere un singolo carattere o una stringa.

marker

Parametro facoltativo. Valore stringa che identifica la parte dell'elenco deve essere restituito con l'operazione elenco successiva. L'operazione restituisce un valore marcatore all'interno del corpo della risposta se l'elenco restituito non è completo. Il valore dell'indicatore può quindi essere usato in una chiamata successiva per richiedere il successivo set di elementi dell'elenco.

Il valore marcatore risulta opaco al client.

maxresults

Parametro facoltativo. Specifica il numero massimo di BLOB da restituire, inclusi tutti BlobPrefix elementi. Se la richiesta non specifica maxresults o specifica un valore maggiore di 5.000, il server restituirà fino a 5.000 elementi.

L'impostazione maxresults del codice su un valore minore o uguale a zero comporterà una risposta di errore 400 (richiesta non valida).

include={snapshots,metadata,uncommittedblobs,copy}

Parametro facoltativo. Specifica uno o più set di dati da includere nella risposta:

  • snapshots: Specifica che gli snapshot devono essere inclusi nell'enumerazione. Gli snapshot vengono elencati dal meno recente al più recente nella risposta.

  • metadata: Specifica che i metadati blob restituito nella risposta.

  • uncommittedblobs: Specifica che i BLOB per quali blocchi sono stati caricati, ma che non è stato eseguito il commit utilizzando PUT Block List, da includere nella risposta.

  • copy: La versione 2012-02-12 e successive. Specifica che i metadati relativi a qualsiasi corrente o precedenti Copy Blob operazione deve essere incluso nella risposta.

Per specificare più di una di queste opzioni nell'URI, è necessario separare ogni opzione con una virgola con codifica URL ("% 82").

timeout

Parametro facoltativo. Il timeout parametro viene espresso in secondi. Per ulteriori informazioni, vedere Impostazione dei 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 di schema di autenticazione, nome dell'account e firma. Per ulteriori informazioni, vedere Autenticazione per i servizi di archiviazione di Azure.

Date o x-ms-date

Obbligatorio. Specifica il tempo universale coordinato (UTC) per la richiesta. Per ulteriori informazioni, vedere Autenticazione per i servizi di archiviazione di Azure.

x-ms-version

Obbligatorio per tutte le richieste autenticate, facoltative per le richieste anonime. Specifica la versione dell'operazione da usare per questa richiesta. Per ulteriori informazioni, vedere Controllo delle versioni per i servizi di archiviazione di Azure.

x-ms-client-request-id

Parametro 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. Uso di questa intestazione è fortemente consigliato per correlazione delle attività lato client con le richieste ricevute dal server. Per ulteriori informazioni, vedere Informazioni sulla registrazione di analisi archiviazione e registrazione di Azure: Uso dei log per tenere traccia delle richieste di archiviazione.

Vedere Enumerazione di risorse Blob per una richiesta di esempio.

La risposta include un codice di stato HTTP, un set di intestazioni di risposta e un corpo della risposta in formato XML.

Un'operazione completata correttamente restituisce il codice di stato 200 (OK).

Per informazioni sui codici di stato, vedere Lo stato e i codici di errore.

La risposta per questa operazione include le intestazioni seguenti. La risposta può inoltre includere intestazioni HTTP standard aggiuntive. Rispettare tutte le intestazioni standard di specifica del protocollo HTTP/1.1.

Intestazione della risposta

Descrizione

Content-Type

Specifica il formato in cui vengono restituiti i risultati. Attualmente questo valore è application/xml.

x-ms-request-id

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

x-ms-version

Indica la versione del servizio Blob utilizzato per eseguire la richiesta. Questa intestazione viene restituita 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.

Date

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

Il formato della risposta XML è come indicato di seguito.

Si noti che il prefisso, marcatore, MaxResults, e delimitatore gli elementi sono presenti solo se sono stati specificati nell'URI della richiesta. Il NextMarker elemento presenta un valore solo se i risultati dell'elenco non sono completi.

Gli snapshot, metadati del blob e i BLOB non salvati vengono inclusi nella risposta solo se sono stati specificati con il include parametro nell'URI della richiesta.

Nella versione 2009-09-19 e successive, le proprietà del blob sono incapsulate all'interno di un proprietà elemento.

Nella versione 2013-08-15 e successive, il EnumerationResults elemento contiene un ServiceEndpoint attributo che specifica l'endpoint blob e un ContainerName campo che specifica il nome del contenitore. Nelle versioni precedenti questi due attributi erano associati insieme nel ContainerName campo. Inoltre, nella versione 2013-08-15 e successive, il Url elemento sotto Blob è stato rimosso.

Per la versione 2015-02-21 e versioni successive, elencare i BLOB restituisce i BLOB di tutti i tipi (blocco, pagina e aggiungere oggetti BLOB).

Per le versioni da 2009-09-19 e successiva ma prima della versione 2015-02-21, la chiamata elencare i BLOB in un contenitore che include Accodamento BLOB avrà esito negativo con codice di stato 409 (FeatureVersionMismatch) se il risultato dell'elenco contiene un blob di Accodamento.

<?xml version="1.0" encoding="utf-8"?>
<EnumerationResults ServiceEndpoint="http://myaccount.blob.core.windows.net/"  ContainerName="mycontainer">
  <Prefix>string-value</Prefix>
  <Marker>string-value</Marker>
  <MaxResults>int-value</MaxResults>
  <Delimiter>string-value</Delimiter>
  <Blobs>
    <Blob>
      <Name>blob-name</name>
      <Snapshot>date-time-value</Snapshot>
      <Properties>
        <Last-Modified>date-time-value</Last-Modified>
        <Etag>etag</Etag>
        <Content-Length>size-in-bytes</Content-Length>
        <Content-Type>blob-content-type</Content-Type>
        <Content-Encoding />
        <Content-Language />
        <Content-MD5 />
        <Cache-Control />
        <x-ms-blob-sequence-number>sequence-number</x-ms-blob-sequence-number>
        <BlobType>BlockBlob|PageBlob|AppendBlob</BlobType>
        <LeaseStatus>locked|unlocked</LeaseStatus>
        <LeaseState>available | leased | expired | breaking | broken</LeaseState>
        <LeaseDuration>infinite | fixed</LeaseDuration>
        <CopyId>id</CopyId>
        <CopyStatus>pending | success | aborted | failed </CopyStatus>
        <CopySource>source url</CopySource>
        <CopyProgress>bytes copied/bytes total</CopyProgress>
        <CopyCompletionTime>datetime</CopyCompletionTime>
        <CopyStatusDescription>error string</CopyStatusDescription>
      </Properties>
      <Metadata>   
        <Name>value</Name>
      </Metadata>
    </Blob>
    <BlobPrefix>
      <Name>blob-prefix</Name>
    </BlobPrefix>
  </Blobs>
  <NextMarker />
</EnumerationResults>

LeaseState e LeaseDuration vengono visualizzati solo nella versione 2012-02-12 e versioni successive.

CopyId, CopyStatus, CopySource, CopyProgress, CopyCompletionTime, e CopyStatusDescription vengono visualizzati solo nella versione 2012-02-12 e successive, quando questa operazione include la include={copy} parametro. Questi elementi non vengono visualizzati se il blob non è mai stato la destinazione in un Copy Blob operazione, o se è stato modificato dopo un concluso Copy Blob operazione utilizzando Set Blob Properties, Put Blob, o Put Block List. Questi elementi anche non vengono visualizzati con un blob creato da Copy Blob prima della versione 2012-02-12.

System_CAPS_noteNota

A partire dalla versione 2009-09-19, List Blobs restituisce quanto segue rinominare gli elementi nel corpo della risposta:

  • Last-Modified (in precedenza LastModified)

  • Content-Length (in precedenza dimensioni)

  • Content-Type (in precedenza ContentType)

  • Content-Encoding (in precedenza ContentEncoding)

  • Content-Language (in precedenza ContentLanguage)

Il Content-MD5 elemento viene visualizzato per i BLOB creati con la versione 2009-09-19 e successive. Nella versione 2012-02-12 e successive, il servizio Blob calcola il Content-MD5 valore quando si carica un blob tramite Put Blob, ma non lo calcola quando si crea un blob tramite PUT Block List. È possibile impostare esplicitamente il Content-MD5 valore quando si crea il blob o chiamando PUT Block List o Set Blob Properties operazioni.

Vedere Enumerazione di risorse Blob per un esempio di risposta.

Se l'elenco di controllo del contenitore accesso (ACL) è impostato per consentire l'accesso anonimo al contenitore, qualsiasi client può chiamare questa operazione. In caso contrario, questa operazione può essere chiamata dal proprietario dell'account e da qualsiasi utente con una firma di accesso condiviso che dispone dell'autorizzazione per elencare i BLOB in un contenitore.

Proprietà del BLOB nella risposta

Se è stato richiesto che i BLOB non salvate per essere incluso nell'enumerazione, si noti che alcune proprietà non sono impostate fino a quando il blob viene eseguito il commit, pertanto alcune proprietà non possono essere restituite nella risposta.

Il x-ms---numero di sequenza blob elemento viene restituito solo per i BLOB di pagine.

BLOB di pagine, il valore restituito nel Content-Length elemento corrisponde al valore del blob x-ms-blob-content-length intestazione.

Il Content-MD5 elemento viene visualizzato nel corpo della risposta solo se è stato impostato sul blob utilizzando la versione 2009-09-19 o successive. È possibile impostare il Content-MD5 proprietà quando il blob viene creato o chiamando Set Blob Properties. Nella versione 2012-02-12 e successive, Put Blob Imposta valore MD5 di un blob in blocchi anche quando il Put Blob richiesta non include un'intestazione MD5.

Metadati nella risposta

Il metadati elemento è presente solo se il include=metadata parametro è stato specificato nell'URI. All'interno di metadati elemento, il valore di ogni coppia nome-valore è elencato in un elemento corrispondente al nome della coppia.

Si noti che i metadati richiesti con questo parametro devono essere archiviati in base alle restrizioni di denominazione imposte dalla versione 2009-09-19 del servizio Blob. A partire da questa versione, tutti i nomi dei metadati devono rispettare le convenzioni di denominazione per gli identificatori c#.

Se una coppia nome-valore dei metadati viola le restrizioni di denominazione imposte dalla versione 2009-09-19, il corpo della risposta indica il nome problematico in un nome-x-ms-valido elemento, come illustrato nel frammento XML seguente:


…
<Metadata>
  <MyMetadata1>first value</MyMetadata1>
  <MyMetadata2>second value</MyMetadata2>
  <x-ms-invalid-name>invalid-metadata-name</x-ms-invalid-name>
</Metadata>
…

Snapshot nella risposta

Gli snapshot vengono elencati nella risposta solo se il include=snapshots parametro è stato specificato nell'URI. Gli snapshot elencati nella risposta non includono il LeaseStatus elemento, come snapshot non può avere lease attivi.

Se si chiama List Blobs con un delimitatore, non è possibile includere gli snapshot nell'enumerazione. Una richiesta che include entrambi restituisce un errore InvalidQueryParameter (codice di stato HTTP 400-richiesta non valida).

BLOB non salvati nella risposta

Commit i BLOB sono elencati nella risposta solo se il include=uncommittedblobs parametro è stato specificato nell'URI. BLOB uncommitted elencati nella risposta non includono nessuno degli elementi seguenti:

  • Ultima modifica

  • ETag

  • Tipo di contenuto

  • Content-Encoding

  • Content-Language

  • Content-MD5

  • Cache-Control

  • Metadati

Restituzione di set di risultati utilizzando un valore di marcatore

Se si specifica un valore per il maxresults parametro e il numero di BLOB da restituire supera questo valore o il valore predefinito per maxresults, il corpo della risposta conterrà un NextMarker elemento che indica il blob successivo da restituire in una richiesta successiva. Per restituire il set successivo di elementi, specificare il valore di NextMarker come parametro marcatore nell'URI per la richiesta successiva.

Si noti che il valore di NextMarker deve essere trattato come opaco.

Utilizzando un delimitatore per attraversare lo spazio dei nomi di Blob

Il delimiter parametro consente al chiamante di attraversare lo spazio dei nomi blob utilizzando un delimitatore configurato dall'utente. In questo modo, è possibile attraversare una gerarchia virtuale di BLOB come se fosse un file system. Il delimitatore può essere un singolo carattere o una stringa. Quando la richiesta include questo parametro, l'operazione restituisce un BlobPrefix elemento. Il BlobPrefix elemento viene restituito al posto di tutti i BLOB i cui nomi iniziano con la stessa sottostringa fino al carattere delimitatore. Il valore della BlobPrefix elemento sottostringa + delimiter, dove sottostringa è comune sottostringa che inizia in uno o più nomi di blob, e delimitatore è il valore del delimitatore parametro.

È possibile utilizzare il valore di BlobPrefix per effettuare una chiamata successiva per elencare i blob che iniziano con questo prefisso, specificando il valore di BlobPrefix per il prefix parametro nell'URI della richiesta.

Si noti che ogni BlobPrefix restituita i conteggi rispetto al risultato massimo, ogni elemento Blob elemento.

I BLOB sono elencati in ordine alfabetico nel corpo della risposta, con lettere maiuscole elencate per prime.

Errori di copia in CopyStatusDescription

CopyStatusDescription contiene ulteriori informazioni sui Copy Blob errore.

  • Quando un tentativo di copia non riesce e il servizio Blob continua a ritentare l'operazione, CopyStatus è impostato su in sospeso, e CopyStatusDescription testo descrive l'errore verificatosi durante l'ultimo tentativo di copia.

  • Quando CopyStatus è impostato su Impossibile, CopyStatusDescription testo descrive l'errore che ha causato l'operazione di copia non riesce.

Nella tabella seguente vengono descritti i tre campi di ogni CopyStatusDescription valore.

Componente

Descrizione

Codice di stato HTTP

Intero a 3 cifre standard che specifica l'errore.

Codice di errore

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

Informazioni

Descrizione dettagliata dell'errore, tra virgolette.

Nella tabella seguente vengono descritti il CopyStatus e CopyStatusDescription valori comuni scenari di errore.

System_CAPS_importantImportante

Il testo descrittivo mostrato qui può cambiare senza preavviso, anche se una modifica della versione, pertanto non fare affidamento sulla corrispondenza esatta con questo testo.

Scenario

Valore di CopyStatus

Valore di CopyStatusDescription

Operazione di copia completata correttamente.

operazione riuscita

vuoto

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

interrotta

vuoto

Si è verificato un errore durante la lettura dal blob di origine durante un'operazione di copia, ma l'operazione verrà ritentata.

in sospeso

502 gateway "errore non irreversibile durante la lettura di origine. Verranno effettuati tentativi. Ora del problema: < ora > "

Si è verificato un errore durante la scrittura nel blob di destinazione di un'operazione di copia, ma l'operazione verrà ritentata.

in sospeso

500 InternalServerError "errore non irreversibile. Verranno effettuati tentativi. Ora del problema: < ora > "

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

non è riuscita

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

System_CAPS_noteNota

Quando si segnalano questo errore sottostante, Azure restituisce ResourceNotFound nell'elemento < ErrorCode >. Se nella risposta non compare alcun elemento < ErrorCode >, uno standard di rappresentazione di stringa di stato HTTP, ad esempio NotFound apparirà.

Il periodo di timeout limitazione copia tutte le operazioni trascorso. (Attualmente il periodo di timeout è 2 settimane).

non è riuscita

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

L'operazione di copia verificati troppi errori durante la lettura dall'origine e non è stato raggiunto un rapporto minimo di tentativi di operazioni riuscite. (Questo timeout impedisce a nuovi tentativi di oltre 2 settimane prima che si verifichi un'origine di scarsa).

non è riuscita

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

Mostra:
© 2016 Microsoft