Freigeben über


Blobs auflisten

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

Bitten

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 Emulatorhost und den Azure Blob Storage-Port als 127.0.0.1:10000an, gefolgt vom emulierten Speicherkontonamen.

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 Wahlfrei. 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 in Fällen auf, in denen der Name einer Datei in der Mitte des Präfixpfads angezeigt wird. Beispielsweise können Sie versuchen, Blobs zu finden, die readmefile.txt benannt sind, indem Sie den Präfixpfad folder1/folder2/readme/readmefile.txtverwenden. Wenn ein Unterordner eine Datei mit dem Namen readmeenthält, wird ein Fehler angezeigt.
delimiter Wahlfrei. 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 Wahlfrei. Ein Zeichenfolgenwert, der den Teil der Liste identifiziert, der mit dem nächsten Listenvorgang zurückgegeben werden soll. Der Vorgang gibt einen Markierungswert im Antworttext zurück, wenn die zurückgegebene Liste nicht abgeschlossen wurde. Anschließend können Sie den Markierungswert in einem nachfolgenden Aufruf verwenden, um den nächsten Satz von Listenelementen anzufordern.

Der Markerwert ist für den Client nicht transparent.
maxresults Wahlfrei. Gibt die maximale Anzahl von blobs an, die zurückgegeben werden sollen, einschließlich aller BlobPrefix Elemente. Wenn die Anforderung nicht maxresultsangibt oder 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 sollen, gibt der Dienst ein Fortsetzungstoken im NextMarker Antwortelement zurück. In bestimmten Fällen gibt der Dienst möglicherweise weniger Ergebnisse zurück als durch maxresultsangegeben, und es wird auch ein Fortsetzungstoken zurückgegeben.

Das Festlegen maxresults auf einen Wert kleiner oder gleich Null führt zu Fehlerantwortcode 400 (ungültige Anforderung).
include={snapshots,metadata,uncommittedblobs,copy,deleted,tags,versions,
deletedwithversions,immutabilitypolicy,legalhold,permissions}
Wahlfrei. Gibt ein oder mehrere Datasets an, die in die Antwort eingeschlossen werden sollen:

- snapshots: Gibt an, dass Momentaufnahmen in die Enumeration einbezogen werden sollen. Momentaufnahmen werden von der ältesten bis zur neuesten in der Antwort aufgelistet.
- metadata: Gibt an, dass BLOB-Metadaten in der Antwort zurückgegeben werden.
- uncommittedblobs: Gibt an, dass Blobs, für die Blöcke hochgeladen wurden, jedoch nicht mithilfe von Put Block Listin die Antwort einbezogen wurden.
- copy: Version 2012-02-12 und höher. Gibt an, dass Metadaten, die sich auf aktuelle oder vorherige Copy Blob Operation beziehen, in die Antwort einbezogen 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 BLOB-Indextags 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 allen Versionen (aktiv oder gelöscht) in die Antwort einbezogen 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 rechtlichen Halteraum von Blobs enthalten soll.
- permissions: Version 2020-06-12 und höher. Wird nur für Konten mit aktiviertem hierarchischen Namespace unterstützt. 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 aufgenommen.

Um mehrere dieser Optionen für den URI anzugeben, müssen Sie jede Option durch ein URL-codiertes Komma ("%82") trennen.
showonly={deleted,files,directories} Wahlfrei. Gibt einen dieser 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 POSIX ACL-Autorisierungsfallback für die Auflistung 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 Wahlfrei. Der parameter timeout wird in Sekunden ausgedrückt. Weitere Informationen finden Sie unter Festlegen von Timeouts für Blob Storage-Vorgänge.

Anforderungsheader

In der folgenden Tabelle werden die erforderlichen und optionalen 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 (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 Vorgangs an, der für diese Anforderung verwendet werden soll. Weitere Informationen finden Sie unter Versionsverwaltung für die Azure Storage-Dienste.
x-ms-client-request-id Wahlfrei. Stellt einen vom Client generierten, undurchsichtigen Wert mit einem 1-Kibibyte-Zeichenlimit (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 von Azure Blob Storage.
x-ms-upn Wahlfrei. Nur gültig, wenn ein hierarchischer Namespace für das Konto aktiviert ist und include=permissions in der Anforderung bereitgestellt wird. Wenn true, werden die im <Owner>, <Group>zurückgegebenen Benutzeridentitätswerte und <Acl-> Felder von Microsoft Entra-Objekt-IDs in Benutzerprinzipalnamen transformiert. Wenn false, werden die Werte als Microsoft Entra-Objekt-IDs zurückgegeben. Der Standardwert ist false. Beachten Sie, dass Gruppen- und Anwendungsobjekt-IDs nicht übersetzt werden, da sie keine eindeutigen Anzeigenamen haben.

Anforderungstext

Nichts.

Beispielanforderung

Eine Beispielanforderung finden Sie unter Aufzählen von BLOB-Ressourcen.

Antwort

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

Statuscode

Ein erfolgreicher Vorgang gibt den Statuscode 200 (OK) zurück. Informationen zu Statuscodes finden Sie unter Status- und Fehlercodes.

Antwortheader

Die Antwort für diesen Vorgang enthält die folgenden Header. Die Antwort kann auch zusätzliche, standardmäßige HTTP-Header 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 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 vorgenommen wurden.

Dieser Header wird auch für anonyme Anforderungen ohne angegebene Version zurückgegeben, wenn der Container mit der 2009-09-19-Version von Blob Storage für den öffentlichen Zugriff gekennzeichnet wurde.
Date Ein UTC-Datums-/Uhrzeitwert, der die Uhrzeit angibt, zu der die Antwort initiiert wurde. Der Dienst generiert diesen Wert.
x-ms-client-request-id Sie können diesen Header verwenden, um Anfragen und entsprechende Antworten zu behandeln. 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

Das Format der XML-Antwort lautet wie folgt.

Beachten Sie, dass die elemente Prefix, Marker, MaxResultsund Delimiter nur vorhanden sind, wenn sie für den Anforderungs-URI angegeben wurden. Das NextMarker-Element weist nur dann einen Wert auf, wenn die Listenergebnisse nicht abgeschlossen sind.

Momentaufnahmen, Blobmetadaten und nicht hinzugefügte Blobs werden nur in der Antwort eingeschlossen, wenn sie mit dem parameter include für den Anforderungs-URI angegeben werden.

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

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

  • Last-Modified (zuvor LastModified)

  • Content-Length (zuvor Size)

  • Content-Type (zuvor ContentType)

  • Content-Encoding (zuvor ContentEncoding)

  • Content-Language (zuvor 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 Blobhochladen. Blob Storage berechnet dies nicht, wenn Sie ein Blob mithilfe von Put Block Listerstellen. Sie können den Content-MD5 Wert explizit festlegen, wenn Sie das Blob erstellen, oder indem Sie die Put Block List oder Set Blob Properties-Vorgänge aufrufen.

Für Versionen von 2009-09-19 und höher können Sie jedoch vor Version 2015-02-21 keine List Blobs für einen Container aufrufen, der Anfüge-Blobs enthält. Der Dienst gibt den Statuscode 409 (Conflict) zurück, wenn das Ergebnis der Auflistung ein Anfüge-BLOB enthält.

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

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

In Version 2013-08-15 und höher enthält das EnumerationResults-Element ein ServiceEndpoint-Attribut, das den Blob-Endpunkt angibt. Dieses Element enthält auch ein ContainerName Feld, das den Namen des Containers angibt. In früheren Versionen wurden diese beiden Attribute im feld ContainerName 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 gibt List Blobs Blobs aller Typen zurück (Block, Seite und Anfügen von Blobs).

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

Für Version 2016-05-31 und höher gibt List Blobs 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 List Blobs das AccessTier Element zurück, wenn eine Zugriffsebene explizit festgelegt wurde. Eine Liste der zulässigen Premium-Seiten-BLOB-Ebenen finden Sie unter Hochleistungs-Premiumspeicher und verwaltete Datenträger für VMs. Für Blob Storage- oder allgemeine v2-Konten sind gültige Werte Hot, Coolund Archive. Wenn sich das Blob im ausstehenden Zustand des Rehydrats befindet, wird ArchiveStatus Element mit einem der gültigen Werte zurückgegeben (rehydrate-pending-to-hot, rehydrate-pending-to-cooloder rehydrate-pending-to-cold). Ausführliche Informationen zum Blockieren von BLOB-Ebenen finden Sie unter Hot-, Cool- und Archivspeicherebenen.

Für Version 2017-04-17 und höher gibt List Blobs das AccessTierInferred-Element für Blob Storage- oder allgemeine v2-Konten zurück. Wenn der Block-BLOB nicht über den Zugriffsebenensatz verfügt, werden Tierinformationen von den Eigenschaften des Speicherkontos 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 allgemeine v2-Konten zurück. Dies wird nur zurückgegeben, wenn die Leiste für block-BLOB jemals festgelegt wurde. Weitere Informationen finden Sie unter Darstellung von Datums-/Uhrzeitwerten in Kopfzeilen.

Für Version 2017-07-29 und höher werden Deleted, DeletedTimeund RemainingRetentionDays angezeigt, wenn dieser Vorgang den parameter include={deleted} 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 das vorläufige Löschen aktiviert wurde. Das Deleted-Element wird auf true für Blobs und Momentaufnahmen festgelegt, die vorläufig gelöscht werden. 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 Creation-Time den Zeitpunkt zurück, zu dem dieses Blob erstellt wurde.

Für Version 2019-02-02 und höher gibt List Blobs das CustomerProvidedKeySha256-Element zurück, 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 parameter include={metadata} enthält und anwendungsmetadaten in einem blob vorhanden sind, der mit einem vom Kunden bereitgestellten Schlüssel verschlüsselt ist, verfügt das Metadata-Element über ein Encrypted="true"-Attribut. Dieses Attribut gibt an, dass das Blob Metadaten enthält, die nicht als Teil des List Blobs-Vorgangs entschlüsselt werden können. Um auf die Metadaten für diese Blobs zuzugreifen, rufen Sie Get Blob Properties oder Get Blob Metadata mit dem vom Kunden bereitgestellten Schlüssel auf.

Für Version 2019-02-02 und höher gibt List Blobs das EncryptionScope-Element zurück, 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 parameter include={metadata} enthält, werden Anwendungsmetadaten im Blob transparent entschlüsselt und im Metadata-Element verfügbar.

Für Version 2019-12-12 und höher gibt List Blobs das RehydratePriority Element für Blob Storage- oder allgemeine 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 gibt List Blobs das VersionId-Element für Blobs und generierte BLOB-Versionen zurück, wenn die Versionsverwaltung für das Konto aktiviert ist.

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

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

Für Version 2019-12-12 und höher gibt List Blobs 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üge-Blob nicht versiegelt ist.

Für Version 2020-02-10 und höher gibt List Blobs das LastAccessTime-Element zurück. Das Element zeigt an, wann auf die Daten des BLOB zuletzt zugegriffen wurde, entsprechend der Richtlinie für die Nachverfolgung der letzten Zugriffszeit 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 Richtlinie für die Nachverfolgung der letzten Zugriffszeit des Kontos finden Sie in der BLOB-Dienst-API. Das LastAccessTime-Element verfolgt nicht das letzte Mal, wenn auf die Metadaten des Blobs zugegriffen wird.

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

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

Für Konten mit aktiviertem hierarchischen Namespace gibt List Blobs für Version 2020-06-12 und höher die elemente Owner, 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 Die Version 2020-06-12 und höher gibt List Blobs für Konten mit aktiviertem hierarchischen Namespace das Properties-Element im BlobPrefix-Element zurück. Dies entspricht den Eigenschaften im Verzeichnis.

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

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

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

Für Konten mit aktiviertem hierarchischen Namespace gibt List Blobs für Version 2021-06-08 und höher das Placeholder Eigenschaftenelement 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 Konten mit aktiviertem hierarchischen Namespace gibt List Blobs für Version 2021-06-08 und höher das EncryptionContext-Element zurück. Wenn der Wert der Verschlüsselungskontexteigenschaft festgelegt wird, wird der festgelegte Wert zurückgegeben.

Für Konten mit aktiviertem hierarchischen Namespace gibt List Blobs für Version 2020-02-10 und höher 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 demselben 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>  

Beispielantwort

Eine Beispielantwort finden Sie unter Aufzählen von BLOB-Ressourcen.

Ermächtigung

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

Wichtig

Microsoft empfiehlt die Verwendung der Microsoft Entra-ID mit verwalteten Identitäten, um Anforderungen an Azure Storage zu autorisieren. Die Microsoft Entra-ID bietet eine bessere Sicherheit und Benutzerfreundlichkeit im Vergleich zur Shared Key-Autorisierung.

Azure Storage unterstützt die Verwendung der Microsoft Entra-ID zum Autorisieren von Anforderungen an BLOB-Daten. Mit Der Microsoft Entra-ID können Sie azure role-based access control (Azure RBAC) verwenden, um Berechtigungen für einen Sicherheitsprinzipal zu erteilen. Der Sicherheitsprinzipal kann ein Benutzer, eine Gruppe, ein Anwendungsdienstprinzipal oder eine von Azure verwaltete Identität sein. Der Sicherheitsprinzipal wird von der Microsoft Entra-ID authentifiziert, um ein OAuth 2.0-Token zurückzugeben. Das Token kann dann verwendet werden, um eine Anforderung für den Blob-Dienst zu autorisieren.

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

Erlaubnisse

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, die diese Aktion enthält:

Wenn Sie include=tagsangeben:

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

Bemerkungen

Blob-Eigenschaften in der Antwort

Wenn Sie angefordert haben, dass nicht freigegebene Blobs in die Enumeration einbezogen werden, beachten Sie, dass einige Eigenschaften erst festgelegt werden, wenn das Blob zugesichert wurde. 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.

Bei Seitenblobs entspricht der im Content-Length-Element zurückgegebene Wert dem Wert des x-ms-blob-content-length Headers des Blobs.

Das Content-MD5-Element wird nur dann im Antworttext angezeigt, wenn es für das Blob mithilfe der Version 2009-09-19 oder höher festgelegt wurde. Sie können die eigenschaft Content-MD5 festlegen, wenn das Blob erstellt wird, oder indem Sie Set Blob Propertiesaufrufen. In Version 2012-02-12 und höher legt Put Blob den MD5-Wert eines Block-Blobs fest, auch wenn die Put Blob-Anforderung keinen MD5-Header enthält.

Metadaten in der Antwort

Das Metadata-Element ist nur vorhanden, wenn der include=metadata Parameter für den URI angegeben wurde. Innerhalb des Metadata Elements wird der Wert jedes Namens-Wert-Paars innerhalb eines Elements aufgeführt, das dem Namen des Paares entspricht.

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

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 Folgendes:

  
…  
<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 tags im Blob 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 Sortierung von Tags wird in der Antwort nicht garantiert.

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

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

Momentaufnahmen in der Antwort

Momentaufnahmen werden nur dann in der Antwort aufgelistet, wenn der parameter include=snapshots für den URI angegeben wurde. Momentaufnahmen, die in der Antwort aufgeführt sind, enthalten nicht das LeaseStatus-Element, da Momentaufnahmen keine aktiven Leases haben können.

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

Nicht ausgelassene Blobs in der Antwort

Nicht ausgelassene Blobs werden nur in der Antwort aufgelistet, wenn der parameter include=uncommittedblobs für den URI angegeben wurde. Nicht ausgelassene Blobs, 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 parameter include=deleted für den URI angegeben wurde. Gelöschte Blobs, die in der Antwort aufgeführt sind, enthalten nicht die Lease-Elemente, da gelöschte Blobs keine aktiven Leases haben können.

Gelöschte Momentaufnahmen werden in der Listenantwort eingeschlossen, 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 mithilfe der Version 2019-12-12 oder höher erfolgt ist. Innerhalb des OrMetadata Elements wird der Wert jedes Namens-Wert-Paars innerhalb eines Elements aufgeführt, das dem Namen des Paares 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 oder 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 elemente ImmutabilityPolicyUntilDate und ImmutabilityPolicyMode sind nur vorhanden, wenn der parameter include=immutabilitypolicy für den URI angegeben wurde.

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

Das LegalHold-Element ist nur vorhanden, wenn der include=legalhold Parameter für den URI 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 für eine nachfolgende Anforderung zurückgegeben werden soll. In bestimmten Fällen gibt der Dienst möglicherweise das NextMarker-Element zurück, obwohl die Anzahl der zurückgegebenen Ergebnisse kleiner als der Wert von maxresultsist.

Um den nächsten Satz von Elementen zurückzugeben, geben Sie den Wert NextMarker als Markerparameter für den URI für die nachfolgende Anforderung an. Beachten Sie, dass der Wert von NextMarker als undurchsichtig behandelt werden sollte.

Verwenden eines Trennzeichens zum Durchlaufen des Blob-Namespace

Der parameter delimiter ermöglicht es dem Aufrufer, den BLOB-Namespace mithilfe eines vom Benutzer konfigurierten Trennzeichens zu durchlaufen. Auf diese Weise können Sie eine virtuelle Hierarchie von Blobs durchlaufen, als wäre es ein Dateisystem. 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 Teilzeichenfolge die allgemeine Teilzeichenfolge ist, die einen oder mehrere Blobnamen beginnt, und Trennzeichen der Wert des delimiter Parameters ist.

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

Beachten Sie, dass jedes zurückgegebene BlobPrefix-Element genauso wie jedes Blob-Element zu dem maximalen Ergebnis zählt.

Blobs werden im Antworttext in alphabetischer Reihenfolge mit großgeschriebenen Buchstaben aufgelistet.

Kopieren von Fehlern in der Beschreibung des Kopierstatus

CopyStatusDescription enthält weitere Informationen zum Copy Blob Fehler.

  • Wenn ein Kopierversuch fehlschlägt, wird CopyStatus auf pending festgelegt, 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 failedfestgelegt ist, beschreibt der CopyStatusDescription Text den Fehler, der dazu führte, dass der Kopiervorgang fehlschlug.

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

Bestandteil Beschreibung
HTTP-Statuscode Standardmäßige dreistellige ganzzahlige Zahl, 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 ein Schlüsselwort zurück, das Standardfehlertext enthält, der dem dreistelligen HTTP-Statuscode in der HTTP-Spezifikation zugeordnet ist. Weitere Informationen finden Sie unter Allgemeinen REST-API-Fehlercodes.
Information Detaillierte Beschreibung des Fehlers in Anführungszeichen.

In der folgenden Tabelle werden die werte CopyStatus und CopyStatusDescription gängiger Fehlerszenarien beschrieben.

Wichtig

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

Szenario Kopierstatuswert Statusbeschreibungswert kopieren
Der Kopiervorgang wurde erfolgreich abgeschlossen. Erfolg leer
Der Benutzer hat den Kopiervorgang abgebrochen, bevor er abgeschlossen wurde. abgebrochen leer
Fehler beim Lesen aus dem Quell-BLOB während eines Kopiervorgangs. Der Vorgang wird wiederholt. anhängig 502 BadGateway "Beim Lesen der Quelle ist ein erneuter Fehler aufgetreten. Versuchen Sie es erneut. Fehlerzeit: <Zeit>"
Fehler beim Schreiben in das Ziel-BLOB eines Kopiervorgangs. Der Vorgang wird wiederholt. anhängig 500 InternalServerError "Es ist ein erneuter Fehler aufgetreten. Versuchen Sie es erneut. Fehlerzeit: <Zeit>"
Beim Lesen aus dem Quell-BLOB eines Kopiervorgangs ist ein nicht wiederherstellbarer Fehler aufgetreten. misslungen 404 ResourceNotFound "Kopieren beim Lesen der Quelle fehlgeschlagen". Wenn der Dienst diesen zugrunde liegenden Fehler meldet, gibt er ResourceNotFound im <ErrorCode->-Element zurück. Wenn in der Antwort kein <ErrorCode> Element angezeigt wurde, wird eine Standardzeichenfolgendarstellung des HTTP-Status angezeigt, z. B. NotFound.
Der Timeoutzeitraum, der alle verstrichenen Kopiervorgänge begrenzt. (Derzeit beträgt der Timeoutzeitraum zwei Wochen.) misslungen 500 OperationCancelled "Die Kopie hat die maximal zulässige Zeit überschritten."
Der Kopiervorgang ist beim Lesen aus der Quelle zu häufig fehlgeschlagen und hat kein Mindestverhältnis von Versuchen zu Erfolgen erfüllt. (Dieses Timeout verhindert, dass eine sehr schlechte Quelle mehr als zwei Wochen vor dem Fehlschlagen versucht wird). misslungen 500 OperationCancelled "Fehler beim Lesen 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. Diese Anforderungen anfallen Gebühren pro Transaktion. Der Transaktionstyp wirkt sich auf die Belastung des Kontos aus. Lesen Sie z. B. Transaktionen, die einer anderen Abrechnungskategorie als dem Schreiben von Transaktionen zugerechnet werden. Die folgende Tabelle zeigt die Abrechnungskategorie für List Blobs Anforderungen basierend auf dem Speicherkontotyp:

Operation Speicherkontotyp Abrechnungskategorie
Blobs auflisten Premium-Block-BLOB
Standard general-purpose v2
Standard general-purpose v1
Listen- und Erstellen von Containervorgängen

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

Siehe auch

Status- und Fehlercodes
Blob Storage-Fehlercodes