Tárolók listázása
A List Containers
művelet a megadott tárfiók alatti tárolók listáját adja vissza.
Kérés
A kérést a List Containers
következőképpen hozhatja létre. A HTTPS használata ajánlott. Cserélje le a myaccount nevet 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 a gazdagép nevét 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 gazdagépnevé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árterület csak a 2 GiB-ig tartó blobméreteket támogatja.
További információ: Az Azurite emulátor használata a helyi Azure Storage-fejlesztéshez , valamint 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ó. Sztringérték, amely a következő listázási művelettel visszaadandó tárolók listájának részét azonosítja. A művelet a válasz törzsében NextMarker lévő értéket adja vissza, ha a listázási művelet nem adja vissza az összes olyan tárolót, amely az aktuális oldallal együtt szerepel. Az értéket a paraméter értékeként marker használhatja NextMarker 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ó. Megadja a visszaadni kívánt tárolók maximális számát. Ha a kérés nem ad meg maxresults , 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, a szolgáltatás egy folytatási jogkivonatot ad vissza az eredmények fennmaradó részének lekéréséhez. Ezért lehetséges, hogy a szolgáltatás kevesebb eredményt ad vissza, mint amit maxresults a , vagy az alapértelmezett értéke 5000. Ha a paraméter nullánál kisebb vagy egyenlő értékre van állítva, a kiszolgáló a 400-ás állapotkódot adja vissza (Hibás kérés). |
include={metadata,deleted,system} |
Választható. Egy vagy több adatkészletet ad 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 is 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. Ezzel a beállítással listázhatja 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 a 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érések 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érések engedélyezése az Azure Storage-ba. |
x-ms-version |
Minden engedélyezett kéréshez szükséges. A kérelemhez használni kívánt 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 kib-os (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ó: Monitorozási Azure Blob Storage. |
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-ra (OK) vonatkozó állapotkódot adja vissza. 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. Azt a formátumot adja meg, amelyben a rendszer visszaadja az eredményeket. 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 Blob Storage kérés futtatásához használt verzióját jelzi. A rendszer ezt a fejlécet adja vissza 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. A szolgáltatás létrehozza ezt az értéket. |
x-ms-client-request-id |
Ezzel a fejlécmel elháríthatja a kéréseket és a megfelelő válaszokat. A fejléc értéke megegyezik a fejléc értékével x-ms-client-request-id , 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óban jelenik 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.
Fontos
A Microsoft azt javasolja, hogy Microsoft Entra ID felügyelt identitásokkal engedélyezze az Azure Storage-ra irányuló kéréseket. Microsoft Entra ID a megosztott kulcs engedélyezéséhez képest kiváló biztonságot és könnyű használatot biztosít.
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 felsoroljuk azt az RBAC-műveletet, amely a művelet meghívásához List Containers
szükséges Microsoft Entra felhasználóhoz, csoporthoz, felügyelt identitáshoz vagy szolgáltatásnévhez, valamint a legkevésbé emelt szintű beépített Azure RBAC-szerepkörhöz, 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ás |
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