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


Helyezze el a blokkolást az URL-ből

A Put Block From URL művelet létrehoz egy új blokkot, amely egy blob részeként lesz véglegesítve, ahol a rendszer beolvassa a tartalmat egy URL-címről. Ez az API a 2018-03-28-as verziótól érhető el.

Kérelem

A Put Block From URL kérést az alábbiak szerint hozhatja létre. Javasoljuk, hogy HTTPS-t használjon. Cserélje le myaccount a tárfiók nevére:

PUT metóduskérés URI HTTP-verzió
https://myaccount.blob.core.windows.net/mycontainer/myblob?comp=block&blockid=id 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ásnak, adja meg az emulátor állomásnevét és a Blob Service portját a következőként, mint , 127.0.0.1:10000majd az emulált tárfiók nevét:

PUT metóduskérés URI HTTP-verzió
http://127.0.0.1:10000/devstoreaccount1/mycontainer/myblob?comp=block&blockid=id HTTP/1.1

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

URI-paraméterek

Paraméter Leírás
blockid Szükséges. A blokkot azonosító érvényes Base64-sztringérték. A kódolás előtt a sztringnek 64 bájtnál kisebbnek vagy egyenlőnek kell lennie.

Egy adott blob esetén a paraméter megadott értékének blockid hosszának minden blokkhoz azonos méretűnek kell lennie.

Megjegyzés: A Base64 karakterláncnak URL-kódolásúnak kell lennie.
timeout Opcionális. A timeout paraméter másodpercben van kifejezve. További információ: Időtúllépések beállítása blobszolgáltatás-műveletekhez.

HTTP-kérés fejlécek

A szükséges és nem kötelező kérelemfejléceket az alábbi táblázat ismerteti:

Kérések fejrész Leírás
Authorization Szükséges. 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-.
Date vagy x-ms-date Szükséges. A kérelem koordinált egyetemes idejét (UTC) adja meg. További információ: Kérelmek engedélyezése az Azure Storage-.
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. A Put Block From URLverziónak 2018-03-28-nak vagy újabbnak kell lennie.
Content-Length Szükséges. A kérelem törzsében továbbított bájtok számát adja meg. A fejléc értékét 0-ra kell állítani. Ha a hossz nem 0, a művelet a 400-as állapotkóddal (hibás kérés) meghiúsul.
x-ms-copy-source:name Szükséges. Megadja a forrásblob URL-címét. Az érték legfeljebb 2 kibibájt (KiB) hosszúságú URL-cím lehet, amely egy blobot határoz meg. Az értéknek URL-kódolásúnak kell lennie, ahogy az egy kérelem URI-jában megjelenik. A forrásblobnak nyilvánosnak vagy közös hozzáférésű jogosultságkóddal engedélyezettnek kell lennie. Ha a forrásblob nyilvános, a művelet végrehajtásához nincs szükség engedélyre. Íme néhány példa a forrásobjektum URL-címére:

- https://myaccount.blob.core.windows.net/mycontainer/myblob
- https://myaccount.blob.core.windows.net/mycontainer/myblob?snapshot=<DateTime>
- https://myaccount.blob.core.windows.net/mycontainer/myblob?versionid=<DateTime>
x-ms-copy-source-authorization: <scheme> <signature> Opcionális. Megadja a másolási forrás engedélyezési sémát és aláírást. További információ: Kérelmek engedélyezése az Azure Storage-.

Megjegyzés: A Microsoft Entra csak a tulajdonosi sémát támogatja.

Megjegyzés: Ha a forrásobjektum nyilvánosan elérhető, vagy a forrásobjektum egy tárfiókban van, és egy SAS-jogkivonatot x-ms-copy-source:namehasznál, erre a fejlécre nincs szükség.

Ezt a fejlécet a 2020-10-02-es és újabb verziók támogatják.
x-ms-source-range Opcionális. Csak a blob bájtjait tölti fel a forrás URL-címében a megadott tartományban. Ha ez a fejléc nincs megadva, a rendszer egyetlen blokkként tölti fel a forrásblob teljes tartalmát. További információ: A tartományfejléc megadása a Blob Service műveletekhez.
x-ms-source-content-md5 Opcionális. Az URI blokktartalmának MD5-kivonata. Ez a kivonat a blokk integritásának ellenőrzésére szolgál az adatok URI-ból történő átvitele során. Ha ez a fejléc meg van adva, a tárolási szolgáltatás összehasonlítja a másolási forrásból érkező tartalom kivonatát ezzel a fejlécértékkel.

Megjegyzés: Ez az MD5-kivonat nem tárolódik a blobban.

Ha a két kivonat nem egyezik, a művelet a 400-as hibakóddal (hibás kérés) meghiúsul.
x-ms-source-content-crc64 Opcionális. A blokk tartalmának CRC64-kivonata az URI-ból. Ez a kivonat a blokk integritásának ellenőrzésére szolgál az adatok URI-ból történő átvitele során. Ha ez a fejléc meg van adva, a tárolási szolgáltatás összehasonlítja a másolási forrásból érkező tartalom kivonatát ezzel a fejlécértékkel.

Megjegyzés: Ez a CRC64-kivonat nem tárolódik a blobban.

Ha a két kivonat nem egyezik, a művelet a 400-as hibakóddal (hibás kérés) meghiúsul.

Ha a fejléc x-ms-source-content-md5 is x-ms-source-content-crc64 jelen van, a kérés 400-zal (hibás kérés) meghiúsul.

Ezt a fejlécet a 2019-02-02-es és újabb verziók támogatják.
x-ms-encryption-scope Opcionális. A forrástartalom titkosításához használandó titkosítási hatókört jelzi. Ezt a fejlécet a 2019-02-02-es és újabb verziók támogatják.
x-ms-lease-id:<ID> Akkor szükséges, ha a blob aktív bérletet kapott. Ha ezt a műveletet aktív bérlettel rendelkező blobon szeretné végrehajtani, adja meg a fejléc érvényes bérletazonosítóját.
x-ms-client-request-id Opcionális. Ü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ó: Monitor Azure Blob Storage.
x-ms-file-request-intent Kötelező, ha x-ms-copy-source a fejléc egy Azure-fájl URL-címe, a x-ms-copy-source-authorization fejléc pedig OAuth-jogkivonatot ad meg. Az elfogadható érték backup. Ez a fejléc azt határozza meg, hogy a Microsoft.Storage/storageAccounts/fileServices/readFileBackupSemantics/action vagy Microsoft.Storage/storageAccounts/fileServices/writeFileBackupSemantics/action meg kell adni, ha azok szerepelnek a x-ms-copy-source-authorization fejléc használatával engedélyezett identitáshoz rendelt RBAC-szabályzatban. A 2025-07-05-ös és újabb verziókhoz érhető el.

Kérelemfejlécek (ügyfél által megadott titkosítási kulcsok)

A 2019-02-02-es verziótól kezdve a következő fejlécek adhatók meg a blobok ügyfél által megadott kulccsal való titkosítására vonatkozó kérelemben. Az ügyfél által megadott kulccsal (és a megfelelő fejléckészlettel) való titkosítás nem kötelező.

Kérések fejrész Leírás
x-ms-encryption-key Szükséges. A Base64 kódolású AES-256 titkosítási kulcs.
x-ms-encryption-key-sha256 Szükséges. A titkosítási kulcs Base64 kódolású SHA256 kivonata.
x-ms-encryption-algorithm: AES256 Szükséges. Megadja a titkosításhoz használni kívánt algoritmust. Ennek a fejlécnek az értéke AES256 kell legyen.

Kérelem tartalma

Nincs.

Mintakérés

Request Syntax:  
PUT https://myaccount.blob.core.windows.net/mycontainer/myblob?comp=block&blockid=AAAAAA%3D%3D HTTP/1.1  
  
Request Headers:  
x-ms-version: 2018-03-28  
x-ms-date: Sat, 31 Mar 2018 14:37:35 GMT    
Authorization: SharedKey myaccount:J4ma1VuFnlJ7yfk/Gu1GxzbfdJloYmBPWlfhZ/xn7GI=  
Content-Length: 0
x-ms-copy-source: https://myaccount.blob.core.windows.net/mycontainer/myblob
x-ms-source-range: bytes=0-499

Válasz

A válasz tartalmaz egy HTTP-állapotkódot és válaszfejléceket.

Állapotkód

A sikeres művelet a 201-ben (létrehozva) állapotkódot adja vissza.

További információ az állapotkódokról: Állapot- és hibakódok.

Válaszfejlécek

A művelet válasza 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 Leírás
Content-MD5 Visszaadva, hogy az ügyfél ellenőrizni tudja az üzenettartalom integritását. A fejléc értékét a Blob Storage számítja ki. Ez nem feltétlenül ugyanaz, mint a kérelemfejlécekben megadott érték. A 2019-02-02-es és újabb verziók esetén ez a fejléc csak akkor lesz visszaadva, ha a kérés ezzel a fejléccel rendelkezik.
x-ms-content-crc64 A 2019-02-02-es és újabb verziók esetén. Visszaadva, hogy az ügyfél ellenőrizni tudja az üzenettartalom integritását. A fejléc értékét a Blob Storage számítja ki. Ez nem feltétlenül egyezik meg a kérelem fejlécében megadott értékkel.

Akkor adja vissza, ha x-ms-source-content-md5 a fejléc nem szerepel a kérelemben.
x-ms-request-id Egyedileg azonosítja a végrehajtott kérést, és segítségével elháríthatja a kérést. További információ: API-műveletek hibaelhárítása.
x-ms-version A kérés végrehajtásához használt Blob Storage-verzió.
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-request-server-encrypted: true/false 2015-12-11-es és újabb verziók. Ennek a fejlécnek az értéke akkor true van beállítva, ha a blokk tartalma sikeresen titkosítva van a megadott algoritmussal. Ellenkező esetben az érték falseértékre van állítva.
x-ms-encryption-key-sha256 2019-02-02-es és újabb verzió. Akkor adja vissza, ha a kérelem ügyfél által megadott kulcsot használt a titkosításhoz, így az ügyfél a megadott kulccsal biztosíthatja, hogy a kérés tartalma sikeresen titkosítva legyen.
x-ms-encryption-scope 2019-02-02-es és újabb verzió. Akkor adja vissza, ha a kérelem titkosítási hatókört használt, így az ügyfél a titkosítási hatókör használatával biztosíthatja, hogy a kérelem tartalma sikeresen titkosítva legyen.
x-ms-client-request-id A kérések és a megfelelő válaszok hibaelhárítására használható. Ennek az élőfejnek az értéke megegyezik a x-ms-client-request-id fejléc értékével, ha az szerepel a kérelemben, é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, az nem jelenik meg a válaszban.

Mintaválasz

Response Status:  
HTTP/1.1 201 Created  
  
Response Headers:  
Transfer-Encoding: chunked  
x-ms-content-crc64: 77uWZTolTHU  
Date: Sat, 31 Mar 2018 23:47:09 GMT  
Server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0  

Engedélyezés

Az Azure Storage-beli adathozzáférési műveletek meghívásához engedélyezésre van szükség. Az alábbi módon engedélyezheti a Put Block From URL műveletet.

Fontos

A Microsoft azt javasolja, hogy felügyelt identitásokkal használja a Microsoft Entra ID-t az Azure Storage-kérelmek engedélyezéséhez. A Microsoft Entra ID kiváló biztonságot és egyszerű használatot biztosít a megosztott kulcsok engedélyezéséhez képest.

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-val azure-beli szerepköralapú hozzáférés-vezérléssel (Azure RBAC) adhat engedélyeket egy biztonsági tagnak. A biztonsági tag lehet felhasználó, csoport, alkalmazásszolgáltatásnév vagy Azure-beli felügyelt identitás. A biztonsági tagot a Microsoft Entra ID hitelesíti egy OAuth 2.0-jogkivonat visszaadásához. A token ezután a Blob szolgáltatással kapcsolatos kérések engedélyezésére használható.

A Microsoft Entra ID használatával történő engedélyezésről további információt A blobok hozzáférésének engedélyezése a Microsoft Entra-azonosítóvalcímű témakörben talál.

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 meghívja a Put Block From URL műveletet, 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 Azure-szerepkör hozzárendelése a blobadatokhoz való hozzáféréshezcímű témakörben talál.

Megjegyzések

Put Block From URL Feltölt egy blokkot a blokkblobba való későbbi felvételhez. Egy blokkblob legfeljebb 50 000 blokkot tartalmazhat. Minden blokk különböző méretű lehet. A feltöltött Put Block From URL blokkok maximális mérete 100 mebibájt (MiB). Nagyobb blokkok (legfeljebb 4 000 MiB) feltöltéséhez lásd: Blokk elhelyezése.

A 2020-10-02-es és újabb verziókban a Microsoft Entra-hitelesítés támogatott a másolási művelet forrásához.

Egy blob bármikor legfeljebb 100 000 nem véglegesített blokkot tartalmazhat. Ha túllépi ezt a maximumot, a szolgáltatás a 409-es állapotkódot adja vissza (RequestEntityTooLargeBlockCountExceedsLimit).

Az alábbi táblázat a maximálisan engedélyezett blokk- és blobméreteket ismerteti szolgáltatásverzió szerint:

Szolgáltatásverzió Maximális blokkméret (via Put Block From URL) Blob maximális mérete (via Put Block List) Blob maximális mérete egyetlen írási művelettel (via Put Blob From URL)
2020-04-08-as és újabb verziók 4.000 MiB Körülbelül 190,7 tebibájt (TiB) (4 000 MiB × 50 000 blokk) 5.000 MiB
2020-04-08-nál korábbi verziók 100 MiB Körülbelül 4,75 TiB (100 MiB × 50 000 blokk) 256 MiB

Miután feltöltött egy blokkkészletet, létrehozhatja vagy frissítheti a blobot a kiszolgálón ebből a készletből a Put Block List művelet meghívásával. A készlet minden blokkját egy blokkazonosító azonosítja, amely egyedi az adott blobon belül. A blokkazonosítók hatóköre egy adott blobra terjed ki, így a különböző blobok azonos azonosítójú blokkokkal rendelkezhetnek.

Ha olyan blobot hív meg Put Block From URL , amely még nem létezik, a rendszer létrehoz egy új blokkblobot, amelynek tartalomhossza 0. Ezt a blobot a List Blobs művelet számba veszi, ha a include=uncommittedblobs beállítás meg van adva. A feltöltött blokk vagy blokkok csak akkor lesznek véglegesítve, ha meghívja Put Block List az új blobot. Az így létrehozott blobok egy hétig megmaradnak a kiszolgálón. Ha az adott időszakon belül nem adott hozzá további blokkokat vagy véglegesített blokkokat a blobhoz, a blob szemétgyűjtés.

A művelettel Put Block From URL sikeresen feltöltött blokkok csak akkor válnak blob részévé, ha véglegesítik a következővel Put Block List: . Az új vagy frissített blob véglegesítése előtt Put Block List a Get Blob hívásai a nem véglegesített blokk belefoglalása nélkül adják vissza a blob tartalmát.

Ha olyan blokkot tölt fel, amely ugyanazzal a blokkazonosítóval rendelkezik, mint egy másik, még nem véglegesített blokk, a rendszer a következő sikeres Put Block List műveletkor véglegesíti az utoljára feltöltött blokkot ezzel az azonosítóval.

A hívás után Put Block List a blokklistában megadott összes nem véglegesített blokk az új blob részeként lesz véglegesítve. A blob blokklistájában nem megadott nem véglegesített blokkok a Blob Storage-ból gyűjtött és eltávolított szemét. A nem véglegesített blokkok akkor is szemétet gyűjtenek, ha az utolsó sikeres Put Block From URL műveletet követő egy héten belül nem történik sikeres hívás Put Block List ugyanarra a blobra vagy ugyanazon Put Block From URL a blobon. Ha a Put Blob meg van hívva a blobon, a nem véglegesített blokkok szemetet gyűjtenek.

Ha a blob aktív bérlettel rendelkezik, az ügyfélnek meg kell adnia egy érvényes bérletazonosítót a kérelemben, hogy blokkot írjon a blobba. Ha az ügyfél nem ad meg bérletazonosítót, vagy érvénytelen bérletazonosítót ad meg, a Blob Storage a 412-es állapotkódot adja vissza (az előfeltétel sikertelen). Ha az ügyfél bérletazonosítót ad meg, de a blob nem rendelkezik aktív bérlettel, a Blob Storage a 412-es állapotkódot is visszaadja (az előfeltétel sikertelen).

Egy adott blob esetében az összes blokkazonosítónak azonos hosszúságúnak kell lennie. Ha egy blokkot a meglévő nem véglegesített blokkok blokkazonosítóitól eltérő hosszúságú blokkazonosítóval tölt fel, a szolgáltatás a 400-as hibakódot (hibás kérés) adja vissza.

A hívás Put Block From URL nem frissíti egy meglévő blob utolsó módosítási idejét.

Egy lapblob hívása Put Block From URL hibát ad vissza.

Az "archivált" blob meghívása Put Block From URL hibát ad vissza, és a hot vagy blob cool meghívása nem módosítja a blobszintet.

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 hatással van a fiók díjának módjára. 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 Put Block From URL kérelmek számlázási kategóriáját mutatja be:

Művelet Tárfiók típusa Számlázási kategória
Helyezze el a Letiltás URL-címről (1. célfiók) Prémium szintű blokktároló
Standard általános célú v2
Standard általános célú v1
Írási műveletek
Tiltás az URL-ből (2. forrásfiók) Prémium szintű blokktároló
Standard általános célú v2
Standard általános célú v1
Olvasási műveletek

1A célfióknak egy tranzakcióért kell fizetnie az írás elindításához.
2A forrásfiók egy tranzakciót von maga után a forrásobjektum minden olvasási kéreleméhez.

Emellett, ha a forrás- és célfiókok különböző régiókban találhatók (például az USA északi régiójában és az USA déli régiójában), a kérés átviteléhez használt sávszélességet a forrás tárfióknak kell kimenőként felszámítani. Az ugyanazon régión belüli fiókok közötti kimenő forgalom ingyenes.

A megadott számlázási kategóriák díjszabásával kapcsolatos további információkért lásd: Azure Blob Storage díjszabása.

Lásd még