Blob Batch

A Blob Batch művelettel több API-hívás is beágyazható egyetlen HTTP-kérelembe. Ez az API kétféle albekérést támogat: Blobszint beállítása blokkblobokhoz és Blob törlése. A kiszolgáló által a kötegkérelmekhez visszaadott válasz tartalmazza a köteg egyes részkéréseinek eredményeit. A kötegelt kérés és válasz a kötegelt feldolgozás specifikációjának szintaxisát OData használja, a szemantika módosításaival. Ez az API a 2018-11-09-es verziótól érhető el.

Kérés

A kérést az Blob Batch 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ó
POST https://myaccount.blob.core.windows.net/?comp=batch

https://myaccount.blob.core.windows.net/containername?restype=container&comp=batch
HTTP/1.1

URI-paraméterek

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

Paraméter Leírás
timeout Választható. Az időtúllépési paraméter másodpercben van kifejezve, maximális értéke 120 másodperc. További információ: Időtúllépések beállítása Blob Storage-műveletekhez.
restype Nem kötelező, 2020-04-08-es vagy újabb verzió. A paraméter esetében az egyetlen támogatott érték a restypecontainer. Ha ez a paraméter meg van adva, az URI-nak tartalmaznia kell a tároló nevét. Minden albekérést ugyanarra a tárolóra kell korlátozni.

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 tárfiók nevét é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. Ez a verzió lesz használva az összes albekéréshez. További információ: Az Azure Storage-szolgáltatások verziószámozása.
Content-Length Kötelező. A kérelem hossza.
Content-Type Kötelező. A fejléc értékének kötegelt határral kell rendelkeznie multipart/mixed. Példa fejlécértékre: multipart/mixed; boundary=batch_a81786c8-e301-4e42-a729-a32ca24ae252.
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

A blobköteg kérelemtörzse tartalmazza az összes részkérés listáját. A formátum a kötegspecifikáció szintaxisát OData használja a szemantika módosításaival.

A kérelemtörzs egy köteghatárral kezdődik, amelyet két kötelező fejléc követ: a Content-Type fejléc a értékkel application/http, a Content-Transfer-Encoding fejléc pedig a értékkel binary. Ezt egy nem kötelező Content-ID fejléc követi, amely egy sztringértékkel követi az egyes részkéréseket. A válasz tartalmazza a Content-ID nyomon követéshez használandó összes megfelelő subrequest-válasz fejlécét.

Ezeket a kérésfejléceket egy kötelező üres sor követi, majd az egyes részkérések definíciója. Az egyes alkérelmek törzse egy teljes HTTP-kérés, amely a kéréshez szükséges igét, URL-címet, fejléceket és törzset tartalmaz. Vegye figyelembe a következő kikötéseket:

  • A subrequests nem rendelkezhet a következőkkel x-ms-version header: . Minden albekérés a legfelső szintű kötegelt kérelemverzióval fut.
  • A subrequest URL-címnek csak az URL-cím elérési útjára kell tartoznia (a gazdagép nélkül).
  • Minden kötegelt kérelem legfeljebb 256 részkérést támogat.
  • Minden albekérésnek azonos kéréstípusúnak kell lennie.
  • Az egyes részkérések külön-külön engedélyezve lesznek, a kérelemben megadott információkkal együtt.
  • A kérelem törzsének minden sorának \r\n karakterrel kell végződnie.

Mintakérés

POST http://account.blob.core.windows.net/?comp=batch HTTP/1.1 
Content-Type: multipart/mixed; boundary=batch_357de4f7-6d0b-4e02-8cd2-6361411a9525 
x-ms-version: 2018-11-09 
Authorization: SharedKey account:QvaoYDQ+0VcaA/hKFjUmQmIxXv2RT3XwwTsOTHL39HI=
Host: 127.0.0.1:10000 
Content-Length: 1569 

--batch_357de4f7-6d0b-4e02-8cd2-6361411a9525 
Content-Type: application/http 
Content-Transfer-Encoding: binary 
Content-ID: 0 

DELETE /container0/blob0 HTTP/1.1 
x-ms-date: Thu, 14 Jun 2018 16:46:54 GMT 
Authorization: SharedKey account:G4jjBXA7LI/RnWKIOQ8i9xH4p76pAQ+4Fs4R1VxasaE= 
Content-Length: 0 

--batch_357de4f7-6d0b-4e02-8cd2-6361411a9525 
Content-Type: application/http 
Content-Transfer-Encoding: binary 
Content-ID: 1 

DELETE /container1/blob1 HTTP/1.1 
x-ms-date: Thu, 14 Jun 2018 16:46:54 GMT 
Authorization: SharedKey account:IvCoYDQ+0VcaA/hKFjUmQmIxXv2RT3XwwTsOTHL39HI= 
Content-Length: 0 

--batch_357de4f7-6d0b-4e02-8cd2-6361411a9525 
Content-Type: application/http 
Content-Transfer-Encoding: binary 
Content-ID: 2 

DELETE /container2/blob2 HTTP/1.1 
x-ms-date: Thu, 14 Jun 2018 16:46:54 GMT 
Authorization: SharedKey account:S37N2JTjcmOQVLHLbDmp2johz+KpTJvKhbVc4M7+UqI= 
Content-Length: 0 

--batch_357de4f7-6d0b-4e02-8cd2-6361411a9525-- 

Reagálás

A válasz tartalmaz egy HTTP-állapotkódot és a felső szintű kötegelt kérés válaszfejléceit. A válasz az összes részkérésre vonatkozó válaszinformációkat is tartalmazza.

Választörzs

A kötegelt válasz egy multipart/mixed válasz, amely az egyes részkérések válaszát tartalmazza. A válasz darabolt. Minden alresponse a Content-Type: application/http fejléccel kezdődik. A Content-ID fejléc a következő, ha a kérelemben meg lett adva. Ezt követi a HTTP-válasz állapotkódja, valamint az egyes albekérések válaszfejlécei.

Az egyes albekérések által visszaadott fejlécekről további információt a Blob törlése és a Blobréteg beállítása művelet dokumentációjában talál.

Mintaválasz

HTTP/1.1 202 Accepted 
Transfer-Encoding: chunked 
Content-Type: multipart/mixed; boundary=batchresponse_66925647-d0cb-4109-b6d3-28efe3e1e5ed 
x-ms-request-id: 778fdc83-801e-0000-62ff-033467000000 
x-ms-version: 2018-11-09 

409
--batchresponse_66925647-d0cb-4109-b6d3-28efe3e1e5ed 
Content-Type: application/http 
Content-ID: 0 

HTTP/1.1 202 Accepted 
x-ms-delete-type-permanent: true
x-ms-request-id: 778fdc83-801e-0000-62ff-0334671e284f 
x-ms-version: 2018-11-09 

--batchresponse_66925647-d0cb-4109-b6d3-28efe3e1e5ed 
Content-Type: application/http 
Content-ID: 1 

HTTP/1.1 202 Accepted 
x-ms-delete-type-permanent: true
x-ms-request-id: 778fdc83-801e-0000-62ff-0334671e2851 
x-ms-version: 2018-11-09 

--batchresponse_66925647-d0cb-4109-b6d3-28efe3e1e5ed 
Content-Type: application/http 
Content-ID: 2 

HTTP/1.1 404 The specified blob does not exist. 
x-ms-error-code: BlobNotFound 
x-ms-request-id: 778fdc83-801e-0000-62ff-0334671e2852 
x-ms-version: 2018-11-09 
Content-Length: 216 
Content-Type: application/xml 

<?xml version="1.0" encoding="utf-8"?> 
<Error><Code>BlobNotFound</Code><Message>The specified blob does not exist. 
RequestId:778fdc83-801e-0000-62ff-0334671e2852 
Time:2018-06-14T16:46:54.6040685Z</Message></Error> 
--batchresponse_66925647-d0cb-4109-b6d3-28efe3e1e5ed-- 
0

Állapotkód

Ha a kötegelt kérelem megfelelően formázott és engedélyezett, akkor a művelet a 202-s állapotkódot adja vissza (Elfogadva). Minden albesorolásnak saját válasza van a művelet eredményétől függően. A subrequest állapot a válasz törzsében lesz visszaadva.

További információ: Á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.

Engedélyezés

Ha restype=container nincs megadva, engedélyeznie kell a szülő kötegkérelmet egy megosztott kulccsal. Használhatja a fiók hozzáférési kulcsát, a fiók közös hozzáférésű jogosultságkódját vagy az Azure Active Directoryt. Az alább látható konkrét engedélyezési mechanizmusok részletei.

Ha restype=container szerepel a kérelemben, engedélyezheti a szülő kötegelt kérést egy megosztott kulccsal vagy az Azure Active Directoryval. Olyan közös hozzáférésű jogosultságkóddal is engedélyezheti az engedélyezést, amelyet bármelyik engedélyezési mechanizmus aláír. Az alább látható konkrét engedélyezési mechanizmusok részletei.

Minden albesorítás külön-külön engedélyezett. A subrequest ugyanazokat az engedélyezési mechanizmusokat támogatja, amelyeket a művelet akkor is támogat, ha az nem része egy kötegelt műveletnek.

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 fölérendelt kérést Blob Batch küldjön, 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.

Számlázás

A Blob Batch REST-kérelem egy tranzakciónak számít, és minden egyes rész-lekérés egy tranzakciónak is számít. Az egyes alkonfigurációk számlázásával kapcsolatos további információkért tekintse meg a Blob törlése és a Blobszint beállítása művelet dokumentációját.

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 egy szülőkérés számlázási kategóriáját Blob Batch mutatja be a tárfiók típusa alapján:

Művelet Tárfiók típusa Számlázási kategória
Blob Batch (blobszint beállítása) Prémium szintű blokkblob
Standard általános célú v2
Egyéb műveletek

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.

Megjegyzések

A kötegelt kérések használatának egyik fő előnye az ügyfél által megnyitni kívánt kapcsolatok számának csökkentése. Vegye figyelembe a következő korlátozásokat:

  • A köteg támogatott részfoglalásai a következők Set Blob Tier : (blokkblobok esetén) és Delete Blob.
  • Egyetlen kötegben legfeljebb 256 alkondenst támogat. A kötegelt kérelem törzsének mérete nem haladhatja meg a 4 MB-ot.
  • Az üres kötegkérelem a 400-ás kóddal meghiúsul (hibás kérés).
  • A köteg-részkérések végrehajtásának sorrendjére nincs garancia.
  • A batch subrequest végrehajtása nem atomi. Minden részfoglalás egymástól függetlenül fut.
  • Minden alkondensnek egy erőforráshoz kell tartoznia ugyanazon a tárfiókon belül. Egyetlen kötegelt kérelem nem támogatja a különböző tárfiókokból érkező kérések futtatását.
  • A beágyazott kérelemtörzsek nem támogatottak.
  • Ha a kiszolgáló nem tudja elemezni a kérelem törzsét, a teljes köteg meghiúsul, és nem fut a kérés.
  • Vegye figyelembe, hogy a fiók SAS az egyetlen olyan közös hozzáférésű jogosultságkód-típus, amelyet Blob Batcha támogat, ha a köteg nem használja restype=container.

Az összes alregisztrációs kérelem hatóköre egy adott tárolóra

A 2020-04-08-es REST-verziótól kezdve az API támogatja a Blob Batch hatókörkezelést egy adott tárolóra. Ha a kérelem URI-ja tartalmazza a tároló nevét és a restype=container paramétert, akkor minden albekérésnek ugyanarra a tárolóra kell vonatkoznia. Ha a kérelemhez megadott tárolónév nem egyezik meg az URI-ben megadott tárolónévvel, a szolgáltatás a 400-ás hibakódot adja vissza (Hibás kérelem).

A tárolókhoz támogatott összes engedélyezési mechanizmus érvényes a Blob Batch tárolóra kiterjedő műveletre. Minden alkondens egy engedélyezési fejlécet küld a szolgáltatásnak.

Lásd még

Kérések engedélyezése az Azure Storageállapotához és hibakódokhozBlob Storage-hibakódokA Blob Storage-műveletek időtúllépéseinek beállítása