Megosztás a következőn keresztül:


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 allekérdezéstípust 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ötegben lévő egyes részkérések eredményeit. A kötegelt kérelem és válasz a kötegelt feldolgozás specifikációjának szintaxisát OData használja, a szemantika módosításával. Ez az API a 2018-11-09-es verziótól érhető el.

Kérés

A kérést a Blob Batch 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ó
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 a Blob Storage-műveletekhez.
restype Nem kötelező, 2020-04-08-es és újabb verzió. A paraméterhez az egyetlen támogatott érték a restypecontainerkövetkező: . A paraméter megadásakor az URI-nak tartalmaznia kell a tároló nevét. Minden részlekérdezésnek ugyanahhoz a tárolóhoz kell tartoznia.

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é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. 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ő. Ennek a fejlécnek a értéke , multipart/mixedköteghatárral. 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 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

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ásával.

A kérelemtörzs egy köteghatárral kezdődik, amelyet két kötelező fejléc követ: a Content-Type fejléc az értékkel application/http, a fejléc pedig az Content-Transfer-Encoding értékkel binary. Ezt egy opcionális Content-ID fejléc követi, amelynek sztringértéket tartalmaz az egyes részkérések nyomon követéséhez. 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ével, URL-címmel, fejlécekkel és törzstel rendelkezik. Jegyezze fel a következő kikötéseket:

  • A subrequests nem rendelkezhet a következőkkel x-ms-version header: . A rendszer az összes allekérdezést a legfelső szintű kötegelt kérelemverzióval futtatja.
  • A subrequest URL-címnek csak az URL-cím elérési útját kell rendelkeznie (a gazdagép nélkül).
  • Minden kötegelt kérelem legfeljebb 256 részkérést támogat.
  • Minden kérelemtípusnak azonos típusúnak kell lennie.
  • Minden alküldetés külön engedélyezve van, a részfoglalásban megadott információkkal együtt.
  • A kérelem törzsének minden sorának \r\n karakterekkel 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 egy válaszfejléceket a legfelső szintű kötegelt kéréshez. 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écmel 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 részkérések válaszfejlécei.

Az egyes alkonfigurációk által visszaadott fejlécekről a Blob törlése és a Blobréteg beállítása művelet dokumentációjában olvashat.

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 részreküldőnek saját válasza van a művelet eredményétől függően. A rendszer a válasz törzsében adja vissza a subrequest állapotot.

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 Microsoft Entra. 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ötegkérelmet egy megosztott kulccsal vagy Microsoft Entra. Az engedélyezési mechanizmusok bármelyike által aláírt közös hozzáférésű jogosultságkóddal is engedélyezheti az engedélyezést. Az alább látható konkrét engedélyezési mechanizmusok részletei.

Az egyes alkondensek külön-külön engedélyezve lesznek. 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.

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 azokat az RBAC-műveletet soroljuk fel, amelyek szükségesek ahhoz, hogy egy Microsoft Entra felhasználó, csoport, felügyelt identitás 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