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 maxresults o 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 maxresults e 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
, MaxResults
e 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 precedenzaLastModified
)Content-Length
(in precedenzaSize
)Content-Type
(in precedenzaContentType
)Content-Encoding
(in precedenzaContentEncoding
)Content-Language
(in precedenzaContentLanguage
)
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
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
, CopyCompletionTime
e 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 Blob
o 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
, Cool
e 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-cool
o 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
, DeletedTime
e 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
, Permissions
e 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 Blob
Name
o BlobPrefix
Name
. 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.
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:
- 'azione di Controllo degli accessi in base al ruolo di Azure:Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read
- Ruolo predefinito con privilegi minimi:lettore di dati BLOB di archiviazione
Se si specifica include=tags
:
- 'azione controllo degli accessi in base al ruolo di Azure:Microsoft.Storage/storageAccounts/blobServices/containers/blobs/tags/read
- Ruolo predefinito con privilegi minimi:proprietario dei dati dei BLOB di archiviazione
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
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>
Blocco legale nella risposta
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 supending
se l'archiviazione BLOB sta ancora ritentando l'operazione. Il testoCopyStatusDescription
descrive l'errore che potrebbe essersi verificato durante l'ultimo tentativo di copia.Quando
CopyStatus
è impostato sufailed
, il testoCopyStatusDescription
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