Blokklista lekérése

A Get Block List művelet lekéri a blokkblob részeként feltöltött blokkok listáját.

Egy blobhoz két blokklista van fenntartva:

  • Véglegesített blokkok listája: Azoknak a blokkoknak a listája, amelyeket sikeresen véglegesítettek egy adott blobban a Tiltólista elhelyezése paranccsal.

  • Nem véglegesített blokklista: Azon blokkok listája, amelyeket a Put Block használatával töltöttek fel egy blobhoz, de még nem véglegesítve. Ezek a blokkok az Azure-ban vannak tárolva egy blobhoz társítva, de még nem képezik a blob részét.

A hívással Get Block List visszaadhatja a véglegesített tiltólistát, a nem véglegesített tiltólistát vagy mindkét listát. Ezt a műveletet is meghívhatja a pillanatkép véglegesített tiltólistájának lekéréséhez.

Kérés

A Get Block List kérelem az alábbiak szerint hozható létre. Javasoljuk, hogy HTTPS-t használjon. Cserélje le a myaccount kifejezést a tárfiók nevére:

GET metóduskérés URI-ja HTTP-verzió
https://myaccount.blob.core.windows.net/mycontainer/myblob?comp=blocklist

https://myaccount.blob.core.windows.net/mycontainer/myblob?comp=blocklist&snapshot=<DateTime>

https://myaccount.blob.core.windows.net/mycontainer/myblob?comp=blocklist&versionid=<DateTime>
HTTP/1.1

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 a Blob-szolgáltatás portját , 127.0.0.1:10000majd az emulált tárfiók nevét:

GET metóduskérés URI-ja HTTP-verzió
http://127.0.0.1:10000/devstoreaccount1/mycontainer/myblob?comp=blocklist HTTP/1.1

További információ: Az Azurite emulátor használata helyi Azure Storage-fejlesztéshez.

URI-paraméterek

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

URI-paraméter Description
snapshot Választható. A pillanatkép-paraméter egy átlátszatlan DateTime érték, amely jelen esetben meghatározza a lekérni kívánt bloblistát. A blobpillanatképek használatával kapcsolatos további információkért lásd: Blob pillanatképének létrehozása.
versionid Nem kötelező a 2019-12-12-s és újabb verziókhoz. A versionid paraméter egy átlátszatlan DateTime érték, amely jelen esetben meghatározza a lekérni kívánt blob verzióját.
blocklisttype Meghatározza, hogy a véglegesített blokkok listáját, a nem véglegesített blokkok listáját vagy mindkét listát együtt szeretné-e visszaadni. Az érvényes értékek a következők: committed, uncommittedvagy all. Ha kihagyja ezt a paramétert, Get Block List a lekötött blokkok listáját adja vissza.
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 Az összes engedélyezett kéréshez kötelező, a névtelen kérésekhez nem kötelező. 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-lease-id:<ID> Választható. Ha ez a fejléc van megadva, a művelet csak akkor lesz végrehajtva, ha az alábbi feltételek mindegyike teljesül:

– A blob bérlete jelenleg aktív.
– A kérelemben megadott bérletazonosító megegyezik a blob bérletazonosítójával.

Ha ez a fejléc van megadva, és egyik feltétel sem teljesül, a kérés meghiúsul, és a művelet a 412-s állapotkóddal meghiúsul (az előfeltétel sikertelen).
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.

Ez a művelet feltételes fejlécek használatát is támogatja a művelet végrehajtásához, ha egy adott feltétel teljesül. További információ: Feltételes fejlécek megadása Blob Storage-műveletekhez.

A kérés törzse

Nincsenek.

Mintakérés

A következő mintakérési URI egy MOV1.avi nevű blob véglegesített blokklistáját adja vissza:

GET http://myaccount.blob.core.windows.net/movies/MOV1.avi?comp=blocklist&blocklisttype=committed HTTP/1.1

A következő mintakérés URI-ja a véglegesített és a nem véglegesített tiltólistát is visszaadja:

GET http://myaccount.blob.core.windows.net/movies/MOV1.avi?comp=blocklist&blocklisttype=all HTTP/1.1

A következő mintakérés URI-ja visszaadja a véglegesített blokklistát egy pillanatképhez. A pillanatképek csak véglegesített blokkokból állnak, így nincsenek hozzá nem véglegesített blokkok társítva.

GET http://myaccount.blob.core.windows.net/mycontainer/myblob?comp=blocklist&snapshot=2009-09-30T20%3a11%3a15.2735974Z

Reagálás

A válasz tartalmaz egy HTTP-állapotkódot, egy válaszfejléceket és egy választörzset, amely tartalmazza a blokkok listáját.

Á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 tartalmazhat. Minden szabványos fejléc megfelel a HTTP/1.1 protokoll specifikációjának.

Válaszfejléc Description
Last-Modified A blob utolsó módosításának dátuma/időpontja. A dátumformátum az RFC 1123-at követi. További információ: Dátum-/időértékek ábrázolása fejlécekben. Csak akkor adja vissza, ha a blob véglegesített blokkokat.

Minden olyan művelet, amely módosítja a blobot, beleértve a blob metaadatainak vagy tulajdonságainak frissítését is, megváltoztatja a blob utolsó módosítási időpontját.
ETag A blob ETagje. Csak akkor adja vissza, ha a blob véglegesített blokkokat.
Content-Type A blob MIME-tartalomtípusa. Az alapértelmezett érték application/xml.
x-ms-blob-content-length A blob mérete bájtban.
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 végrehajtásához használt szolgáltatásverziót jelzi. Ez a fejléc lesz visszaadva a 2009-09-19-es és újabb verzióval kapcsolatos kérésekhez.

Ez a fejléc a megadott verzió nélküli névtelen kérések esetén is megjelenik, ha a tároló nyilvános hozzáférésre lett megjelölve a Blob Storage 2009-09-19-es verziójával. Megjegyzés: Névtelen kéréssel csak a véglegesített tiltólista küldhető vissza.
Date A szolgáltatás által létrehozott UTC dátum/idő érték, amely a válasz indításának időpontját jelzi.
x-ms-client-request-id A kérések és a megfelelő válaszok hibaelhárítására használható. A fejléc értéke megegyezik a x-ms-client-request-id kérelemben szereplő fejléc értékével, és az érték legfeljebb 1024 látható ASCII-karaktert tartalmaz. Ha a x-ms-client-request-id fejléc nem szerepel a kérelemben, akkor az nem szerepel a válaszban.

Ez a művelet a feltételes fejlécek használatát is támogatja a tiltólista lekéréséhez, ha egy adott feltétel teljesül. További információ: Feltételes fejlécek megadása Blob Storage-műveletekhez.

Választörzs

A csak véglegesített blokkokat visszaadandó kérés választörzsének formátuma a következő:

<?xml version="1.0" encoding="utf-8"?>
<BlockList>
  <CommittedBlocks>
    <Block>
      <Name>base64-encoded-block-id</Name>
      <Size>size-in-bytes</Size>
    </Block>
  <CommittedBlocks>
</BlockList>

A véglegesített és a nem véglegesített blokkokat is visszaadó kérés választörzsének formátuma a következő:


<?xml version="1.0" encoding="utf-8"?>
<BlockList>
  <CommittedBlocks>
     <Block>
        <Name>base64-encoded-block-id</Name>
        <Size>size-in-bytes</Size>
     </Block>
  </CommittedBlocks>
  <UncommittedBlocks>
    <Block>
      <Name>base64-encoded-block-id</Name>
      <Size>size-in-bytes</Size>
    </Block>
  </UncommittedBlocks>
 </BlockList>

Mintaválasz

A következő példában a paraméter értéke blocklisttype , committedígy a válaszban csak a blob véglegesített blokkja lesz visszaadva.

HTTP/1.1 200 OK
Transfer-Encoding: chunked
Content-Type: application/xml
Server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0
x-ms-request-id: 42da571d-34f4-4d3e-b53e-59a66cb36f23
Date: Sun, 25 Sep 2011 00:33:19 GMT

<?xml version="1.0" encoding="utf-8"?>
<BlockList>
  <CommittedBlocks>
    <Block>
      <Name>BlockId001</Name>
      <Size>4194304</Size>
    </Block>
    <Block>
      <Name>BlockId002</Name>
      <Size>4194304</Size>
    </Block>
  </CommittedBlocks>
</BlockList>

Ebben a példában a paraméter értéke blocklisttype , allés a blob véglegesített és nem véglegesített blokkja is vissza lesz adva a válaszban.

HTTP/1.1 200 OK
Transfer-Encoding: chunked
Content-Type: application/xml
Server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0
x-ms-request-id: 42da571d-34f4-4d3e-b53e-59a66cb36f23
Date: Sun, 25 Sep 2011 00:35:56 GMT

<?xml version="1.0" encoding="utf-8"?>
<BlockList>
  <CommittedBlocks>
    <Block>
      <Name>BlockId001</Name>
      <Size>4194304</Size>
    </Block>
    <Block>
      <Name>BlockId002</Name>
      <Size>4194304</Size>
    </Block>
  </CommittedBlocks>
  <UncommittedBlocks>
    <Block>
      <Name>BlockId003</Name>
      <Size>4194304</Size>
    </Block>
    <Block>
      <Name>BlockId004</Name>
      <Size>1024000</Size>
    </Block>
  </UncommittedBlocks>
</BlockList>

Ebben a következő példában a paraméter allértéke blocklisttype , de a blob még nem lett véglegesítve, ezért az CommittedBlocks elem üres.

HTTP/1.1 200 OK
Transfer-Encoding: chunked
Content-Type: application/xml
Server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0
x-ms-request-id: 42da571d-34f4-4d3e-b53e-59a66cb36f23
Date: Wed, 14 Sep 2011 00:40:22 GMT

<?xml version="1.0" encoding="utf-8"?>
<BlockList>
  <CommittedBlocks />
  <UncommittedBlocks>
    <Block>
      <Name>BlockId001</Name>
      <Size>1024</Size>
    </Block>
    <Block>
      <Name>BlockId002</Name>
      <Size>1024</Size>
    </Block>
    <Block>
      <Name>BlockId003</Name>
      <Size>1024</Size>
    </Block>
    <Block>
      <Name>BlockId004</Name>
      <Size>1024</Size>
    </Block>
  </UncommittedBlocks>
</BlockList>

Engedélyezés

Az azure storage-beli adathozzáférési műveletek meghívásakor engedélyezés szükséges. A műveletet az Get Block List alábbiak szerint engedélyezheti.

Az Azure Storage támogatja a 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 rendszerbiztonsági tagnak. A rendszerbiztonsági tag lehet felhasználó, csoport, alkalmazás-szolgáltatásnév vagy Azure-beli felügyelt identitás. A rendszerbiztonsági tag hitelesítését a Microsoft Entra ID végzi egy OAuth 2.0-jogkivonat visszaadásához. A jogkivonat ezután a Blob szolgáltatásra irányuló 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: Blobokhoz való hozzáférés 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 Get Block List műveletet, valamint a legkevésbé emelt szintű beépített Azure RBAC-szerepkört, amely tartalmazza ezt a műveletet:

A szerepkörök Azure RBAC-vel való hozzárendelésével kapcsolatos további információkért lásd: Azure-szerepkör hozzárendelése blobadatokhoz való hozzáféréshez.

Megjegyzések

Hívás Get Block List a blokkblobra véglegesített blokkok listájának, a még le nem véglegesített blokkok listájának vagy mindkét listának a visszaadására. A paraméter használatával blocklisttype adja meg, hogy mely blokkok listáját szeretné visszaadni. A véglegesített blokkok listája ugyanabban a sorrendben lesz visszaadva, mint amelyet a Tiltólista elhelyezése művelet véglegesített.

A nem véglegesített tiltólistával megállapíthatja, hogy mely blokkok hiányoznak a blobból azokban az esetekben, amikor a hívás vagy Put BlockPut Block List sikertelen volt. A nem véglegesített blokkok listája betűrendben lesz visszaadva. Ha egy blokkazonosító többször lett feltöltve, csak a legutóbb feltöltött blokk jelenik meg a listában.

Megjegyzés

Ha még nem véglegesített egy blobot, a meghívás Get Block List a blocklisttype=all nem véglegesített blokkokat adja vissza, és az CommittedBlocks elem üres.

Get Block List nem támogatja az egyidejűséget, ha beolvassa a nem véglegesített blokkok listáját. A hívások száma Get Block Listblocklisttype=uncommitted alacsonyabb vagy blocklisttype=all alacsonyabb, mint a többi olvasási művelet esetében. Az olvasási műveletek cél átviteli sebességével kapcsolatos részletekért lásd: Az Azure Storage méretezhetőségi és teljesítménycéljai.

A 2019-12-12-es verziótól a blokkblob legfeljebb 4000 mebibytes (MiB) blokkot tartalmazhat. Az aláírt 32 bites egész számot használó alkalmazások védelméhez a blokkméret Get Block List megjelenítéséhez a 2019-12-12-nél korábbi REST-verziójú, 100 MiB-nél nagyobb blokkot tartalmazó blokkot tartalmazó blokkblob meghívása 409-es állapotkódot eredményez (ütközés).

Get Block List csak a blokkblobokra vonatkozik. Egy Get Block List lapblob hívása a 400-ra (hibás kérelem) vonatkozó állapotkódot eredményezi.

Get Block List egy archivált blokkblobon sikertelen lesz.

Számlázás

A díjszabási kérések olyan ügyfelektől származhatnak, amelyek Blob Storage API-kat használnak, közvetlenül a Blob Storage REST API-ból vagy egy Azure Storage-ügyfélkódtárból. 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 Get Block List mutatja be:

Művelet Tárfiók típusa Számlázási kategória
Blokklista lekérése Prémium szintű blokkblob
Standard általános célú v2
Egyéb műveletek
Blokklista lekérése Standard általános célú v1 Olvasási műveletek

A megadott számlázási kategória díjszabásáról a Azure Blob Storage Díjszabás című témakörben talál további információt.

Lásd még

Kérések engedélyezése az Azure Storageállapotára és hibakódokBlob Storage-hibakódokIdőtúllépések beállítása a Blob Storage-műveletekhez