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 NextMarker marker é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 maxresults a é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 maxresults megadottná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 $changefeed a 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 AccountName
EnumerationResults
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-Modified
elemben. 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:
- Azure RBAC-művelet:Microsoft.Storage/storageAccounts/blobServices/containers/read (hatóköre a tárfiókra vagy a fentire terjed ki)
- Legkevésbé emelt szintű beépített szerepkör:Storage-blobadatok közreműködője (hatóköre a tárfiókra vagy a fentire terjed ki)
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