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, 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 altre informazioni, vedere Usare l'emulatore Azurite per lo sviluppo locale di Archiviazione di Azure.

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 BLOB denominati readmefile.txt usando il percorso del prefisso folder1/folder2/readme/readmefile.txt. Se una sottocartella contiene un file denominato readme, verrà visualizzato un errore.
delimiter Opzionale. Quando la richiesta include questo parametro, l'operazione restituisce un elemento BlobPrefix 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 elementi BlobPrefix. 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 di risposta NextMarker. In alcuni casi, il servizio potrebbe restituire meno risultati rispetto a quanto 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 blocchi, ma che non sono stati sottoposti a commit tramite Put Block List, devono essere inclusi nella risposta.
- copy: versione 2012-02-12 e successive. Specifica che i metadati correlati a qualsiasi operazione di Copy Blob corrente o precedente 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. Usare 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: facoltativo. 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 viene specificato anche include=deleted, la richiesta ha esito negativo con richiesta non valida (400).
- files: facoltativo. 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: facoltativo. 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 identity utente restituiti nei campi>Proprietario <, <Group>e <campi Acl> vengono trasformati dagli ID oggetto Microsoft Entra ai nomi delle 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

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

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 elementi Prefix, Marker, MaxResultse Delimiter sono presenti solo se sono stati specificati nell'URI della richiesta. L'elemento NextMarker ha un valore solo se i risultati dell'elenco non sono completi.

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

Nella versione 2009-09-19 e successive le proprietà del BLOB vengono incapsulate all'interno di un elemento Properties.

A partire dalla versione 2009-09-19, List Blobs restituisce gli elementi rinominati seguenti 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 valore Content-MD5 quando si carica un BLOB usando Put BLOB. L'archiviazione BLOB non calcola questo problema quando si crea un BLOB usando Put Block List. È possibile impostare in modo esplicito il valore di quando si crea il BLOB oppure chiamando l' put block list o impostare le proprietà dei BLOB operazioni.

Per le versioni dalla versione 2009-09-19 e successive, ma prima della versione 2015-02-21, non è possibile chiamare List Blobs in 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 vengono visualizzati solo nella versione 2012-02-12 e successive.

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

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

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

Per la versione 2015-12-11 e successive, List Blobs restituisce l'elemento ServerEncrypted. Questo elemento è impostato su true se i metadati 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 di copia incrementale e gli snapshot, 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 gli account di archiviazione BLOB o per utilizzo generico v2, i valori validi sono Hot, Coole Archive. Se il BLOB si trova nello stato di riattivazione in sospeso, ArchiveStatus 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 BLOB in blocchi, vedere livelli di archiviazione ad accesso frequente, ad accesso sporadico e archivio.

Per la versione 2017-04-17 e successive, List Blobs restituisce l'elemento AccessTierInferred negli account di archiviazione BLOB o per utilizzo generico v2. Se il BLOB in blocchi non dispone del set di livelli di accesso, le informazioni sul livello vengono dedotte dalle proprietà dell'account di archiviazione e questo valore viene 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 AccessTierChangeTime negli account di archiviazione BLOB o 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, DeletedTimee RemainingRetentionDays vengono visualizzati quando questa operazione include il parametro include={deleted}. Questi elementi non vengono visualizzati se questo BLOB non è stato eliminato. Questi elementi vengono visualizzati per BLOB o snapshot eliminati con l'operazione di DELETE, quando è stata abilitata la funzionalità di eliminazione temporanea. L'elemento Deleted è impostato su true per BLOB e snapshot eliminati temporanea. Deleted-Time corrisponde all'ora in cui il BLOB è stato eliminato. RemainingRetentionDays indica il numero di giorni dopo il quale un BLOB eliminato temporaneamente viene eliminato definitivamente.

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

Per la versione 2019-02-02 e successive, List Blobs restituisce l'elemento CustomerProvidedKeySha256 se il BLOB viene 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 parametro include={metadata} e sono presenti metadati dell'applicazione in un BLOB crittografato con una chiave fornita dal cliente, l'elemento Metadata avrà un attributo Encrypted="true". Questo attributo indica che il BLOB ha metadati che non possono essere decrittografati come parte dell'operazione di 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 parametro include={metadata}, 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 RehydratePriority negli account di archiviazione BLOB o per utilizzo generico v2, se l'oggetto si trova nello stato rehydrate pending. 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 blob generate, 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 qualsiasi tag. L'elemento Tags viene visualizzato solo quando questa operazione include il parametro include={tags}. 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 Sealed per i BLOB di accodamento. L'elemento Sealed viene visualizzato solo quando il BLOB di accodamento è stato bloccato. 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 rilevamento 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 elementi ImmutabilityPolicyUntilDate e ImmutabilityPolicyMode, quando questa operazione include il parametro include={immutabilitypolicy}.

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

Per la versione 2020-06-12 e successive, per gli account con uno spazio dei nomi gerarchico abilitato, List Blobs restituisce gli elementi Owner, Group, Permissionse Acl. La richiesta deve contenere il parametro include={permissions}. 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 DeletionId per i 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 della proprietà ResourceType per il percorso. Può essere file o directory.

Per la versione 2021-02-12 e successive, List Blobs codifica percentuale (per RFC 2396) tutti i valori di elemento BlobName o BlobPrefixName. 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 questo si verifica solo per i valori di elemento Name contenenti i caratteri non validi in XML, non per gli elementi Name rimanenti 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 proprietà Placeholder. Restituisce questo elemento nell'elemento BlobPrefix per le directory segnaposto, quando si elencano 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 Expiry-Time per i 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.

  • Microsoft Entra ID (scelta consigliata)
  • firme di accesso condiviso
  • 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 proprietà Content-MD5 quando viene creato il BLOB oppure chiamando Impostare proprietà BLOB. Nella versione 2012-02-12 e successive, Put Blob imposta il valore MD5 di un BLOB in blocchi, anche quando la richiesta di Put Blob non include un'intestazione MD5.

Metadati nella risposta

L'elemento Metadata è presente solo se il parametro include=metadata è stato specificato nell'URI. All'interno dell'elemento Metadata, il valore di ogni coppia nome-valore viene 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 di metadati viola queste restrizioni di denominazione, il corpo della risposta indica il nome problematico all'interno di un elemento x-ms-invalid-name. 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 parametro include=tags è stato specificato nell'URI e se sono presenti tag nel BLOB. All'interno dell'elemento TagSet vengono restituiti fino a 10 elementi Tag, ognuno contenente il key e value dei tag di indice BLOB definiti dall'utente. L'ordinamento dei tag non è garantito nella risposta.

Gli elementi Tags 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 che siano visibili alle operazioni di Find Blobs by Tags.

Snapshot nella risposta

Gli snapshot vengono elencati nella risposta solo se il parametro include=snapshots è 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 non inviati vengono elencati nella risposta solo se il parametro include=uncommittedblobs è 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 sono elencati nella risposta solo se il parametro include=deleted è 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 di 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 di oggetti è stato valutato in un BLOB e la chiamata List Blobs è stata effettuata usando la versione 2019-12-12 o successiva. All'interno dell'elemento OrMetadata, il valore di ogni coppia nome-valore viene 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 elementi ImmutabilityPolicyUntilDate e ImmutabilityPolicyMode sono presenti solo se il parametro include=immutabilitypolicy è stato specificato nell'URI.

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

L'elemento LegalHold è presente solo se il parametro include=legalhold è 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 parametro maxresults e il numero di BLOB da restituire supera questo valore o supera il valore predefinito per maxresults, il corpo della risposta contiene un elemento NextMarker. 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 è minore del valore di maxresults.

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 considerato opaco.

Uso di un delimitatore per attraversare lo spazio dei nomi BLOB

Il parametro delimiter 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 elemento BlobPrefix. 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 è sottostringa+delimitatore, dove sottostringa è la sottostringa comune che inizia uno o più nomi di BLOB e delimitatore è il valore del parametro delimiter.

È possibile usare il valore di BlobPrefix per eseguire una chiamata successiva per elencare i BLOB che iniziano con questo prefisso. A tale scopo, specificare il valore di BlobPrefix per il parametro prefix 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.

Errori di copia nella descrizione dello stato di copia

CopyStatusDescription contiene altre informazioni sull'errore di Copy Blob.

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

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

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

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 valori di CopyStatus e CopyStatusDescription di 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.

Scenario 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. Ora di errore: <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. Ora di errore: <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, restituisce ResourceNotFound nell'elemento <ErrorCode>. Se nella risposta non è presente 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

codici di errore e stato
codici di errore dell'archiviazione BLOB