Freigeben über


List Blobs

Der List Blobs Vorgang gibt eine Liste der Blobs unter dem angegebenen Container zurück.

Anforderung

Sie können die List Blobs Anforderung wie folgt erstellen. HTTPS wird empfohlen. Ersetzen Sie myaccount durch den Namen Ihres Speicherkontos.

Methode Anforderungs-URI HTTP-Version
GET https://myaccount.blob.core.windows.net/mycontainer?restype=container&comp=list HTTP/1.1

Emulierter Speicherdienst-URI

Wenn Sie eine Anforderung an den emulierten Speicherdienst stellen, geben Sie den Emulatorhostnamen und Azure Blob Storage Port als 127.0.0.1:10000an, gefolgt vom Namen des emulierten Speicherkontos.

Methode Anforderungs-URI HTTP-Version
GET http://127.0.0.1:10000/devstoreaccount1/mycontainer?restype=container&comp=list HTTP/1.1

Weitere Informationen finden Sie unter Verwenden des Azurite-Emulators für die lokale Azure Storage-Entwicklung.

URI-Parameter

Sie können die folgenden zusätzlichen Parameter für den URI angeben.

Parameter BESCHREIBUNG
prefix Optional. Filtert die Ergebnisse, um nur Blobs mit Namen zurückzugeben, die mit dem angegebenen Präfix beginnen. Bei Konten mit einem hierarchischen Namespace tritt ein Fehler auf, wenn der Name einer Datei in der Mitte des Präfixpfads angezeigt wird. Beispielsweise können Sie versuchen, Blobs zu finden, die mit dem Präfixpfad folder1/folder2/readme/readmefile.txtbenannt readmefile.txt sind. Ein Fehler wird angezeigt, wenn ein Unterordner eine Datei mit dem Namen readmeenthält.
delimiter Optional. Wenn die Anforderung diesen Parameter enthält, gibt der Vorgang ein BlobPrefix Element im Antworttext zurück. Dieses Element fungiert als Platzhalter für alle Blobs mit Namen, die mit derselben Teilzeichenfolge beginnen, bis zur Darstellung des Trennzeichens. Das Trennzeichen kann ein einzelnes Zeichen oder eine Zeichenfolge sein.
marker Optional. Ein Zeichenfolgenwert, der den Teil der Liste angibt, der mit dem nächsten Auflistungsvorgang zurückgegeben wird. Der Vorgang gibt im Antworttext einen Markerwert zurück, wenn die zurückgegebene Liste nicht vollständig war. Sie können dann den Markerwert in einem nachfolgenden Aufruf verwenden, um den nächsten Satz von Listenelementen anzufordern.

Der Markerwert ist für den Client nicht transparent.
maxresults Optional. Gibt die maximale Anzahl zurückzugebender BLOBs an, einschließlich aller BlobPrefix-Elemente. Wenn die Anforderung nicht angibt maxresultsoder einen Wert größer als 5.000 angibt, gibt der Server bis zu 5.000 Elemente zurück. Wenn zusätzliche Ergebnisse zurückgegeben werden müssen, gibt der Dienst ein Fortsetzungstoken NextMarker im Antwortelement zurück. In bestimmten Fällen gibt der Dienst möglicherweise weniger Ergebnisse als durch maxresultsangegeben zurück und gibt auch ein Fortsetzungstoken zurück.

Wenn maxresults auf einen Wert kleiner oder gleich 0 festgelegt ist, wird Fehlerantwortcode 400 ausgegeben (ungültige Anforderung).
include={snapshots,metadata,uncommittedblobs,copy,deleted,tags,versions,
deletedwithversions,immutabilitypolicy,legalhold,permissions}
Optional. Gibt ein oder mehrere Datasets an, die in der Antwort eingeschlossen werden sollen:

- snapshots: Gibt an, dass Momentaufnahmen in die Enumeration eingeschlossen werden sollen. Momentaufnahmen werden in der Antwort von der ältesten zur neuesten aufgeführt.
- metadata: Gibt an, dass Blobmetadaten in der Antwort zurückgegeben werden.
- uncommittedblobs: Gibt an, dass Blobs, für die Blöcke hochgeladen, aber nicht mithilfe von Put Block List committet wurden, in die Antwort eingeschlossen werden.
- copy: Version 2012-02-12 und höher. Gibt an, dass Metadaten, die mit dem aktuellen oder vorherigen Copy Blob-Vorgang verknüpft sind, in die Antwort eingeschlossen werden sollen.
-deleted: Version 2017-07-29 und höher. Gibt an, dass vorläufig gelöschte Blobs in die Antwort eingeschlossen werden sollen.
-tags: Version 2019-12-12 und höher. Gibt an, dass benutzerdefinierte Blobindextags in die Antwort eingeschlossen werden sollen.
-versions: Version 2019-12-12 und höher. Gibt an, dass Versionen von Blobs in die Enumeration eingeschlossen werden sollen.
-deletedwithversions: Version 2020-10-02 und höher. Gibt an, dass gelöschte Blobs mit beliebigen Versionen (aktiv oder gelöscht) in die Antwort eingeschlossen werden sollen. Elemente, die Sie endgültig gelöscht haben, werden in der Antwort angezeigt, bis sie von der Garbage Collection verarbeitet werden. Verwenden Sie das Tag \<HasVersionsOnly\>und den Wert true.
-immutabilitypolicy: Version 2020-06-12 und höher. Gibt an, dass die Enumeration die Unveränderlichkeitsrichtlinie bis zum Datum und den Unveränderlichkeitsrichtlinienmodus der Blobs enthalten soll.
-legalhold: Version 2020-06-12 und höher. Gibt an, dass die Enumeration den gesetzlichen Aufbewahrungsspeicher von Blobs enthalten soll.
-permissions: Version 2020-06-12 und höher. Wird nur für Konten unterstützt, für die ein hierarchischer Namespace aktiviert ist. Wenn eine Anforderung diesen Parameter enthält, werden der Besitzer, die Gruppe, die Berechtigungen und die Zugriffssteuerungsliste für die aufgelisteten Blobs oder Verzeichnisse in die Enumeration einbezogen.

Um mehr als eine dieser Optionen im URI anzugeben, müssen Sie die Optionen jeweils mit einem URL-codierten Komma ("%82") trennen.
showonly={deleted,files,directories} Optional. Gibt eines der folgenden Datasets an, die in der Antwort zurückgegeben werden sollen:

-deleted:Optional. Version 2020-08-04 und höher. Nur für Konten, die mit hierarchischem Namespace aktiviert sind. Wenn eine Anforderung diesen Parameter enthält, enthält die Liste nur vorläufig gelöschte Blobs. Beachten Sie, dass der Fallback der POSIX-ACL-Autorisierung für das Auflisten vorläufig gelöschter Blobs nicht unterstützt wird. Wenn include=deleted auch angegeben ist, schlägt die Anforderung mit ungültiger Anforderung (400) fehl.
-files:Optional. Version 2020-12-06 und höher. Nur für Konten, die mit hierarchischem Namespace aktiviert sind. Wenn eine Anforderung diesen Parameter enthält, enthält die Liste nur Dateien.
-directories:Optional. Version 2020-12-06 und höher. Nur für Konten, die mit hierarchischem Namespace aktiviert sind. Wenn eine Anforderung diesen Parameter enthält, enthält die Liste nur Verzeichnisse.
timeout Optional. Der timeout-Parameter wird in Sekunden angegeben. Weitere Informationen finden Sie unter Festlegen von Timeouts für Blob Storage-Vorgänge.

Anforderungsheader

In der folgenden Tabelle werden erforderliche und optionale Anforderungsheader beschrieben.

Anforderungsheader BESCHREIBUNG
Authorization Erforderlich. Gibt das Autorisierungsschema, den Kontonamen und die Signatur an. Weitere Informationen finden Sie unter Autorisieren von Anforderungen an Azure Storage.
Date oder x-ms-date Erforderlich. Gibt die koordinierte Weltzeit (Coordinated Universal Time, UTC) für die Anforderung an. Weitere Informationen finden Sie unter Autorisieren von Anforderungen an Azure Storage.
x-ms-version Erforderlich für alle autorisierten Anforderungen und optional für anonyme Anforderungen. Gibt die Version des für die Anforderung zu verwendenden Vorgangs an. Weitere Informationen finden Sie unter Versionsverwaltung für die Azure-Speicherdienste.
x-ms-client-request-id Optional. Stellt einen vom Client generierten, undurchsichtigen Wert mit einem Zeichenlimit von 1 Kibibyte (KiB) bereit, der in den Protokollen aufgezeichnet wird, wenn die Protokollierung konfiguriert ist. Es wird dringend empfohlen, diesen Header zu verwenden, um clientseitige Aktivitäten mit Anforderungen zu korrelieren, die der Server empfängt. Weitere Informationen finden Sie unter Überwachen Azure Blob Storage.
x-ms-upn Optional. Nur gültig, wenn ein hierarchischer Namespace für das Konto aktiviert ist und include=permissions in der Anforderung angegeben wird. Wenn trueist, werden die in den <Feldern Besitzer>, <Gruppe> und <Acl> zurückgegebenen Benutzeridentitätswerte von Microsoft Entra Objekt-IDs in Benutzerprinzipalnamen transformiert. Wenn false, werden die Werte als Microsoft Entra Objekt-IDs zurückgegeben. Standardwert: false. Beachten Sie, dass Gruppen- und Anwendungsobjekt-IDs nicht übersetzt werden, da sie keine eindeutigen Anzeigenamen haben.

Anforderungstext

Keine.

Beispiel für eine Anforderung

Eine Beispielanforderung finden Sie unter Auflisten von Blobressourcen .

Antwort

Die Antwort enthält den HTTP-Statuscode, einen Satz von Antwortheadern und einen Antworttext im XML-Format.

Statuscode

Bei einem erfolgreichen Vorgang wird der Statuscode 200 (OK) zurückgegeben. Informationen zu status Codes finden Sie unter Status- und Fehlercodes.

Antwortheader

Die Antwort für diesen Vorgang umfasst die folgenden Header. Die Antwort kann auch zusätzliche HTTP-Standardheader enthalten. Alle Standardheader entsprechen der HTTP/1.1-Protokollspezifikation.

Antwortheader BESCHREIBUNG
Content-Type Gibt das Format an, in dem die Ergebnisse zurückgegeben werden. Derzeit ist dieser Wert application/xml.
x-ms-request-id Dieser Header identifiziert die durchgeführte Anforderung eindeutig und kann für die Problembehandlung der Anforderung verwendet werden. Weitere Informationen finden Sie unter Problembehandlung für API-Vorgänge.
x-ms-version Gibt die Version von Blob Storage an, die zum Ausführen der Anforderung verwendet wird. Dieser Header wird für Anforderungen zurückgegeben, die mit Version 2009-09-19 und höher durchgeführt werden.

Dieser Header wird auch für anonyme Anforderungen ohne angegebene Version zurückgegeben, wenn der Container mit der Blob Storage-Version 2009-09-19 für öffentlichen Zugriff markiert wurde.
Date Ein UTC-Datums-/Uhrzeitwert, der den Zeitpunkt angibt, zu dem die Antwort initiiert wurde. Der Dienst generiert diesen Wert.
x-ms-client-request-id Sie können diesen Header verwenden, um Probleme mit Anforderungen und entsprechenden Antworten zu beheben. Der Wert dieses Headers ist gleich dem Wert des x-ms-client-request-id Headers, wenn er in der Anforderung vorhanden ist. Der Wert beträgt höchstens 1024 sichtbare ASCII-Zeichen. Wenn der x-ms-client-request-id Header in der Anforderung nicht vorhanden ist, ist dieser Header in der Antwort nicht vorhanden.

Antworttext

Die XML-Antwort weist das folgende Format auf:

Beachten Sie, dass die Elemente Prefix, Marker, MaxResults und Delimiter nur vorhanden sind, wenn sie im Anforderungs-URI angegeben wurden. Das NextMarker -Element hat nur dann einen Wert, wenn die Listenergebnisse nicht vollständig sind.

Momentaufnahmen, BLOB-Metadaten und BLOBs ohne ausgeführten Commit sind in der Antwort nur enthalten, wenn sie mit dem include-Parameter im Anforderungs-URI angegeben wurden.

In Version 2009-09-19 und höher werden die Eigenschaften des Blobs in einem Properties -Element gekapselt.

Ab Version 2009-09-19 gibt List Blobs im Antworttext die folgenden umbenannten Elemente zurück:

  • Last-Modified (bisher LastModified)

  • Content-Length (bisher Size)

  • Content-Type (bisher ContentType)

  • Content-Encoding (bisher ContentEncoding)

  • Content-Language (bisher ContentLanguage)

Das Content-MD5 -Element wird für Blobs angezeigt, die mit Version 2009-09-19 und höher erstellt wurden. In Version 2012-02-12 und höher berechnet Blob Storage den Content-MD5 Wert, wenn Sie ein Blob mithilfe von Put Blob hochladen. Blob Storage berechnet dies nicht, wenn Sie ein Blob mithilfe von Put Block List erstellen. Sie können den Content-MD5 Wert explizit festlegen, wenn Sie das Blob erstellen, oder indem Sie die Vorgänge Put Block List oder Set Blob Properties aufrufen.

Für Versionen von 2009-09-19 und höher, aber vor Version 2015-02-21, können Sie keinen Container aufrufen List Blobs , der Anfügeblobs enthält. Der Dienst gibt status Code 409 (Konflikt) zurück, wenn das Ergebnis der Auflistung ein Anfügeblob enthält.

LeaseState und LeaseDuration werden nur in Version 2012-02-12 und höher angezeigt.

CopyId, CopyStatus, CopySource, CopyProgress, CopyCompletionTime und CopyStatusDescription werden in Version 2012-02-12 und höher nur angegeben, wenn dieser Vorgang den include={copy}-Parameter enthält. Diese Elemente werden nicht angezeigt, wenn dieses Blob noch nie das Ziel in einem Copy Blob Vorgang war. Die Elemente werden nicht angezeigt, wenn dieses Blob nach einem abgeschlossenen Copy Blob Vorgang mit Set Blob Properties, Put Bloboder Put Block Listgeändert wurde. Diese Elemente werden auch nicht mit einem Blob angezeigt, das vor Version 2012-02-12 von Copy Blob erstellt wurde.

In Version 2013-08-15 und höher enthält das EnumerationResults Element ein ServiceEndpoint Attribut, das den Blobendpunkt angibt. Dieses Element enthält auch ein ContainerName Feld, das den Namen des Containers angibt. In früheren Versionen wurden diese beiden Attribute im ContainerName Feld kombiniert. Auch in Version 2013-08-15 und höher wurde das Url Element unter Blob entfernt.

Für Version 2015-02-21 und höher List Blobs gibt Blobs aller Typen (Block-, Seiten- und Anfügeblobs) zurück.

Für Version 2015-12-11 und höher List Blobs gibt das ServerEncrypted -Element zurück. Dieses Element wird auf true festgelegt, wenn die Blob- und Anwendungsmetadaten vollständig verschlüsselt sind, andernfalls false .

Für Version 2016-05-31 und höher List Blobs gibt das IncrementalCopy -Element für inkrementelle Kopierblobs und Momentaufnahmen zurück, wobei der Wert auf truefestgelegt ist.

Für Version 2017-04-17 und höher gibt das AccessTier Element zurück, List Blobs wenn eine Zugriffsebene explizit festgelegt wurde. Eine Liste der zulässigen Premium-Seitenblobebenen finden Sie unter Hochleistungsspeicher premium und verwaltete Datenträger für VMs. Für Blob Storage- oder Allgemeine v2-Konten sind Hotgültige Werte , Coolund Archive. Wenn sich das Blob im Status "Rehydrieren ausstehend" befindet, wird das ArchiveStatus Element mit einem der gültigen Werte (rehydrate-pending-to-hot, rehydrate-pending-to-cooloder rehydrate-pending-to-cold) zurückgegeben. Ausführliche Informationen zum Blockblobtiering finden Sie unter Speicherebenen "Heiß", "Kalt" und "Archiv".

Für Version 2017-04-17 und höher gibt List Blobs das AccessTierInferred Element für Blob Storage- oder Universelle v2-Konten zurück. Wenn für das Blockblob nicht die Zugriffsebene festgelegt ist, werden Ebeneninformationen aus den Speicherkontoeigenschaften abgeleitet, und dieser Wert wird auf truefestgelegt. Dieser Header ist nur vorhanden, wenn die Ebene von der kontoeigenschaft abgeleitet wird.

Für Version 2017-04-17 und höher gibt List Blobs das AccessTierChangeTime Element für Blob Storage- oder Universelle v2-Konten zurück. Dies wird nur zurückgegeben, wenn die Ebene für Blockblobs jemals festgelegt wurde. Weitere Informationen finden Sie unter Darstellung von Datums-/Uhrzeitwerten in Headern.

Für Version 2017-07-29 und höher werden , DeletedTimeund RemainingRetentionDays angezeigt, Deletedwenn dieser Vorgang den include={deleted} Parameter enthält. Diese Elemente werden nicht angezeigt, wenn dieses Blob nicht gelöscht wurde. Diese Elemente werden für Blobs oder Momentaufnahmen angezeigt, die mit dem DELETE Vorgang gelöscht werden, wenn das Feature für vorläufiges Löschen aktiviert wurde. Das Deleted -Element ist für Blobs und Momentaufnahmen, die vorläufig gelöscht werden, auf true festgelegt. Deleted-Time entspricht dem Zeitpunkt, zu dem das Blob gelöscht wurde. RemainingRetentionDays gibt die Anzahl der Tage an, nach denen ein vorläufig gelöschtes Blob endgültig gelöscht wird.

Für Version 2017-11-09 und höher gibt den Zeitpunkt zurück, Creation-Time zu dem dieses Blob erstellt wurde.

Für Version 2019-02-02 und höher gibt das CustomerProvidedKeySha256 Element zurück, List Blobs wenn das Blob mit einem vom Kunden bereitgestellten Schlüssel verschlüsselt ist. Der Wert wird auf den SHA-256-Hash des Schlüssels festgelegt, der zum Verschlüsseln des Blobs verwendet wird. Wenn der Vorgang den include={metadata} Parameter enthält und Anwendungsmetadaten in einem Blob vorhanden sind, das mit einem vom Kunden bereitgestellten Schlüssel verschlüsselt ist, verfügt das Metadata Element darüber hinaus über ein Encrypted="true" Attribut. Dieses Attribut gibt an, dass das Blob Über Metadaten verfügt, die im Rahmen des List Blobs Vorgangs nicht entschlüsselt werden können. Um auf die Metadaten für diese Blobs zuzugreifen, rufen Sie Get Blob Properties (Blobeigenschaften abrufen ) oder Get Blob Metadata (Blobmetadaten abrufen ) mit dem vom Kunden bereitgestellten Schlüssel auf.

Für Version 2019-02-02 und höher gibt das EncryptionScope Element zurück, List Blobs wenn das Blob mit einem Verschlüsselungsbereich verschlüsselt ist. Der Wert wird auf den Namen des Verschlüsselungsbereichs festgelegt, der zum Verschlüsseln des Blobs verwendet wird. Wenn der Vorgang den include={metadata} -Parameter enthält, werden anwendungsmetadaten im Blob transparent entschlüsselt und im Metadata -Element verfügbar.

Für Version 2019-12-12 und höher List Blobs gibt das RehydratePriority -Element für Blob Storage- oder Universelle v2-Konten zurück, wenn sich das Objekt im rehydrate pending Zustand befindet. Gültige Werte sind High und Standard.

Für Version 2019-12-12 und höher List Blobs gibt das VersionId Element für Blobs und generierte Blobversionen zurück, wenn die Versionsverwaltung für das Konto aktiviert ist.

Für Version 2019-12-12 und höher List Blobs gibt das IsCurrentVersion Element für die aktuelle Version des Blobs zurück. Der Wert wird auf true festgelegt. Mit diesem Element können Sie die aktuelle Version von den schreibgeschützten, automatisch generierten Versionen unterscheiden.

Für Version 2019-12-12 und höher List Blobs gibt das TagCount Element für Blobs mit beliebigen Tags zurück. Das Tags -Element wird nur angezeigt, wenn dieser Vorgang den include={tags} -Parameter enthält. Diese Elemente werden nicht angezeigt, wenn im Blob keine Tags vorhanden sind.

Für Version 2019-12-12 und höher List Blobs gibt das Sealed -Element für Anfügeblobs zurück. Das Sealed -Element wird nur angezeigt, wenn das Anfügeblob versiegelt wurde. Diese Elemente werden nicht angezeigt, wenn das Anfügeblob nicht versiegelt ist.

Für Version 2020-02-10 und höher List Blobs gibt das LastAccessTime -Element zurück. Das -Element zeigt an, wann zuletzt auf die Daten des Blobs zugegriffen wurde, entsprechend der Nachverfolgungsrichtlinie für den letzten Zugriff des Speicherkontos. Das Element wird nicht zurückgegeben, wenn das Speicherkonto nicht über diese Richtlinie verfügt oder die Richtlinie deaktiviert ist. Informationen zum Festlegen der Nachverfolgungsrichtlinie für den letzten Zugriff des Kontos finden Sie in der Blobdienst-API. Das LastAccessTime -Element verfolgt den letzten Zugriff auf die Metadaten des Blobs nicht.

Für Version 2020-06-12 und höher List Blobs gibt die ImmutabilityPolicyUntilDate Elemente und ImmutabilityPolicyMode zurück, wenn dieser Vorgang den include={immutabilitypolicy} Parameter enthält.

Für Version 2020-06-12 und höher List Blobs gibt das LegalHold -Element zurück, wenn dieser Vorgang den include={legalhold} Parameter enthält.

Für Version 2020-06-12 und höher gibt für Konten mit aktiviertem List Blobs hierarchischem Namespace die OwnerElemente , Group, Permissionsund Acl zurück. Die Anforderung muss den include={permissions} Parameter enthalten. Beachten Sie, dass das Acl Element eine kombinierte Liste von Zugriffs- und Standardzugriffssteuerungslisten ist, die für die Datei oder das Verzeichnis festgelegt wurden.

Für Version 2020-06-12 und höher gibt für Konten mit aktiviertem List Blobs hierarchischem Namespace mit einem Trennzeichen das Properties Element im BlobPrefix Element zurück. Dies entspricht den Eigenschaften im Verzeichnis.

Für Version 2020-08-04 und höher gibt für Konten mit aktiviertem List Blobs hierarchischem Namespace das DeletionId -Element für gelöschte Blobs zurück. DeletionId ist ein 64-Bit-Bezeichner ohne Vorzeichen. Das Element identifiziert eindeutig einen vorläufig gelöschten Pfad, um ihn von anderen gelöschten Blobs mit demselben Pfad zu unterscheiden.

Für Version 2020-10-02 und höher gibt für Konten mit aktiviertem List Blobs hierarchischem Namespace das ResourceType Eigenschaftselement für den Pfad zurück. Dies kann entweder file oder directory sein.

Für Version 2021-02-12 und höher List Blobs werden alle BlobName - oder BlobPrefixName -Elementwerte in Prozent codiert (gemäß RFC 2396). Dies gilt insbesondere für die Werte, die Zeichen enthalten, die in XML ungültig sind (U+FFFE oder U+FFFF). Wenn es codiert ist, enthält das Name Element ein Encoded=true Attribut. Beachten Sie, dass dies nur für die Name Elementwerte gilt, die die in XML ungültigen Zeichen enthalten, nicht für die restlichen Name Elemente in der Antwort.

Für Version 2021-06-08 und höher gibt für Konten mit aktiviertem List Blobs hierarchischem Namespace das Placeholder properties-Element zurück. Es gibt dieses Element im BlobPrefix Element für Platzhalterverzeichnisse zurück, wenn gelöschte Blobs mit einem Trennzeichen aufgelistet werden. Diese Platzhalterverzeichnisse sind vorhanden, um die Navigation zu vorläufig gelöschten Blobs zu erleichtern.

Für Version 2021-06-08 und höher gibt für Konten mit aktiviertem List Blobs hierarchischem Namespace das EncryptionContext -Element zurück. Wenn der Wert der Verschlüsselungskontexteigenschaft festgelegt ist, wird der festgelegte Wert zurückgegeben.

Für Version 2020-02-10 und höher gibt für Konten mit aktiviertem List Blobs hierarchischem Namespace das Expiry-Time Element für gelöschte Blobs zurück. Expiry-Time ist der Zeitpunkt, zu dem die Datei abläuft, und wird für die Datei zurückgegeben, wenn der Ablauf auf dieselbe festgelegt ist.

<?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>  

Beispiel für eine Antwort

Eine Beispielantwort finden Sie unter Auflisten von Blobressourcen .

Authorization

Beim Aufrufen eines Datenzugriffsvorgangs in Azure Storage ist eine Autorisierung erforderlich. Sie können den List Blobs Vorgang wie unten beschrieben autorisieren.

Wichtig

Microsoft empfiehlt die Verwendung von Microsoft Entra ID mit verwalteten Identitäten, um Anforderungen an Azure Storage zu autorisieren. Microsoft Entra ID bietet im Vergleich zur Autorisierung mit gemeinsam genutzten Schlüsseln eine höhere Sicherheit und Benutzerfreundlichkeit.

Azure Storage unterstützt die Verwendung von Microsoft Entra ID zum Autorisieren von Anforderungen für Blobdaten. Mit Microsoft Entra ID können Sie die rollenbasierte Zugriffssteuerung von Azure (Azure RBAC) verwenden, um einem Sicherheitsprinzipal Berechtigungen zu erteilen. Der Sicherheitsprinzipal kann ein Benutzer, eine Gruppe, ein Anwendungsdienstprinzipal oder eine verwaltete Azure-Identität sein. Der Sicherheitsprinzipal wird von Microsoft Entra ID authentifiziert, um ein OAuth 2.0-Token zurückzugeben. Das Token kann anschließend zum Autorisieren einer Anforderung an den Blob-Dienst verwendet werden.

Weitere Informationen zur Autorisierung mit Microsoft Entra ID finden Sie unter Autorisieren des Zugriffs auf Blobs mithilfe von Microsoft Entra ID.

Berechtigungen

Nachfolgend sind die RBAC-Aktion aufgeführt, die für einen Microsoft Entra Benutzer, eine Gruppe, eine verwaltete Identität oder einen Dienstprinzipal erforderlich ist, um den List Blobs Vorgang aufzurufen, und die integrierte Azure RBAC-Rolle mit den geringsten Berechtigungen, die diese Aktion enthält:

Weitere Informationen zum Zuweisen von Rollen mithilfe von Azure RBAC finden Sie unter Zuweisen einer Azure-Rolle für den Zugriff auf Blobdaten.

Hinweise

Blobeigenschaften in der Antwort

Wenn Sie die Aufnahme von Blobs ohne Commit in die Enumeration angefordert haben, beachten Sie, dass einige Eigenschaften erst festgelegt werden, wenn ein Commit für das Blob ausgeführt wird. Einige Eigenschaften werden in der Antwort möglicherweise nicht zurückgegeben.

Das x-ms-blob-sequence-number-Element wird nur für Seitenblobs zurückgegeben.

Das OrMetadata -Element wird nur für Blockblobs zurückgegeben.

Für Seitenblobs entspricht der im Content-Length-Element zurückgegebene Wert dem Wert des x-ms-blob-content-length-Headers für das BLOB.

Das Content-MD5 -Element wird im Antworttext nur angezeigt, wenn es mit Version 2009-09-19 oder höher für das Blob festgelegt wurde. Sie können die Content-MD5 Eigenschaft festlegen, wenn das Blob erstellt wird, oder indem Sie Set Blob Properties (Blobeigenschaften festlegen) aufrufen. Legt in Version 2012-02-12 und höher Put Blob den MD5-Wert eines Blockblobs fest, auch wenn die Put Blob Anforderung keinen MD5-Header enthält.

Metadaten in der Antwort

Das Metadata-Element ist nur vorhanden, wenn im URI der include=metadata-Parameter angegeben wurde. Im Metadata-Element wird der Wert jedes Name-Wert-Paars in einem Element aufgelistet, das dem Namen des Paars entspricht.

Beachten Sie, dass mit diesem Parameter angeforderte Metadaten gemäß den Benennungseinschränkungen gespeichert werden müssen, die von der Version 2009-09-19 von Blob Storage festgelegt wurden. Ab dieser Version müssen alle Metadatennamen den Namenskonventionen für C#-Bezeichner entsprechen.

Wenn ein Metadatennamen-Wert-Paar gegen diese Benennungseinschränkungen verstößt, gibt der Antworttext den problematischen Namen innerhalb eines x-ms-invalid-name Elements an. Das folgende XML-Fragment zeigt dies:

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

Tags in der Antwort

Das Tags -Element ist nur vorhanden, wenn der include=tags Parameter für den URI angegeben wurde und wenn im Blob Tags vorhanden sind. Innerhalb des TagSet Elements werden bis zu 10 Tag Elemente zurückgegeben, die jeweils die key und value der benutzerdefinierten Blobindextags enthalten. Die Reihenfolge der Tags ist in der Antwort nicht garantiert.

Die Tags Elemente und TagCount werden nicht zurückgegeben, wenn im Blob keine Tags vorhanden sind.

Der Speicherdienst behält eine starke Konsistenz zwischen einem Blob und seinen Tags bei, aber der sekundäre Index ist letztendlich konsistent. Tags können in einer Antwort auf angezeigt werden, List Blobs bevor sie für Find Blobs by Tags Vorgänge sichtbar sind.

Momentaufnahmen in der Antwort

Momentaufnahmen werden in der Antwort nur aufgeführt, wenn im URI der Parameter include=snapshots angegeben wurde. Momentaufnahmen, die in der Antwort aufgeführt sind, enthalten das LeaseStatus -Element nicht, da Momentaufnahmen keine aktiven Leases aufweisen können.

Mit Dienstversion 2021-06-08 und höher können Sie mit einem Trennzeichen aufrufen List Blobs und Momentaufnahmen in die Enumeration einschließen. Für Dienstversionen vor dem 08.06.2021 gibt eine Anforderung, die beide enthält, einen InvalidQueryParameter-Fehler (HTTP-status Code 400 – Ungültige Anforderung) zurück.

Nicht commitierte Blobs in der Antwort

Nicht mit Commit bestätigte BLOBs werden in der Antwort nur aufgeführt, wenn im URI der Parameter include=uncommittedblobs angegeben wurde. Blobs ohne Commit, die in der Antwort aufgeführt sind, enthalten keines der folgenden Elemente:

  • Last-Modified

  • Etag

  • Content-Type

  • Content-Encoding

  • Content-Language

  • Content-MD5

  • Cache-Control

  • Metadata

Gelöschte Blobs in der Antwort

Gelöschte Blobs werden in der Antwort nur aufgeführt, wenn der include=deleted Parameter für den URI angegeben wurde. Gelöschte Blobs, die in der Antwort aufgeführt sind, enthalten die Lease-Elemente nicht, da gelöschte Blobs keine aktiven Leases aufweisen können.

Gelöschte Momentaufnahmen sind in der Listenantwort enthalten, wenn include=deleted,snapshot für den URI angegeben wurde.

Objektreplikationsmetadaten in der Antwort

Das OrMetadata Element ist vorhanden, wenn eine Objektreplikationsrichtlinie für ein Blob ausgewertet wurde und der List Blobs Aufruf mit Version 2019-12-12 oder höher erfolgt ist. Im OrMetadata-Element wird der Wert jedes Name-Wert-Paars in einem Element aufgelistet, das dem Namen des Paars entspricht. Das Format des Namens ist or-{policy-id}_{rule-id}, wobei {policy-id} eine GUID ist, die den Bezeichner der Objektreplikationsrichtlinie für das Speicherkonto darstellt. {rule-id} ist eine GUID, die den Regelbezeichner für den Speichercontainer darstellt. Gültige Werte sind complete und 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>  
…  
  

Unveränderlichkeitsrichtlinie in der Antwort

Die ImmutabilityPolicyUntilDate Elemente und ImmutabilityPolicyMode sind nur vorhanden, wenn der include=immutabilitypolicy Parameter für den URI angegeben wurde.

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

Das LegalHold-Element ist nur vorhanden, wenn im URI der include=legalhold-Parameter angegeben wurde.

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

Zurückgeben von Resultsets mithilfe eines Markerwerts

Wenn Sie einen Wert für den maxresults Parameter angeben und die Anzahl der zurückzugebenden Blobs diesen Wert überschreitet oder den Standardwert für maxresultsüberschreitet, enthält der Antworttext ein NextMarker -Element. Dieses Element gibt das nächste Blob an, das bei einer nachfolgenden Anforderung zurückgegeben werden soll. In bestimmten Fällen kann der Dienst das NextMarker -Element zurückgeben, obwohl die Anzahl der zurückgegebenen Ergebnisse kleiner als der Wert von maxresultsist.

Geben Sie zum Zurückgeben des nächsten Satzes von Elementen den Wert von NextMarker als Markerparameter im URI für die nächste Anforderung an. Beachten Sie, dass der Wert von NextMarker als nicht transparent behandelt werden muss.

Verwenden eines Trennzeichens zum Durchlaufen des Blobnamespace

Der delimiter-Parameter ermöglicht es dem Aufrufer, den BLOB-Namespace zu durchlaufen, indem ein vom Benutzer konfiguriertes Trennzeichen verwendet wird. Auf diese Weise können Sie wie in einem Dateisystem eine virtuelle Hierarchie von BLOBs durchlaufen. Das Trennzeichen kann ein einzelnes Zeichen oder eine Zeichenfolge sein.

Wenn die Anforderung diesen Parameter enthält, gibt der Vorgang ein BlobPrefix-Element zurück. Das BlobPrefix -Element wird anstelle aller Blobs mit Namen zurückgegeben, die mit derselben Teilzeichenfolge beginnen, bis zur Darstellung des Trennzeichens. Der Wert des BlobPrefix Elements ist Teilzeichenfolge+Trennzeichen, wobei die Teilzeichenfolge die allgemeine Teilzeichenfolge ist, die einen oder mehrere Blobnamen beginnt, und Trennzeichen ist der Wert des delimiter Parameters.

Sie können den Wert von BlobPrefix verwenden, um einen nachfolgenden Aufruf zum Auflisten der Blobs zu tätigen, die mit diesem Präfix beginnen. Dazu geben Sie den Wert von BlobPrefix für den prefix Parameter für den Anforderungs-URI an.

Beachten Sie, dass jedes zurückgegebene BlobPrefix-Element in das maximale Ergebnis eingerechnet wird, ebenso wie jedes Blob-Element.

BLOBs werden im Antworttext in alphabetischer Reihenfolge aufgeführt, wobei Großbuchstaben zuerst aufgeführt werden.

Kopierfehler in der Beschreibung des Kopierstatus

CopyStatusDescription enthält weitere Informationen zum Fehler bei Copy Blob.

  • Wenn ein Kopierversuch fehlschlägt, wird auf pending festgelegt, CopyStatus wenn Blob Storage den Vorgang noch wiederholt. Der CopyStatusDescription Text beschreibt den Fehler, der möglicherweise während des letzten Kopierversuchs aufgetreten ist.

  • Wenn CopyStatus auf failed festgelegt wird, beschreibt der CopyStatusDescription Text den Fehler, der Kopiervorgang verursacht hat.

In der folgenden Tabelle werden die Felder jedes CopyStatusDescription Werts beschrieben.

Komponente BESCHREIBUNG
HTTP-Statuscode Dreistellige Standard-Ganzzahl, die den Fehler angibt.
Fehlercode Schlüsselwort, das den Fehler beschreibt. Sie wird von Azure im <ErrorCode-Element> bereitgestellt. Wenn kein <ErrorCode-Element> angezeigt wird, gibt der Dienst eine Schlüsselwort (keyword) zurück, die Standardfehlertext enthält, der dem dreistelligen HTTP-status-Code in der HTTP-Spezifikation zugeordnet ist. Weitere Informationen finden Sie unter Bekannte REST API-Fehlercodes.
Information Detaillierte Beschreibung des Fehlers in Anführungszeichen.

In der folgenden Tabelle werden der CopyStatus-Wert und der CopyStatusDescription-Wert von häufigen Fehlerszenarien beschrieben.

Wichtig

Der hier gezeigte Beschreibungstext kann ohne Warnung geändert werden, auch ohne Versionsänderung. Verlassen Sie sich nicht darauf, genau diesen Text zu finden.

Szenario Kopierstatuswert Kopierstatusbeschreibungswert
Der Kopiervorgang wurde erfolgreich abgeschlossen. success empty
Der Benutzer hat den Kopiervorgang abgebrochen, bevor er abgeschlossen wurde. aborted empty
Fehler beim Lesen aus dem Quellblob während eines Kopiervorgangs. Der Vorgang wird erneut versucht. pending 502 BadGateway "Wiederholbarer Fehler beim Lesen der Quelle. Es wird versucht, den Vorgang zu wiederholen. Zeitpunkt des Fehlers: <Zeit>"
Fehler beim Schreiben in das Zielblob eines Kopiervorgangs. Der Vorgang wird erneut versucht. pending 500 InternalServerError "Wiederholbarer Fehler. Es wird versucht, den Vorgang zu wiederholen. Zeitpunkt des Fehlers: <Zeit>"
Beim Lesen aus dem Quell-BLOB eines Kopiervorgangs ist ein nicht behebbarer Fehler aufgetreten. „Fehlgeschlagen“ 404 ResourceNotFound "Fehler beim Kopieren beim Lesen der Quelle." Wenn der Dienst diesen zugrunde liegenden Fehler meldet, wird er im <ErrorCode-Element> zurückgegebenResourceNotFound. Wenn in der Antwort kein <ErrorCode-Element> angezeigt wird, wird eine Standardzeichenfolgendarstellung des HTTP-status angezeigt, zNotFound. B. .
Das Timeout, das alle Kopiervorgänge einschränkt, ist abgelaufen. (Derzeit beträgt der Timeoutzeitraum zwei Wochen.) „Fehlgeschlagen“ 500 OperationCancelled "Die maximal zulässige Zeit für den Kopiervorgang wurde überschritten."
Der Kopiervorgang ist beim Lesen aus der Quelle zu häufig fehlgeschlagen, und ein minimales Verhältnis von fehlgeschlagenen zu erfolgreichen Versuchen wurde nicht erreicht. (Dieses Timeout verhindert, dass eine sehr schlechte Quelle über zwei Wochen wiederholt wird, bevor ein Fehler auftritt.) „Fehlgeschlagen“ 500 OperationCancelled "Fehler beim Kopieren während des Lesens der Quelle."

Abrechnung

Preisanforderungen können von Clients stammen, die Blob Storage-APIs verwenden, entweder direkt über die Blob Storage-REST-API oder aus einer Azure Storage-Clientbibliothek. Für diese Anforderungen fallen Gebühren pro Transaktion an. Die Art der Transaktion wirkt sich auf die Abrechnung des Kontos aus. Beispielsweise werden Lesetransaktionen einer anderen Abrechnungskategorie zugeordnet als Schreibtransaktionen. Die folgende Tabelle zeigt die Abrechnungskategorie für List Blobs Anforderungen basierend auf dem Speicherkontotyp:

Vorgang Speicherkontotyp Abrechnungskategorie
List Blobs Premium, Blockblob
Standard „Allgemein v2“
Standard „Allgemein v1“
Auflisten und Create von Containervorgängen

Informationen zu den Preisen für die angegebene Abrechnungskategorie finden Sie unter Azure Blob Storage Preise.

Weitere Informationen

Status- und Fehlercodes
Blob Storage-Fehlercodes