Snapshot Blob
A Snapshot Blob
művelet egy blob írásvédett pillanatképét hozza létre.
Kérés
A kérést a Snapshot Blob
következőképpen hozhatja létre. A HTTPS használata ajánlott. Cserélje le a myaccount kifejezést a tárfiók nevére:
PUT metódus kérésének URI-ja | HTTP-verzió |
---|---|
https://myaccount.blob.core.windows.net/mycontainer/myblob?comp=snapshot |
HTTP/1.1 |
Emulált tárolási szolgáltatás URI-ja
Amikor kérést küld az emulált tárolási szolgáltatásra, adja meg az emulátor gazdagépnevét és Azure Blob Storage portot 127.0.0.1:10000
, majd az emulált fiók nevét:
PUT metódus kérésének URI-ja | HTTP-verzió |
---|---|
http://127.0.0.1:10000/devstoreaccount1/mycontainer/myblob?comp=snapshot |
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-ja a következő további paramétert adhatja meg.
Paraméter | Leírás |
---|---|
timeout |
Választható. A timeout paraméter másodpercben van kifejezve. További információ: Időtúllépések beállítása a 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é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. További információ: Az Azure Storage-szolgáltatások verziószámozása. |
x-ms-meta-name:value |
Választható. A blobhoz társított felhasználó által definiált név-érték pár megadása. Ha nem ad meg név-érték párokat, a művelet az alap blob metaadatait a pillanatképbe másolja. Ha egy vagy több név-érték párot ad meg, a rendszer létrehozza a pillanatképet a megadott metaadatokkal, és a metaadatok nem lesznek kimásolva az alapblobból. Vegye figyelembe, hogy a 2009-09-19-es verziótól kezdődően a metaadatok nevének meg kell felelnie a C#-azonosítók elnevezési szabályainak. További információ: Tárolók, blobok és metaadatok elnevezése és hivatkozása . |
If-Modified-Since |
Választható. Egy DateTime érték. Adja meg ezt a feltételes fejlécet, hogy pillanatképet készítsen a blobról, csak akkor, ha a megadott dátum/idő óta módosult. Ha az alapblob nem lett módosítva, a Blob Storage a 412-s állapotkódot adja vissza (az előfeltétel sikertelen). |
If-Unmodified-Since |
Választható. Egy DateTime érték. Adja meg ezt a feltételes fejlécet, hogy pillanatképet készítsen a blobról, csak akkor, ha a megadott dátum/idő óta nem lett módosítva. Ha az alapblob módosult, a Blob Storage a 412-s állapotkódot adja vissza (az előfeltétel nem sikerült). |
If-Match |
Választható. Egy ETag érték. Adjon meg egy ETag értéket a feltételes fejléchez, hogy pillanatképet készítsen a blobról, csak akkor, ha az ETag értéke megegyezik a megadott értékkel. Ha az értékek nem egyeznek, a Blob Storage a 412-s állapotkódot adja vissza (az előfeltétel sikertelen). |
If-None-Match |
Választható. Egy ETag érték.Adjon meg egy ETag értéket a feltételes fejléchez, hogy pillanatképet készítsen a blobról, csak akkor, ha az ETag értéke nem egyezik meg a megadott értékkel. Ha az értékek azonosak, a Blob Storage a 412-s állapotkódot adja vissza (az előfeltétel sikertelen). |
x-ms-encryption-scope |
Választható. A kérelem tartalmának titkosításához használandó titkosítási hatókört jelöli. Ez a fejléc a 2019-02-02-es és újabb verzióban támogatott. |
x-ms-lease-id:<ID> |
Választható. Ha ezt a fejlécet adja meg, a művelet csak akkor lesz végrehajtva, ha az alábbi feltételek teljesülnek: - 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 meg van adva, és egyik feltétel sem teljesül, a kérés meghiúsul. A Snapshot Blob 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 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. |
Ez a művelet feltételes fejlécek használatát is támogatja a művelet futtatásához, csak akkor, ha egy adott feltétel teljesül. További információ: Feltételes fejlécek megadása Blob Storage-műveletekhez.
Kérelemfejlécek (ügyfél által megadott titkosítási kulcsok)
A 2019-02-02-es verziótól kezdődően a következő fejléceket adhatja meg a kérelemben egy blob ügyfél által megadott kulccsal történő titkosítására. Az ügyfél által megadott kulccsal (és a megfelelő fejléckészlettel) történő titkosítás nem kötelező. Ha egy blobot korábban ügyfél által megadott kulccsal titkosítottak, akkor ezeket a fejléceket fel kell venni a kérelembe az olvasási művelet sikeres befejezéséhez.
Kérelem fejléce | Leírás |
---|---|
x-ms-encryption-key |
Kötelező. A Base64 kódolású AES-256 titkosítási kulcs. |
x-ms-encryption-key-sha256 |
Kötelező. A titkosítási kulcs Base64 kódolású SHA256 kivonata. |
x-ms-encryption-algorithm: AES256 |
Kötelező. Megadja a titkosításhoz használni kívánt algoritmust. A fejléc értékének a következőnek kell lennie AES256 : . |
A kérés törzse
Nincsenek.
Reagálás
A válasz tartalmaz egy HTTP-állapotkódot és egy válaszfejléceket.
Állapotkód
A sikeres művelet a 201-ben létrehozott állapotkódot adja vissza. 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.
Syntax | Description |
---|---|
x-ms-snapshot: <DateTime> |
Olyan értéket ad DateTime vissza, amely egyedileg azonosítja a pillanatképet. Ennek a fejlécnek az értéke jelzi a pillanatkép verzióját, és a későbbi kérésekben is használhatja a pillanatkép eléréséhez. Vegye figyelembe, hogy ez az érték átlátszatlan. |
ETag |
A ETag pillanatkép. Ha a kérelem verziója 2011-08-18 vagy újabb, az ETag érték idézőjelekben jelenik meg. Vegye figyelembe, hogy egy pillanatkép nem írható, így egy ETag adott pillanatkép soha nem változik. A pillanatkép azonban eltér az alapblobétól, ETag ha új metaadatokat ad meg a Snaphot Blob kéréshez. Ha a kéréshez nem ad meg metaadatokat, a ETag pillanatkép azonos lesz az alapblobéval a pillanatkép készítésekor. |
Last-Modified |
A pillanatkép utolsó módosítási időpontja. További információ: Dátum-idő értékek ábrázolása fejlécekben. Vegye figyelembe, hogy a pillanatképek nem írhatók be, így egy adott pillanatkép utolsó módosítási időpontja soha nem változik. A pillanatkép utolsó módosítási időpontja azonban eltér az alapblobétól, ha új metaadatokat ad meg a Snaphot Blob kéréshez. Ha a kéréshez nem ad meg metaadatokat, a pillanatkép utolsó módosítási időpontja megegyezik az alapblobéval a pillanatkép készítésekor. |
x-ms-request-id |
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 Blob Storage kérés futtatásához használt verzióját jelzi. A rendszer ezt a fejlécet adja vissza a 2009-09-19-es és újabb verzióval kapcsolatos kérésekhez. |
Date |
Utc dátum/idő érték, amely a válasz indításának időpontját jelzi. A szolgáltatás létrehozza ezt az értéket. |
x-ms-request-server-encrypted: true/false |
2019-02-02-es vagy újabb verzió. Ennek a fejlécnek az értéke a értékre true van állítva, ha a kérelem tartalma sikeresen titkosítva van a megadott algoritmussal. Ellenkező esetben az érték a következőre false van állítva: . |
x-ms-encryption-key-sha256 |
2019-02-02-es vagy újabb verzió. Akkor adja vissza, ha a kérelem ügyfél által megadott kulcsot használt a titkosításhoz. Az ügyfél a megadott kulccsal meggyőződhet arról, hogy a kérés tartalma sikeresen titkosítva van. |
x-ms-encryption-scope |
2019-02-02-es vagy újabb verzió. Akkor adja vissza, ha a kérelem titkosítási hatókört használt. Az ügyfél a titkosítási hatókör használatával meggyőződhet arról, hogy a kérelem tartalma sikeresen titkosítva van. |
x-ms-version-id: <DateTime> |
2019-12-12-es és újabb verzió. Egy átlátszatlan DateTime értéket ad vissza, amely egyedileg azonosítja a blobot. Ennek a fejlécnek az értéke a blob verzióját jelzi, és a blob elérésére vonatkozó későbbi kérésekben is használhatja. |
x-ms-client-request-id |
A kérések és a kapcsolódó válaszok hibaelhárítására használható. A fejléc értéke megegyezik a fejléc értékével x-ms-client-request-id , ha az szerepel a kérelemben. Az érték legfeljebb 1024 látható ASCII-karakter lehet. Ha a x-ms-client-request-id fejléc nem szerepel a kérelemben, az nem jelenik meg a válaszban. |
Választörzs
Nincsenek.
Engedélyezés
Az Azure Storage-ban bármilyen adathozzáférési művelet meghívásához engedélyezésre van szükség. A műveletet az Snapshot Blob
alábbiak szerint engedélyezheti.
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 felsoroljuk azt az RBAC-műveletet, amely a művelet meghívásához Snapshot Blob
szükséges Microsoft Entra felhasználóhoz, csoporthoz, felügyelt identitáshoz vagy szolgáltatásnévhez, valamint a legkevésbé emelt szintű beépített Azure RBAC-szerepkörhöz, amely tartalmazza ezt a műveletet:
- Azure RBAC-művelet:Microsoft.Storage/storageAccounts/blobServices/containers/blobs/write vagy Microsoft.Storage/storageAccounts/blobServices/containers/blobs/add/action
- Legkevésbé emelt szintű beépített szerepkör:Storage-blobadatok közreműködője
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.
Megjegyzések
A pillanatképek a blobok írásvédett verzióit biztosítják. A pillanatkép létrehozása után elolvashatja, másolhatja vagy törölheti, de nem módosíthatja.
A pillanatképek kényelmes módot biztosítanak a blobadatok biztonsági mentésére. A pillanatképek használatával visszaállíthat egy blobot egy korábbi verzióra a Copy Blob meghívásával, hogy felülírjon egy alapblobot a pillanatképével.
Pillanatkép létrehozásakor a Blob Storage egy DateTime
értéket ad vissza, amely egyedileg azonosítja a pillanatképet az alapblobhoz képest. Ezzel az értékkel további műveleteket hajthat végre a pillanatképen. Vegye figyelembe, hogy ezt az DateTime
értéket átlátszatlanként kell kezelnie.
Az DateTime
érték azonosítja a pillanatképet az URI-n. Egy alapblob és pillanatképei például az alábbihoz hasonló URI-kkal rendelkeznek:
Alapblob:
http://myaccount.blob.core.windows.net/mycontainer/myblob
Pillanatkép:
http://myaccount.blob.core.windows.net/mycontainer/myblob?snapshot=<DateTime>
Vegye figyelembe, hogy minden alkalommal, amikor meghívja a Snapshot Blob
műveletet, létrehoz egy új pillanatképet egy egyedi DateTime
értékkel. A blobok tetszőleges számú pillanatképet támogathatnak. A meglévő pillanatképek soha nem lesznek felülírva. Ezeket explicit módon törölheti a Blob törlése meghívásával, és állítsa a x-ms-include-snapshots
fejlécet a megfelelő értékre.
Egy sikeres hívás egy Snapshot Blob
értéket ad vissza DateTime
a x-ms-snapshot
válaszfejlécben. Ezzel az DateTime
értékkel olvasási, törlési vagy másolási műveleteket hajthat végre egy adott pillanatkép-verzión. Bármely olyan Blob Storage-műveletet meghívhat, amely érvényes egy pillanatképre a blob neve után megadva ?snapshot=<DateTime>
.
Amikor létrehoz egy blob pillanatképét, a rendszer a következő rendszertulajdonságokat másolja a pillanatképbe ugyanazokkal az értékekkel:
Content-Type
Content-Encoding
Content-Language
Content-Length
Cache-Control
Content-MD5
x-ms-blob-sequence-number
(csak lapblobok esetén)x-ms-blob-committed-block-count
(csak hozzáfűző blobok esetén)x-ms-copy-id
(2012-02-12-es és újabb verziók)x-ms-copy-status
(2012-02-12-es és újabb verziók)x-ms-copy-source
(2012-02-12-es és újabb verziók)x-ms-copy-progress
(2012-02-12-es és újabb verziók)x-ms-copy-completion-time
(2012-02-12-es és újabb verziók)x-ms-copy-status-description
(2012-02-12-es és újabb verziók)
Az alapblob véglegesített blokklistája is bekerül a pillanatképbe, ha a blob blokkblob. A nem véglegesített blokkok nem lesznek másolva.
A pillanatkép-blob mérete mindig megegyezik az alapblob méretével a pillanatkép készítésekor. A pillanatkép-blob fejlécének Content-Length
értéke megegyezik az alapblob fejlécével.
A kérés fejlécének megadásával x-ms-meta-name:value
megadhat egy vagy több új metaadatértéket a pillanatképhez. Ha ez a fejléc nincs megadva, a rendszer az alapblobhoz társított metaadatokat a pillanatképbe másolja.
Az alapblobhoz társított címkéket a rendszer a pillanatképbe másolja. Nem lehet új címkeértékeket beállítani a pillanatképhez.
Feltételes fejléceket csak akkor adhat meg a kéréshez, hogy pillanatképet készítsen a blobról, ha teljesül egy feltétel. Ha a megadott feltétel nem teljesül, a pillanatkép nem jön létre. A szolgáltatás visszaadja a 412-s állapotkódot (az előfeltétel sikertelen), valamint további hibainformációkat a nem teljesült feltételről.
Ha az alapblob rendelkezik aktív bérletmel, pillanatképet készíthet a blobról, ha az alábbi feltételek valamelyike teljesül a kérésben:
A feltételes
x-ms-lease-id
fejléc meg van adva, és a kérés tartalmazza az alapblob aktív bérletazonosítóját. Ez a feltétel azt határozza meg, hogy a pillanatkép csak akkor hozható létre, ha a bérlet aktív, és a megadott bérletazonosító megegyezik a blobhoz tartozóval.A
x-ms-lease-id
fejléc egyáltalán nincs megadva, ebben az esetben a kizárólagos írási bérlet figyelmen kívül lesz hagyva.
Vegye figyelembe, hogy az alapblobhoz társított bérletet a rendszer nem másolja a pillanatképbe. A pillanatképek nem adhatók bérbe.
Ha egy alapblobot a Blob másolása művelettel másol, a rendszer nem másolja az alapblob pillanatképeit a célblobba. Ha egy célblobot felülír egy másolattal, a célblobhoz társított pillanatképek érintetlenek maradnak a neve alatt.
A pillanatkép-blobokat átmásolhatja az alapblobra a blob egy korábbi verziójának visszaállításához. A pillanatkép megmarad, de az alapblob felülíródik egy olyan másolattal, amely olvasható és írható is.
Megjegyzés
A pillanatképek előléptetése nem jár többletköltséggel a tárolási erőforrásokért. Ennek az az oka, hogy blokkok vagy lapok vannak megosztva a pillanatkép és az alapblob között.
A blobszinteket a 2019-12-12-es REST-verziótól kezdődően állíthatja be a pillanatképeken. Ha egy szint egy gyökérblobon van beállítva, akkor az összes pillanatkép örökli a szintet az alapblobtól. Az archivált blobok pillanatképének elkészítése sikertelen lesz. Ha explicit módon beállítja a szintet egy objektumon, az az objektum teljes méretének számlázását eredményezi. A szintkészlettel rendelkező blob pillanatképének elkészítése a legfelső szintű blob és a pillanatkép teljes másolatának számlázását eredményezi. A blokkblobszintek rétegzésével kapcsolatos részletes információkért lásd: Gyakori elérésű, ritka elérésű és archív tárolási szintek.
A pillanatképek tekintetében van néhány különbség az Azure Premium Storage-fiókok és a standard tárfiókok között:
Egy Premium Storage-fiókban oldalankénti pillanatképek száma legfeljebb 100 lehet. Ha túllépi ezt a korlátot, a művelet a
Snapshot Blob
409-os hibakódot adja vissza (a pillanatképek száma túllépve).Egy Premium Storage-fiókban lévő lapblobról tíz percenként készíthet pillanatképet. Ha túllépi ezt a sebességet, a művelet a
Snapshot Blob
409-os hibakódot adja vissza (a pillanatkép-műveleti sebesség túllépve).Egy Premium Storage-fiókban lévő lapblob pillanatképét nem olvashatja a Blob lekérése paranccsal. Ebben az esetben a szolgáltatás a 400-ás hibakódot adja vissza (érvénytelen művelet). A Blob tulajdonságainak lekérése és a Blob metaadatainak lekérése azonban egy pillanatképhez hívható meg.
A pillanatképek olvasásához a Blob másolása művelettel másolhat egy pillanatképet a fiók egy másik lapblobjába. A másolási művelet célblobja nem rendelkezhet meglévő pillanatképekkel. Ha a célblob rendelkezik pillanatképekkel, akkor
Copy Blob
a 409-os hibakódot adja vissza (SnapshotsPresent).
További információ: Blob Storage-műveletek használata az Azure Premium Storage.
Ha a verziószámozás engedélyezve van, a blob pillanatképének létrehozása egy új verziót is létrehoz, és menti az alapblob előző verzióját. A x-ms-version-id
paraméter egy átlátszatlan DateTime
értéket ad vissza a blob új verziójához.
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 Snapshot Blob
mutatja be:
Művelet | Tárfiók típusa | Számlázási kategória |
---|---|---|
Snapshot Blob | Prémium szintű blokkblob Standard általános célú v2 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
Blob pillanatképének létrehozása