Tárolók listázása

A List Containers művelet visszaadja a megadott tárfiókban található tárolók listáját.

Kérés

A kérést az List Containers alábbiak szerint hozhatja létre. A HTTPS használata ajánlott. Cserélje le a myaccount kifejezést a tárfiók nevére.

Metódus Kérés URI-ja HTTP-verzió
GET https://myaccount.blob.core.windows.net/?comp=list HTTP/1.1

Vegye figyelembe, hogy az URI-nak mindig tartalmaznia kell a perjelet (/), hogy elkülönítse az állomásnevet az URI elérési útjától és lekérdezési részeitől. A művelet esetében az List Containers URI elérési útja üres.

Emulált tárolási szolgáltatás kérése

Amikor kérést küld az emulált tárolási szolgáltatásra, adja meg az emulátor gazdanevét és Azure Blob Storage portot 127.0.0.1:10000, majd az emulált tárfiók nevét.

Metódus Kérés URI-ja HTTP-verzió
GET http://127.0.0.1:10000/devstoreaccount1?comp=list HTTP/1.1

Vegye figyelembe, hogy az emulált tároló csak a legfeljebb 2 GiB méretű blobokat támogatja.

További információ: Az Azurite emulátor használata a helyi Azure Storage-fejlesztéshez és a Storage emulátor és az Azure Storage-szolgáltatások közötti különbségek.

URI-paraméterek

A kérelem URI-ján a következő további paramétereket adhatja meg.

Paraméter Leírás
prefix Választható. Az eredményeket úgy szűri, hogy csak a megadott előtaggal kezdődő nevű tárolókat adja vissza.
marker Választható. Egy sztringérték, amely azonosítja a tárolók listájának a következő listázási művelettel visszaadandó részét. A művelet a NextMarker válasz törzsében lévő értéket adja vissza, ha a listázási művelet nem adta vissza az aktuális oldallal listázandó összes tárolót. A paraméter értékeként használhatja az NextMarkermarker értéket egy későbbi hívásban a listaelemek következő oldalának lekéréséhez.

A jelölő értéke átlátszatlan az ügyfél számára.
maxresults Választható. A visszaadandó tárolók maximális számát adja meg. Ha a kérés nem adja meg maxresultsa értéket, vagy 5000-nél nagyobb értéket ad meg, a kiszolgáló legfeljebb 5000 elemet ad vissza.

Vegye figyelembe, hogy ha a listázási művelet átlép egy partícióhatárt, akkor a szolgáltatás egy folytatási jogkivonatot ad vissza az eredmények fennmaradó részének lekéréséhez. Emiatt előfordulhat, hogy a szolgáltatás a által maxresultsmegadottnál kevesebb eredményt ad vissza, vagy az alapértelmezett 5000-nél.

Ha a paraméter nullánál kisebb vagy egyenlő értékre van állítva, a kiszolgáló a 400-es állapotkódot adja vissza (Hibás kérés).
include={metadata,deleted,system} Választható. Egy vagy több adathalmazt határoz meg, amely szerepel a válaszban:

-metadata: Vegye figyelembe, hogy az ezzel a paraméterrel kért metaadatokat a Blob Storage 2009-09-19 verziójának elnevezési korlátozásaival összhangban kell tárolni. Ezzel a verzióval kezdődően minden metaadatnévnek meg kell felelnie a C#-azonosítók elnevezési konvencióinak.
-deleted: 2019-12-12-es és újabb verzió. Megadja, hogy a helyreállíthatóan törölt tárolókat bele kell foglalni a válaszba.
-system: 2020-10-02-es és újabb verzió. Megadja, hogy a rendszertárolók szerepeljenek-e a válaszban. Ezt a lehetőséget is beleértve felsorolja a rendszertárolókat, például $logs a és $changefeeda tárolókat. Vegye figyelembe, hogy a visszaadott rendszertárolók eltérőek lesznek attól függően, hogy mely szolgáltatásfunkciók vannak engedélyezve a tárfiókon.
timeout Választható. A timeout paraméter másodpercben van kifejezve. További információ: Időtúllépések beállítása Blob Storage-műveletekhez.

Kérésfejlécek

Az alábbi táblázat a szükséges és nem kötelező kérelemfejléceket ismerteti.

Kérelem fejléce Leírás
Authorization Kötelező. Megadja az engedélyezési sémát, a fióknevet és az aláírást. További információ: Kérelmek engedélyezése az Azure Storage-ba.
Date vagy x-ms-date Kötelező. Megadja a kérés egyezményes világidő (UTC) formátumban kifejezett időpontját. További információ: Kérelmek engedélyezése az Azure Storage-ba.
x-ms-version Minden engedélyezett kéréshez szükséges. A kérelemhez használandó művelet verzióját adja meg. További információ: Az Azure Storage-szolgáltatások verziószámozása.
x-ms-client-request-id Választható. Ügyfél által generált, átlátszatlan értéket biztosít egy 1 kibibyte (KiB) karakterkorláttal, amelyet a naplózás konfigurálásakor rögzít a naplókban. Javasoljuk, hogy ezt a fejlécet használva korrelálja az ügyféloldali tevékenységeket a kiszolgáló által kapott kérésekkel. További információ: Azure Blob Storage figyelése.

A kérés törzse

Nincsenek.

Reagálás

A válasz tartalmaz egy HTTP-állapotkódot, egy válaszfejléceket és egy XML formátumú választörzset.

Állapotkód

A sikeres művelet a 200 -os állapotkódot adja vissza (OK). Az állapotkódokkal kapcsolatos információkért lásd: Állapot- és hibakódok.

Válaszfejlécek

A műveletre adott válasz a következő fejléceket tartalmazza. A válasz további szabványos HTTP-fejléceket is tartalmaz. Minden szabványos fejléc megfelel a HTTP/1.1 protokoll specifikációjának.

Válaszfejléc Description
Content-Type Standard HTTP/1.1 fejléc. Megadja az eredmények visszaadott formátumát. Ez az érték jelenleg a .application/xml
x-ms-request-id Ez a fejléc egyedileg azonosítja a végrehajtott kérést, és a kérés hibaelhárításához használható. További információ: API-műveletek hibaelhárítása.
x-ms-version A kérés futtatásához használt Blob Storage-verziót jelzi. Ez a fejléc lesz visszaadva a 2009-09-19-es és újabb verzióval kapcsolatos kérésekhez.
Date UTC dátum/idő érték, amely a válasz indításának időpontját jelzi. Ezt az értéket a szolgáltatás hozza létre.
x-ms-client-request-id Ezzel a fejléccel elháríthatja a kéréseket és a megfelelő válaszokat. Ennek a fejlécnek az értéke megegyezik a x-ms-client-request-id fejléc értékével, ha az szerepel a kérelemben. Az érték legfeljebb 1024 látható ASCII-karakter lehet. Ha a x-ms-client-request-id fejléc nem szerepel a kérelemben, akkor ez a fejléc nem jelenik meg a válaszban.

Választörzs

A válasz törzsének formátuma a következő.

<?xml version="1.0" encoding="utf-8"?>  
<EnumerationResults ServiceEndpoint="https://myaccount.blob.core.windows.net">  
  <Prefix>string-value</Prefix>  
  <Marker>string-value</Marker>  
  <MaxResults>int-value</MaxResults>  
  <Containers>  
    <Container>  
      <Name>container-name</Name>  
      <Version>container-version</Version>
      <Deleted>true</Deleted>
      <Properties>  
        <Last-Modified>date/time-value</Last-Modified>  
        <Etag>etag</Etag>  
        <LeaseStatus>locked | unlocked</LeaseStatus>  
        <LeaseState>available | leased | expired | breaking | broken</LeaseState>  
        <LeaseDuration>infinite | fixed</LeaseDuration> 
        <PublicAccess>container | blob</PublicAccess>
        <HasImmutabilityPolicy>true | false</HasImmutabilityPolicy>
        <HasLegalHold>true | false</HasLegalHold>
        <DeletedTime>datetime</DeletedTime>
        <RemainingRetentionDays>no-of-days</RemainingRetentionDays>
      </Properties>  
      <Metadata>  
        <metadata-name>value</metadata-name>  
      </Metadata>  
    </Container>  
  </Containers>  
  <NextMarker>marker-value</NextMarker>  
</EnumerationResults>  

LeaseStatus, LeaseStateés LeaseDuration csak a 2012-02-12-es és újabb verziókban jelennek meg.

A 2013-08-15-ös verziótól kezdve az AccountNameEnumerationResults elem attribútuma átnevezve a következőre ServiceEndpoint: . Az URL elem szintén el lett távolítva az Container elemből. A 2013-08-15 előtti verziók esetében a tároló mező által URL megadott URL-címe nem tartalmazza a paramétert restype=container . Ha ezt az értéket használja az enumerált tárolókra vonatkozó további kérések igényléséhez, mindenképpen fűzze hozzá ezt a paramétert, hogy jelezze, hogy az erőforrás típusa tároló.

A Prefix, Markerés MaxResults elem csak akkor jelenik meg, ha megadja őket az URI-ben. Az NextMarker elem csak akkor rendelkezik értékkel, ha a listaeredmények nem fejeződnek be.

Az Metadata elem csak akkor jelenik meg, ha megadja a paramétert include=metadata az URI-n. Metadata Az elemen belül az egyes név-érték párok értéke a pár nevének megfelelő elemen belül jelenik meg.

Ha egy metaadat-név-érték pár megsérti a 2009-09-19 verzió által kikényszerített elnevezési korlátozásokat, a válasz törzse egy elemen belül x-ms-invalid-name jelzi a problémás nevet. Az alábbi XML-töredék a következőt mutatja:

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

A 2016-05-31-es verziótól kezdve a tároló nyilvános engedélyeit a PublicAccess tulajdonság tartalmazza. Azt jelzi, hogy a tárolóban lévő adatok nyilvánosan elérhetők-e, és hogy milyen szintű hozzáférés érhető el. A lehetséges értékek a következők:

  • container: A tároló- és blobadatok teljes nyilvános olvasási hozzáférését jelzi. Az ügyfelek névtelen kéréssel számba tudják venni a blobokat a tárolón belül, de a tárfiókon belül nem lehet számba venni a tárolókat.
  • blob: A blobok nyilvános olvasási hozzáférését jelzi. A tárolón belüli blobadatok névtelen kéréssel olvashatók, de a tároló adatai nem érhetők el. Az ügyfelek nem tudnak blobokat számba kérni a tárolóban névtelen kéréssel.

Ha ez a tulajdonság nincs megadva a <properties> szakaszban, a tároló privát a fióktulajdonos számára.

HasImmutabilityPolicy és HasLegalHold csak a 2017-11-09-es és újabb verzióban jelenik meg. HasImmutabilityPolicy akkor van, true ha a tárolón egy módosíthatatlansági szabályzat van beállítva, máskülönben false . HasLegalHold akkor van, true ha a tárolón egy vagy több jogi mentesség van, és false egyéb esetben.

Megjegyzés

A 2009-09-19-es verziótól kezdődően a válasz törzse List Containers a tároló utolsó módosítási idejét adja vissza egy nevű Last-Modifiedelemben. A korábbi verziókban ezt az elemet nevezték el.LastModified

A Version, Deleted, DeletedTimeés RemainingRetentiondays elem csak akkor jelenik meg a 2019-12-12-es és újabb verzióban, ha megadja a deleted lekérdezési paraméter includeértékét. Ezek az elemek csak akkor jelennek meg, ha a tároló helyreállíthatóan törölve van, és visszaállítható. A Version, Deleted, DeletedTimeés RemainingRetentiondays elem csak akkor jelenik meg a 2019-12-12-es és újabb verzióban, ha a törölt érték meg van adva a include lekérdezési paraméterhez, és ha a tároló helyreállíthatóan törölve van, és visszaállítható.

Engedélyezés

Az Azure Storage-ban bármilyen adathozzáférési művelet meghívásához engedélyezésre van szükség. A műveletet az List Containers alábbiak szerint engedélyezheti.

Az Azure Storage támogatja az Microsoft Entra ID használatát a blobadatokra irányuló kérések engedélyezéséhez. A Microsoft Entra ID azure-beli szerepköralapú hozzáférés-vezérléssel (Azure RBAC) adhat engedélyeket egy biztonsági tagnak. A rendszerbiztonsági tag lehet felhasználó, csoport, alkalmazásszolgáltatásnév vagy Azure-beli felügyelt identitás. A rendszerbiztonsági tagot a Microsoft Entra ID hitelesíti egy OAuth 2.0-jogkivonat visszaadásához. A jogkivonat ezután a Blob szolgáltatással szembeni kérések engedélyezésére használható.

További információ a Microsoft Entra ID használatával történő engedélyezésről: Blobok hozzáférésének engedélyezése Microsoft Entra ID használatával.

Engedélyek

Az alábbiakban azokat az RBAC-műveletet soroljuk fel, amelyek szükségesek ahhoz, hogy egy Microsoft Entra felhasználó, csoport vagy szolgáltatásnév meghívja a List Containers műveletet, valamint a legkevésbé kiemelt beépített Azure RBAC-szerepkört, amely tartalmazza ezt a műveletet:

A szerepkörök Azure RBAC-vel való hozzárendeléséről további információt az Azure-szerepkör hozzárendelése a blobadatokhoz való hozzáféréshez című témakörben talál.

Megjegyzések

Ha értéket ad meg a maxresults paraméterhez, és a visszaadandó tárolók száma meghaladja ezt az értéket, vagy meghaladja az alapértelmezett értéket maxresults, a válasz törzse tartalmazza az NextMarker elemet. (Ezt folytatási jogkivonatnak is nevezik).

NextMarker azt jelzi, hogy a következő tároló visszatér-e egy későbbi kérelemre. A következő elemkészlet visszaadásához adja meg a paraméter értékét NextMarker az marker URI-n a következő kéréshez. Vegye figyelembe, hogy a értékét NextMarker átlátszatlanként kell kezelni.

Ha a listázási művelet átlép egy partícióhatárt, akkor a szolgáltatás egy értéket ad vissza az NextMarker elemnek a következő partícióból származó eredmények fennmaradó részének lekéréséhez. Egynél több partícióra kiterjedő listaelem-művelet esetén a visszaadott elemek kisebb halmaza lesz visszaadva, mint az maxresults, vagy az alapértelmezett értéke 5000. Az alkalmazásnak mindig ellenőriznie kell az elem jelenlétét a NextMarker listaelem-művelet végrehajtásakor, és ennek megfelelően kell kezelnie.

A tárolók betűrendben jelennek meg a válasz törzsében.

A List Containers művelet 30 másodperc után túllépi az időkorlátot.

Számlázás

A díjszabási kérések a Blob Storage API-kat használó ügyfelektől, közvetlenül a Blob Storage REST API-ból vagy egy Azure Storage-ügyfélkódtárból származhatnak. Ezek a kérések tranzakciónkénti díjakat halmoznak fel. A tranzakció típusa befolyásolja a fiók terhelését. Az olvasási tranzakciók például más számlázási kategóriába tartoznak, mint az írási tranzakciók. Az alábbi táblázat a tárfiók típusa alapján a kérelmek számlázási kategóriáját List Containers mutatja be:

Művelet Tárfiók típusa Számlázási kategória
Tárolók listázása Prémium szintű blokkblob
Standard általános célú v2
Standard általános célú v1
Tárolóműveletek listázása és létrehozása

A megadott számlázási kategória díjszabásával kapcsolatos további információkért lásd: Azure Blob Storage Díjszabás.

Mintakérés és válasz

Az alábbi URI-minta egy fiók tárolóinak listáját kéri le, és a kezdeti művelet maximális eredményét háromra állítja vissza.

GET https://myaccount.blob.core.windows.net/?comp=list&maxresults=3 HTTP/1.1  

A rendszer a következő fejlécekkel küldi el a kérést:

x-ms-version: 2016-05-31  
x-ms-date: Wed, 26 Oct 2016 22:08:44 GMT  
Authorization: SharedKey myaccount:CY1OP3O3jGFpYFbTCBimLn0Xov0vt0khH/D5Gy0fXvg=  

Az állapotkód és a válaszfejlécek a következőképpen lesznek visszaadva:

HTTP/1.1 200 OK  
Transfer-Encoding: chunked  
Content-Type: application/xml  
Date: Wed, 26 Oct 2016 22:08:54 GMT  
x-ms-version: 2016-05-31  
Server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0  
  

A kérés válasz XML-je a következő. Vegye figyelembe, hogy az NextMarker elem a tárolók készletét követi, és tartalmazza a következő visszaadandó tároló nevét.

<?xml version="1.0" encoding="utf-8"?>  
<EnumerationResults ServiceEndpoint="https://myaccount.blob.core.windows.net/">  
  <MaxResults>3</MaxResults>  
  <Containers>  
    <Container>  
      <Name>audio</Name>  
      <Properties>  
        <Last-Modified>Wed, 26 Oct 2016 20:39:39 GMT</Last-Modified>  
        <Etag>0x8CACB9BD7C6B1B2</Etag> 
        <PublicAccess>container</PublicAccess> 
      </Properties>  
    </Container>  
    <Container>  
      <Name>images</Name>  
      <Properties>  
        <Last-Modified>Wed, 26 Oct 2016 20:39:39 GMT</Last-Modified>  
        <Etag>0x8CACB9BD7C1EEEC</Etag>  
      </Properties>  
    </Container>  
    <Container>  
      <Name>textfiles</Name>  
      <Properties>  
        <Last-Modified>Wed, 26 Oct 2016 20:39:39 GMT</Last-Modified>  
        <Etag>0x8CACB9BD7BACAC3</Etag>  
      </Properties>  
    </Container>  
  </Containers>  
  <NextMarker>video</NextMarker>  
</EnumerationResults>  

Az ezt követő listaművelet az alábbiak szerint határozza meg a jelölőt a kérelem URI-ján. A következő eredményhalmaz a jelölő által megadott tárolóval kezdődik.

https://myaccount.blob.core.windows.net/?comp=list&maxresults=3&marker=video  

Lásd még

Kérések engedélyezése az Azure Storage-ba
Állapot- és hibakódok
Blob Storage-hibakódok
Bloberőforrások számbavétele
Az Azure Storage emulátor használata fejlesztéshez és teszteléshez
Időtúllépések beállítása a Blob Storage-műveletekhez