Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
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:10000
majd 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 URL verzió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:name haszná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:
- Azure RBAC-művelet:Microsoft.Storage/storageAccounts/blobServices/containers/blobs/write
- Legkevésbé kiemelt beépített szerepkör:Storage Blob Data Közreműködő
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.