Condividi tramite


Elencare i BLOB

L'operazione List Blobs restituisce un elenco dei BLOB nel contenitore specificato.

Richiesta

È possibile costruire la richiesta di List Blobs come indicato di seguito. È consigliabile usare 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

URI del servizio di archiviazione emulato

Quando si effettua una richiesta per il servizio di archiviazione emulato, specificare il nome host dell'emulatore e la porta di archiviazione BLOB di Azure come 127.0.0.1:10000, seguiti 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 altre informazioni, vedere Usare l'emulatore Azurite per lo sviluppo di Archiviazione di Azure locale.

Parametri URI

È possibile specificare i parametri aggiuntivi seguenti nell'URI.

Parametro Descrizione
prefix Opzionale. Filtra i risultati per restituire solo i BLOB con nomi che iniziano con il prefisso specificato. Negli account con uno spazio dei nomi gerarchico, si verificherà un errore nei casi in cui il nome di un file viene visualizzato al centro del percorso del prefisso. Ad esempio, è possibile tentare di trovare i BLOB denominati readmefile.txt utilizzando il percorso folder1/folder2/readme/readmefile.txtdel prefisso. Verrà visualizzato un errore se una sottocartella contiene un file denominato readme.
delimiter Opzionale. Quando la richiesta include questo parametro, l'operazione restituisce un BlobPrefix elemento nel corpo della risposta. Questo elemento funge da segnaposto per tutti i BLOB con nomi che iniziano con la stessa sottostringa, fino all'aspetto del carattere delimitatore. Il delimitatore può essere un singolo carattere o una stringa.
marker Opzionale. Valore stringa che identifica la parte dell'elenco da restituire con l'operazione di elenco successiva. L'operazione restituisce un valore marcatore all'interno del corpo della risposta se l'elenco restituito non è stato completato. È quindi possibile usare il valore del marcatore in una chiamata successiva per richiedere il set successivo di elementi di elenco.

Il valore dell'indicatore è opaco per il client.
maxresults Opzionale. Specifica il numero massimo di BLOB da restituire, inclusi tutti gli BlobPrefix elementi. Se la richiesta non specifica maxresultso specifica un valore maggiore di 5.000, il server restituirà fino a 5.000 elementi. Se sono presenti risultati aggiuntivi da restituire, il servizio restituisce un token di continuazione nell'elemento response NextMarker . In alcuni casi, il servizio potrebbe restituire un numero di risultati inferiore a quello specificato da maxresultse restituire anche un token di continuazione.

Se si imposta maxresults su un valore minore o uguale a zero, viene restituito il codice di risposta di errore 400 (richiesta non valida).
include={snapshots,metadata,uncommittedblobs,copy,deleted,tags,versions,
deletedwithversions,immutabilitypolicy,legalhold,permissions}
Opzionale. 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 del BLOB devono essere restituiti nella risposta.
- uncommittedblobs: specifica che i BLOB per i quali sono stati caricati i blocchi, ma di cui non è stato eseguito il commit usando Put Block List, devono essere inclusi nella risposta.
- copy: Versione 2012-02-12 e successive. Specifica che i metadati relativi a qualsiasi operazione corrente o precedente Copy Blob devono essere inclusi nella risposta.
- deleted: Versione 2017-07-29 e successive. Specifica che i BLOB eliminati soft devono essere inclusi nella risposta.
- tags: Versione 2019-12-12 e successive. Specifica che i tag di indice BLOB definiti dall'utente devono essere inclusi nella risposta.
- versions: Versione 2019-12-12 e successive. Specifica che le versioni dei BLOB devono essere incluse nell'enumerazione .
- deletedwithversions: Versione 2020-10-02 e successive. Specifica che i BLOB eliminati con qualsiasi versione (attiva o eliminata) devono essere inclusi nella risposta. Gli elementi eliminati definitivamente vengono visualizzati nella risposta fino a quando non vengono elaborati da Garbage Collection. Utilizzare il tag \<HasVersionsOnly\>e il valore true.
- immutabilitypolicy: Versione 2020-06-12 e successive. Specifica che l'enumerazione deve includere i criteri di immutabilità fino alla data e la modalità dei criteri di immutabilità dei BLOB.
- legalhold: Versione 2020-06-12 e successive. Specifica che l'enumerazione deve includere il blocco legale dei BLOB.
- permissions: Versione 2020-06-12 e successive. Supportato solo per gli account con uno spazio dei nomi gerarchico abilitato. Se una richiesta include questo parametro, il proprietario, il gruppo, le autorizzazioni e l'elenco di controllo di accesso per i BLOB o le directory elencati verranno inclusi nell'enumerazione .

Per specificare più di una di queste opzioni nell'URI, è necessario separare ogni opzione con una virgola con codifica URL ("%82").
showonly={deleted,files,directories} Opzionale. Specifica uno di questi set di dati da restituire nella risposta:

- deleted:Opzionale. Versione 2020-08-04 e successive. Solo per gli account abilitati con lo spazio dei nomi gerarchico. Quando una richiesta include questo parametro, l'elenco contiene solo BLOB eliminati soft.When a request includes this parameter, the list only contains soft-deleted blobs. Si noti che il fallback dell'autorizzazione ACL POSIX non è supportato per elencare i BLOB eliminati soft. Se include=deleted viene specificato anche, la richiesta ha esito negativo con Richiesta non valida (400).
- files:Opzionale. Versione 2020-12-06 e successive. Solo per gli account abilitati con lo spazio dei nomi gerarchico. Quando una richiesta include questo parametro, l'elenco contiene solo file.
- directories:Opzionale. Versione 2020-12-06 e successive. Solo per gli account abilitati con lo spazio dei nomi gerarchico. Quando una richiesta include questo parametro, l'elenco contiene solo directory.
timeout Opzionale. Il parametro timeout è espresso in secondi. Per altre informazioni, vedere Impostazione dei timeout per le operazioni di archiviazione BLOB.

Intestazioni della richiesta

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

Intestazione della 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 o 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 Obbligatorio per tutte le richieste autorizzate e facoltativo 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.
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. Per altre informazioni, vedere Monitorare l'archiviazione BLOB di Azure.
x-ms-upn Opzionale. Valido solo quando uno spazio dei nomi gerarchico è abilitato per l'account e include=permissions viene fornito nella richiesta. Se true, i valori dell'identità <utente restituiti nei campi Proprietario>, <Gruppo> e <ACL> vengono trasformati da ID oggetto Microsoft Entra a nomi dell'entità utente. Se false, i valori vengono restituiti come ID oggetto Microsoft Entra. Il valore predefinito è false. Si noti che gli ID oggetto gruppo e applicazione non vengono tradotti perché non hanno nomi descrittivi univoci.

Corpo della richiesta

Nessuno.

Richiesta di esempio

Vedere Enumerazione delle risorse BLOB per una richiesta di esempio.

Risposta

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

Codice di stato

Un'operazione riuscita restituisce il codice di stato 200 (OK). Per 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 .

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 usata per la risoluzione dei problemi della richiesta. Per altre informazioni, vedere Risoluzione dei problemi delle operazioni API.
x-ms-version Indica la versione dell'archiviazione BLOB usata per eseguire la richiesta. Questa intestazione viene restituita per le richieste effettuate usando 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 usando la versione 2009-09-19 di Archiviazione BLOB.
Date Valore di data/ora UTC che indica l'ora in cui è stata avviata la risposta. Il servizio genera questo valore.
x-ms-client-request-id È possibile usare questa intestazione 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. Il valore è al massimo 1024 caratteri ASCII visibili. Se l'intestazione x-ms-client-request-id non è presente nella richiesta, questa intestazione non sarà presente nella risposta.

Corpo della risposta

Il formato della risposta XML è il seguente.

Si noti che gli Prefixelementi , Marker, MaxResultse e Delimiter sono presenti solo se sono stati specificati nell'URI della richiesta. Se NextMarker è vuoto, i risultati dell'elenco sono completi. Se non è vuoto, i risultati dell'elenco NextMarker potrebbero essere completi o meno. Se si desidera elencare tutti i BLOB, continuare a chiamare List Blobs con i valori dei marcatori successivi fino a quando non NextMarker è vuoto.

Gli snapshot, i metadati BLOB e i BLOB di cui non è stato eseguito il commit sono inclusi nella risposta solo se sono 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 Properties elemento.

A partire dalla versione 2009-09-19, List Blobs restituisce i seguenti elementi rinominati nel corpo della risposta:

  • Last-Modified (in precedenza LastModified)

  • Content-Length (in precedenza Size)

  • Content-Type (in precedenza ContentType)

  • Content-Encoding (in precedenza ContentEncoding)

  • Content-Language (in precedenza ContentLanguage)

L'elemento Content-MD5 viene visualizzato per i BLOB creati con la versione 2009-09-19 e successive. Nella versione 2012-02-12 e successive, l'archiviazione BLOB calcola il Content-MD5 valore quando si carica un BLOB usando Put Blob. L'archiviazione BLOB non calcola questa condizione quando si crea un BLOB usando Put Block List. È possibile impostare in modo esplicito il Content-MD5 valore quando si crea il BLOB oppure chiamando le operazioni Put Block List o Set Blob Properties .

Per le versioni dal 2009-09-19 e successive, ma precedenti alla versione 2015-02-21, non è possibile chiamare List Blobs un contenitore che include BLOB di accodamento. Il servizio restituisce il codice di stato 409 (Conflitto) se il risultato dell'elenco contiene un BLOB di accodamento.

LeaseState e LeaseDuration appaiono solo nella versione 2012-02-12 e successive.

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

Nella versione 2013-08-15 e successive l'elemento EnumerationResults contiene un ServiceEndpoint attributo che specifica l'endpoint del BLOB. Questo elemento contiene anche un ContainerName campo che specifica il nome del contenitore. Nelle versioni precedenti, questi due attributi venivano combinati insieme sul ContainerName campo. Anche nella versione 2013-08-15 e successive, l'elemento Url sottostante Blob è stato rimosso.

Per la versione 2015-02-21 e successive, List Blobs restituisce BLOB di tutti i tipi (BLOB in blocchi, di pagina e di accodamento).

Per la versione 2015-12-11 e successive, List Blobs restituisce l'elemento ServerEncrypted . Questo elemento è impostato se true i metadati del BLOB e dell'applicazione sono completamente crittografati e false in caso contrario.

Per la versione 2016-05-31 e successive, List Blobs restituisce l'elemento IncrementalCopy per i BLOB e gli snapshot di copia incrementali, con il valore impostato su true.

Per la versione 2017-04-17 e successive, List Blobs restituisce l'elemento AccessTier se è stato impostato in modo esplicito un livello di accesso. Per un elenco dei livelli BLOB di pagine Premium consentiti, vedere Archiviazione Premium ad alte prestazioni e dischi gestiti per le macchine virtuali. Per l'archiviazione BLOB o gli account per utilizzo generico v2, i valori validi sono Hot, Cool, e Archive. Se il BLOB si trova nello stato di reidratazione in sospeso, ArchiveStatus l'elemento viene restituito con uno dei valori validi (rehydrate-pending-to-hot, rehydrate-pending-to-coolo rehydrate-pending-to-cold). Per informazioni dettagliate sulla suddivisione in livelli dei BLOB in blocchi, vedere Livelli di archiviazione ad accesso frequente, sporadico e archivio.

Per la versione 2017-04-17 e successive, List Blobs restituisce l'elemento nell'archiviazione AccessTierInferred BLOB o negli account per utilizzo generico v2. Se il BLOB in blocchi non ha il livello di accesso impostato, le informazioni sul livello vengono dedotte dalle proprietà dell'account di archiviazione e questo valore è impostato su true. Questa intestazione è presente solo se il livello viene dedotto dalla proprietà dell'account.

Per la versione 2017-04-17 e successive, List Blobs restituisce l'elemento nell'archiviazione AccessTierChangeTime BLOB o negli account per utilizzo generico v2. Viene restituito solo se il livello nel BLOB in blocchi è mai stato impostato. Per altre informazioni, vedere Rappresentazione dei valori di data e ora nelle intestazioni.

Per la versione 2017-07-29 e successive, Deleted, DeletedTime, e RemainingRetentionDays vengono visualizzati quando questa operazione include il include={deleted} parametro. Questi elementi non vengono visualizzati se questo BLOB non è stato eliminato. Questi elementi vengono visualizzati per i BLOB o gli snapshot eliminati con l'operazione DELETE , quando è stata abilitata la funzionalità di eliminazione temporanea. L'elemento Deleted è impostato su true per i BLOB e gli snapshot eliminati temporaneamente. Deleted-Time Corrisponde all'ora in cui il BLOB è stato eliminato. RemainingRetentionDays Indica il numero di giorni dopo i quali un BLOB eliminato temporaneamente viene eliminato definitivamente.

Per la versione 2017-11-09 e successive, Creation-Time restituisce l'ora in cui è stato creato questo BLOB.

Per la versione 2019-02-02 e successive, List Blobs restituisce l'elemento CustomerProvidedKeySha256 se il BLOB è crittografato con una chiave fornita dal cliente. Il valore verrà impostato sull'hash SHA-256 della chiave usata per crittografare il BLOB. Inoltre, se l'operazione include il include={metadata} parametro e sono presenti metadati dell'applicazione in un BLOB crittografato con una chiave fornita dal cliente, l'elemento Metadata avrà un Encrypted="true" attributo. Questo attributo indica che il BLOB dispone di metadati che non possono essere decrittografati come parte dell'operazione List Blobs . Per accedere ai metadati per questi BLOB, chiamare Get Blob Properties o Get Blob Metadata con la chiave fornita dal cliente.

Per la versione 2019-02-02 e successive, List Blobs restituisce l'elemento EncryptionScope se il BLOB è crittografato con un ambito di crittografia. Il valore verrà impostato sul nome dell'ambito di crittografia usato per crittografare il BLOB. Se l'operazione include il include={metadata} parametro, i metadati dell'applicazione nel BLOB vengono decrittografati in modo trasparente e disponibili nell'elemento Metadata .

Per la versione 2019-12-12 e successive, List Blobs restituisce l'elemento nell'archiviazione RehydratePriority BLOB o negli account per utilizzo generico v2, se l'oggetto rehydrate pending si trova nello stato. I valori validi sono High e Standard.

Per la versione 2019-12-12 e successive, List Blobs restituisce l'elemento VersionId per i BLOB e le versioni dei BLOB generati, quando il controllo delle versioni è abilitato nell'account.

Per la versione 2019-12-12 e successive, List Blobs restituisce l'elemento IsCurrentVersion per la versione corrente del BLOB. Il valore è impostato su true. Questo elemento consente di distinguere la versione corrente dalle versioni generate automaticamente in sola lettura.

Per la versione 2019-12-12 e successive, List Blobs restituisce l'elemento TagCount per i BLOB con eventuali tag. L'elemento Tags viene visualizzato solo quando questa operazione include il include={tags} parametro. Questi elementi non vengono visualizzati se non sono presenti tag nel BLOB.

Per la versione 2019-12-12 e successive, List Blobs restituisce l'elemento per i Sealed BLOB di accodamento. L'elemento Sealed viene visualizzato solo quando il BLOB di accodamento è stato sealed. Questi elementi non vengono visualizzati se il BLOB di accodamento non è sealed.

Per la versione 2020-02-10 e successive, List Blobs restituisce l'elemento LastAccessTime . L'elemento mostra quando è stato eseguito l'ultimo accesso ai dati del BLOB, in base ai criteri di rilevamento dell'ora dell'ultimo accesso dell'account di archiviazione. L'elemento non viene restituito se l'account di archiviazione non ha questo criterio o se il criterio è disabilitato. Per informazioni sull'impostazione dei criteri di verifica dell'ora dell'ultimo accesso dell'account, vedere l'API del servizio BLOB. L'elemento LastAccessTime non tiene traccia dell'ultima volta in cui si accede ai metadati del BLOB.

Per la versione 2020-06-12 e successive, List Blobs restituisce gli ImmutabilityPolicyUntilDate elementi and ImmutabilityPolicyMode , quando questa operazione include il include={immutabilitypolicy} parametro.

Per la versione 2020-06-12 e successive, List Blobs restituisce l'elemento LegalHold , quando questa operazione include il include={legalhold} parametro.

Per la versione 2020-06-12 e successive, per gli account con uno spazio dei nomi gerarchico abilitato, List Blobs restituisce gli Ownerelementi , Group, Permissions, e Acl . La richiesta deve contenere il include={permissions} parametro. Si noti che l'elemento Acl è un elenco combinato di elenchi di controllo di accesso e di accesso predefiniti impostati nel file o nella directory.

Per la versione 2020-06-12 e successive, per gli account con uno spazio dei nomi gerarchico abilitato, List Blobs con un delimitatore restituisce l'elemento Properties nell'elemento BlobPrefix . Corrisponde alle proprietà della directory.

Per la versione 2020-08-04 e successive, per gli account con uno spazio dei nomi gerarchico abilitato, List Blobs restituisce l'elemento per i DeletionId BLOB eliminati. DeletionId è un identificatore a 64 bit senza segno. L'elemento identifica in modo univoco un percorso eliminato temporaneamente, per distinguerlo da altri BLOB eliminati con lo stesso percorso.

Per la versione 2020-10-02 e successive, per gli account con uno spazio dei nomi gerarchico abilitato, List Blobs restituisce l'elemento ResourceType proprietà per il percorso. Può trattarsi di file o directory.

Per la versione 2021-02-12 e successive, List Blobs verranno codificati in percentuale (in base a RFC 2396) tutti i BlobName valori o BlobPrefixName gli elementi. In particolare, questa operazione verrà eseguita per i valori che contengono caratteri non validi in XML (U+FFFE o U+FFFFFF). Se codificato, l'elemento Name includerà un attributo Encoded=true. Si noti che ciò si verifica solo per i valori degli Name elementi contenenti i caratteri non validi in XML, non per gli elementi rimanenti Name nella risposta.

Per la versione 2021-06-08 e successive, per gli account con uno spazio dei nomi gerarchico abilitato, List Blobs restituisce l'elemento Placeholder properties. Restituisce questo elemento nell'elemento per le BlobPrefix directory segnaposto, quando elenca i BLOB eliminati con un delimitatore. Queste directory segnaposto esistono per facilitare la navigazione ai BLOB eliminati soft.These placeholder directories exist to facilitate navigation to soft-deleted blobs.

Per la versione 2021-06-08 e successive, per gli account con uno spazio dei nomi gerarchico abilitato, List Blobs restituisce l'elemento EncryptionContext . Se il valore della proprietà del contesto di crittografia è impostato, restituirà il valore impostato.

Per la versione 2020-02-10 e successive, per gli account con uno spazio dei nomi gerarchico abilitato, List Blobs restituisce l'elemento per i Expiry-Time BLOB eliminati. Expiry-Time è l'ora in cui il file scadrà e viene restituito per il file se la scadenza è impostata sullo stesso.

<?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>  
      <VersionId>date-time-vlue</VersionId>
      <IsCurrentVersion>true</IsCurrentVersion>
      <Deleted>true</Deleted>
      <Properties> 
        <Creation-Time>date-time-value</Creation-Time>
        <Last-Modified>date-time-value</Last-Modified>  
        <Etag>etag</Etag>
        <Owner>owner user id</Owner>
        <Group>owning group id</Group>
        <Permissions>permission string</Permissions>
        <Acl>access control list</Acl>
        <ResourceType>file | directory</ResourceType>
        <Placeholder>true</Placeholder>
        <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>  
        <AccessTier>tier</AccessTier>  
        <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>  
        <ServerEncrypted>true</ServerEncrypted> 
        <CustomerProvidedKeySha256>encryption-key-sha256</CustomerProvidedKeySha256>
        <EncryptionContext>encryption-context</EncryptionContext>
        <EncryptionScope>encryption-scope-name</EncryptionScope>
        <IncrementalCopy>true</IncrementalCopy>
        <AccessTierInferred>true</AccessTierInferred>
        <AccessTierChangeTime>datetime</AccessTierChangeTime>
        <DeletedTime>datetime</DeletedTime>
        <RemainingRetentionDays>no-of-days</RemainingRetentionDays>
        <TagCount>number of tags between 1 to 10</TagCount>
        <RehydratePriority>rehydrate priority</RehydratePriority>
        <Expiry-Time>date-time-value</Expiry-Time>
      </Properties>  
      <Metadata>     
        <Name>value</Name>  
      </Metadata>  
      <Tags>
          <TagSet>
              <Tag>
                  <Key>TagName</Key>
                  <Value>TagValue</Value>
              </Tag>
          </TagSet>
      </Tags>
      <OrMetadata />
    </Blob>  
    <BlobPrefix>  
      <Name>blob-prefix</Name>  
    </BlobPrefix>  
  </Blobs>  
  <NextMarker />  
</EnumerationResults>  

Risposta di esempio

Per una risposta di esempio, vedere Enumerazione delle risorse BLOB .

Autorizzazione

L'autorizzazione è necessaria quando si chiama un'operazione di accesso ai dati in Archiviazione di Azure. È possibile autorizzare l'operazione di List Blobs come descritto di seguito.

Importante

Microsoft consiglia di usare l'ID Microsoft Entra con identità gestite per autorizzare le richieste ad Archiviazione di Azure. Microsoft Entra ID offre maggiore sicurezza e facilità d'uso rispetto all'autorizzazione con chiave condivisa.

Archiviazione di Azure supporta l'uso di Microsoft Entra ID per autorizzare le richieste ai dati BLOB. Con Microsoft Entra ID è possibile usare il controllo degli accessi in base al ruolo di Azure per concedere le autorizzazioni a un'entità di sicurezza. L'entità di sicurezza può essere un utente, un gruppo, un'entità servizio applicazione o un'identità gestita di Azure. L'entità di sicurezza viene autenticata da Microsoft Entra ID per restituire un token OAuth 2.0. Il token può quindi essere usato per autorizzare una richiesta sul servizio BLOB.

Per altre informazioni sull'autorizzazione con Microsoft Entra ID, vedere Autorizzare l'accesso ai BLOB usando Microsoft Entra ID.

Autorizzazioni

Di seguito è riportata l'azione controllo degli accessi in base al ruolo necessaria per un utente, un gruppo, un'identità gestita o un'entità servizio di Microsoft Entra per chiamare l'operazione di List Blobs e il ruolo controllo degli accessi in base al ruolo di Azure con privilegi minimi che include questa azione:

Se si specifica include=tags:

Per altre informazioni sull'assegnazione dei ruoli tramite il controllo degli accessi in base al ruolo di Azure, vedere Assegnare un ruolo di Azure per l'accesso ai dati BLOB.

Osservazioni

Proprietà del BLOB nella risposta

Se è stato richiesto che i BLOB non inviati vengano inclusi nell'enumerazione , si noti che alcune proprietà non vengono impostate finché non viene eseguito il commit del BLOB. Alcune proprietà potrebbero non essere restituite nella risposta.

L'elemento x-ms-blob-sequence-number viene restituito solo per i BLOB di pagine.

L'elemento OrMetadata viene restituito solo per i BLOB in blocchi.

Per i BLOB di pagine, il valore restituito nell'elemento Content-Length corrisponde al valore dell'intestazione x-ms-blob-content-length del BLOB.

L'elemento Content-MD5 viene visualizzato nel corpo della risposta, solo se è stato impostato nel BLOB usando la versione 2009-09-19 o successiva. È possibile impostare la Content-MD5 proprietà al momento della creazione del BLOB o chiamando Set Blob Properties. Nella versione 2012-02-12 e successive, Put Blob imposta il valore MD5 di un BLOB in blocchi, anche quando la richiesta non include un'intestazione Put Blob MD5.

Metadati nella risposta

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

Si noti che i metadati richiesti con questo parametro devono essere archiviati in conformità alle restrizioni di denominazione imposte dalla versione 2009-09-19 dell'archiviazione 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 queste restrizioni di denominazione, il corpo della risposta indica il nome problematico all'interno di un x-ms-invalid-name elemento. Il frammento XML seguente mostra quanto segue:

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

Tag nella risposta

L'elemento Tags è presente solo se il include=tags parametro è stato specificato nell'URI e se sono presenti tag nel BLOB. All'interno dell'elemento TagSet vengono restituiti fino a 10 Tag elementi, ognuno contenente la key e value dei tag di indice BLOB definiti dall'utente. L'ordinamento dei tag non è garantito nella risposta.

Gli Tags elementi e TagCount non vengono restituiti se non sono presenti tag nel BLOB.

Il servizio di archiviazione mantiene una coerenza assoluta tra un BLOB e i relativi tag, ma l'indice secondario è infine coerente. I tag possono essere visibili in una risposta a List Blobs prima di essere visibili alle Find Blobs by Tags operazioni.

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 l'elemento LeaseStatus , perché gli snapshot non possono avere lease attivi.

Usando la versione del servizio 2021-06-08 e successive, è possibile chiamare List Blobs con un delimitatore e includere snapshot nell'enumerazione. Per le versioni del servizio precedenti alla versione 2021-06-08, una richiesta che include entrambi restituisce un errore InvalidQueryParameter (codice di stato HTTP 400 - Richiesta non valida).

BLOB di cui non è stato eseguito il commit nella risposta

I BLOB di cui non è stato eseguito il commit vengono elencati nella risposta solo se il include=uncommittedblobs parametro è stato specificato nell'URI. I BLOB non inviati elencati nella risposta non includono gli elementi seguenti:

  • Last-Modified

  • Etag

  • Content-Type

  • Content-Encoding

  • Content-Language

  • Content-MD5

  • Cache-Control

  • Metadata

BLOB eliminati nella risposta

I BLOB eliminati vengono elencati nella risposta solo se il include=deleted parametro è stato specificato nell'URI. I BLOB eliminati elencati nella risposta non includono gli elementi Lease , perché i BLOB eliminati non possono avere lease attivi.

Gli snapshot eliminati vengono inclusi nella risposta dell'elenco se include=deleted,snapshot è stato specificato nell'URI.

Metadati della replica di oggetti nella risposta

L'elemento OrMetadata è presente quando un criterio di replica degli oggetti è stato valutato in un BLOB e la chiamata è stata effettuata usando la List Blobs versione 2019-12-12 o successiva. All'interno dell'elemento OrMetadata , il valore di ogni coppia nome-valore è elencato all'interno di un elemento corrispondente al nome della coppia. Il formato del nome è or-{policy-id}_{rule-id}, dove {policy-id} è un GUID che rappresenta l'identificatore dei criteri di replica degli oggetti nell'account di archiviazione. {rule-id} è un GUID che rappresenta l'identificatore della regola nel contenitore di archiviazione. I valori validi sono complete o failed.

  
…  
<OrMetadata>  
  <or-e524bba7-4323-4b93-91f8-d09d5d0b7057_d86c51de-ef02-4264-bdcf-dcd389a6c7ac>complete</or-e524bba7-4323-4b93-91f8-d09d5d0b7057_d86c51de-ef02-4264-bdcf-dcd389a6c7ac>  
  <or-2b302b5d-fcd5-44d6-a5ed-455bf27e17ea_4a398ff5-2a89-4090-879b-10248f23428e>failed</or-2b302b5d-fcd5-44d6-a5ed-455bf27e17ea_4a398ff5-2a89-4090-879b-10248f23428e>  
</OrMetadata>  
…  
  

Criteri di immutabilità nella risposta

Gli ImmutabilityPolicyUntilDate elementi and ImmutabilityPolicyMode sono presenti solo se il include=immutabilitypolicy parametro è stato specificato nell'URI.

<Properties> 
   <ImmutabilityPolicyUntilDate>date-time-value</ImmutabilityPolicyUntilDate>   
   <ImmutabilityPolicyMode>unlocked | locked </ImmutabilityPolicyMode>  
</Properties> 

L'elemento LegalHold è presente solo se il include=legalhold parametro è stato specificato nell'URI.

<Properties> 
  <LegalHold>true | false </LegalHold>  
</Properties> 

Restituzione di set di risultati usando un valore marcatore

Se si specifica un valore per il maxresults parametro e il numero di BLOB da restituire supera questo valore o supera il valore predefinito per maxresults, il corpo della risposta contiene un NextMarker elemento. Questo elemento indica il BLOB successivo da restituire in una richiesta successiva. In alcuni casi, il servizio potrebbe restituire l'elemento NextMarker anche se il numero di risultati restituiti è inferiore al valore di maxresults.

Per restituire il set di elementi successivo, specificare il valore di NextMarker come parametro marker nell'URI per la richiesta successiva. Si noti che il valore di NextMarker deve essere considerato opaco.

Uso di un delimitatore per attraversare lo spazio dei nomi BLOB

Il delimiter parametro consente al chiamante di attraversare lo spazio dei nomi BLOB usando 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. L'elemento BlobPrefix viene restituito al posto di tutti i blob con nomi che iniziano con la stessa sottostringa, fino all'aspetto del carattere delimitatore. Il valore dell'elemento BlobPrefix è substring+delimitatore, dove substring è la sottostringa comune che inizia uno o più nomi di blob e delimitatore è il delimiter valore del parametro.

È possibile usare il valore di BlobPrefix per effettuare una chiamata successiva per elencare i BLOB che iniziano con questo prefisso. A tale scopo, specificare il valore di BlobPrefix per il prefix parametro nell'URI della richiesta.

Si noti che ogni elemento BlobPrefix restituito conta per il risultato massimo, esattamente come avviee per ogni elemento Blob.

I BLOB sono elencati in ordine alfabetico nel corpo della risposta, con lettere maiuscole elencate per prime. Si noti che per gli account con uno spazio dei nomi gerarchico abilitato, / viene considerato come l'ordinamento più basso. Questa differenza di comportamento è applicabile solo alle inserzioni ricorsive.

Errori di copia nella descrizione dello stato di copia

CopyStatusDescription Contiene ulteriori informazioni sull'errore Copy Blob .

  • Quando un tentativo di copia ha esito negativo, CopyStatus è impostato su pending se l'archiviazione BLOB sta ancora tentando di ripetere l'operazione. Il CopyStatusDescription testo descrive l'errore che potrebbe essersi verificato durante l'ultimo tentativo di copia.

  • Quando CopyStatus è impostato su failed, il CopyStatusDescription testo descrive l'errore che ha causato l'esito negativo dell'operazione di copia.

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

Componente Descrizione
Codice di stato HTTP Intero a tre cifre standard che specifica l'errore.
Codice di errore Parola chiave che descrive l'errore. Viene fornito da Azure nell'elemento <ErrorCode> . Se non viene visualizzato alcun <elemento ErrorCode> , il servizio restituisce una parola chiave contenente il testo di errore standard associato al codice di stato HTTP a tre cifre nella specifica HTTP. Per altre informazioni, vedere Codici di errore comuni dell'API REST.
Informazione Descrizione dettagliata dell'errore, tra virgolette.

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

Importante

Il testo della descrizione illustrato qui può cambiare senza alcun avviso, anche senza alcuna modifica della versione. Non fare affidamento sulla corrispondenza di questo testo esatto.

Sceneggiatura Valore stato copia Valore Descrizione stato copia
Operazione di copia completata. successo vuoto
L'utente ha interrotto l'operazione di copia prima del completamento. Interrotta vuoto
Si è verificato un errore durante la lettura dal BLOB di origine durante un'operazione di copia. L'operazione verrà ritentata. In sospeso 502 BadGateway "Rilevato un errore riprovabile durante la lettura dell'origine. Riprovare. Tempo del fallimento: <tempo>"
Si è verificato un errore durante la scrittura nel BLOB di destinazione di un'operazione di copia. L'operazione verrà ritentata. In sospeso 500 InternalServerError "Rilevato un errore riprovabile. Riprovare. Tempo del fallimento: <tempo>"
Si è verificato un errore irreversibile durante la lettura dal BLOB di origine di un'operazione di copia. fallito 404 ResourceNotFound "Copia non riuscita durante la lettura dell'origine". Quando il servizio segnala questo errore sottostante, viene restituito ResourceNotFound l'elemento <ErrorCode> . Se nella risposta non viene visualizzato alcun <elemento ErrorCode> , viene visualizzata una rappresentazione di stringa standard dello stato HTTP, ad esempio NotFound, .
Periodo di timeout che limita tutte le operazioni di copia trascorse. Il periodo di timeout è attualmente di due settimane. fallito 500 OperationCancelled "La copia ha superato il tempo massimo consentito".
L'operazione di copia non è riuscita troppo spesso durante la lettura dall'origine e non ha soddisfatto un rapporto minimo di tentativi riusciti. Questo timeout impedisce di ritentare un'origine molto scarsa per due settimane prima di non riuscire. fallito 500 OperationCancelled "La copia non è riuscita durante la lettura dell'origine".

Fatturazione

Le richieste di prezzi possono provenire dai client che usano le API di archiviazione BLOB, direttamente tramite l'API REST dell'archiviazione BLOB o da una libreria client di Archiviazione di Azure. Queste richieste accumulano addebiti per transazione. Il tipo di transazione influisce sulla modalità di addebito dell'account. Ad esempio, le transazioni di lettura si accumulano in una categoria di fatturazione diversa rispetto alle transazioni di scrittura. La tabella seguente illustra la categoria di fatturazione per List Blobs richieste in base al tipo di account di archiviazione:

Operazione Tipo di account di archiviazione Categoria di fatturazione
Elencare i BLOB BLOB in blocchi Premium
Standard per utilizzo generico v2
Standard per utilizzo generico v1
Elencare e creare operazioni contenitore

Per informazioni sui prezzi per la categoria di fatturazione specificata, vedere prezzi di Archiviazione BLOB di Azure.

Vedere anche

Stato e codici errore
codici di errore dell'archiviazione BLOB