Növekményes másolási blob

A Incremental Copy Blob művelet a forrásoldali blob pillanatképét másolja egy céllapblobba. A rendszer csak a korábban másolt pillanatkép eltéréseit továbbítja a célhelyre. A másolt pillanatképek az eredeti pillanatkép teljes másolatai, és a szokásos módon olvashatja vagy másolhatja őket. Ez az API a REST 2016-05-31-es verziója óta támogatott.

Kérés

A kérést a Incremental Copy Blob 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, a mycontainert a tároló nevére, a myblobot pedig a célblob nevére. A comp lekérdezési paraméter értéke incrementalcopyazt jelzi, hogy a kérés növekményes pillanatkép létrehozása.

PUT metódus kérésének URI-ja HTTP-verzió
https://myaccount.blob.core.windows.net/mycontainer/myblob?comp=incrementalcopy 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 gazdanevét és Azure Blob Storage szolgáltatásportot 127.0.0.1:10000 formátumban, majd az emulált tárfiók nevét. Azt is jelezze, hogy ez a kérés növekményes másolásra vonatkozik, ha a lekérdezési paramétert a comp értékre incrementalcopyállítja.

PUT metódus kérésének URI-ja HTTP-verzió
http://127.0.0.1:10000/devstoreaccount1/mycontainer/myblob?comp=incrementalcopy 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-ján a következő további paramétereket 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 Az összes engedélyezett kérelemhez szükséges, a névtelen kérésekhez pedig nem kötelező. 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.
If-Modified-Since Választható. Egy DateTime érték. Adja meg ezt a feltételes fejlécet a blob másolásához, ha a célblob a megadott dátum/idő óta módosult. Ha a célblob 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 csak akkor másolja a blobot, ha a célblob nem lett módosítva a megadott dátum/idő óta. Ha a célblob 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 a blob másolásához, csak akkor, ha a megadott ETag érték megegyezik ETag egy meglévő célblob értékével. Ha a ETag célblob nem felel meg a megadott értéknekIf-Match, a ETag Blob Storage a 412-s állapotkódot adja vissza (az előfeltétel sikertelen).
If-None-Match Választható. Érték ETag vagy helyettesítő karakter (*).

Adjon meg egy ETag értéket a feltételes fejléchez a blob másolásához, csak akkor, ha a megadott ETag érték nem egyezik meg a ETag célblob értékével.

A művelet végrehajtásához adja meg a helyettesítő karaktert (*), csak akkor, ha a célblob nem létezik.

Ha a megadott feltétel nem teljesül, a Blob Storage a 412-s állapotkódot adja vissza (az előfeltétel sikertelen).
x-ms-copy-source:name Kötelező. Megadja a forrásoldali blob pillanatképének nevét.

Ez az érték legfeljebb 2 kibibájt (KiB) hosszúságú URL-cím, amely egy oldalblob-pillanatképet határoz meg. Az értéknek URL-kódolásúnak kell lennie, ahogy az a kérés URI-jában is megjelenik. A forrásblob URI-ja kétféleképpen engedélyezhető:

A forrásblob URI hivatkozhat egy lapblob-pillanatképre, de tartalmaznia kell egy közös hozzáférésű jogosultságkód (SAS) jogkivonatot, amelyet a pillanatkép alapblobján hoztak létre. Az SAS aláírt erőforrás (sr) mezőjét a következőre kell állítani: b. Példa: https://<account-name>.blob.core.windows.net/<container-name>/<page-blob-name>?snapshot=2022-07-23T00:14:45.3964054Z&sp=r&st=2022-07-23T00:15:38Z&se=2022-07-23T08:15:38Z&spr=https&sv=2021-06-08&sr=b&sig=<signature>.

A forrásblob URI hivatkozhat egy nyilvános lapblob-pillanatképre; például: https://myaccount.blob.core.windows.net/mycontainer/myblob?snapshot=<DateTime>.
x-ms-client-request-id Választható. Ügyfél által generált, átlátszatlan értéket biztosít 1 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

Nincsenek.

Reagálás

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

Állapotkód

A sikeres művelet a 202-s állapotkódot adja vissza (Elfogadva). 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
ETag Olyan értéket tartalmaz, amellyel feltételesen hajthat végre műveleteket. Az érték idézőjelekben van.
Last-Modified A blob utolsó módosításának dátuma és időpontja. További információ: Dátum-/időértékek ábrázolása fejlécekben.

A blob írási műveletei (beleértve a blob metaadatainak vagy tulajdonságainak frissítéseit) módosítják a blob utolsó módosítási időpontját.
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.
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-copy-id: <id> A másolási művelet sztringazonosítója. A paranccsal Get Blob Properties ellenőrizheti ennek a másolási műveletnek az állapotát, vagy átadhatja a függőben lévő másolat leállításához Abort Copy Blob .
x-ms-copy-status: pending A másolási művelet állapota. Ez mindig függőben van, jelezve, hogy a másolat elindult és folyamatban van.
x-ms-client-request-id A kérések és a megfelelő válaszok hibaelhárítására használható. Ennek a fejlécnek az értéke megegyezik a x-ms-client-request-id fejléc értékével, 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, akkor az nem jelenik meg a válaszban.

Választörzs

Nincsenek.

Mintaválasz

Az alábbiakban egy növekményes másolat végrehajtására irányuló kérésre adott mintaválasz látható:

Response Status:
HTTP/1.1 202 Accepted

Response Headers: 
Last-Modified: <date> 
ETag: "0x8CEB669D794AFE2"
Server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0
x-ms-request-id: cc6b209a-b593-4be1-a38a-dde7c106f402
x-ms-version: 2016-05-31
x-ms-copy-id: 1f812371-a41d-49e6-b123-f4b542e851c5
x-ms-copy-status: pending
Date: <date> 

Engedélyezés

Az azure storage-beli adathozzáférési műveletek meghívásakor engedélyezés szükséges. A következő szakasz ismerteti, hogyan engedélyezhető a művelet célobjektumaIncremental Copy Blob. A forrásblobhoz vagy fájlhoz való hozzáférés külön engedélyezve van, a kérelem fejlécének x-ms-copy-source részleteiben leírtak szerint.

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 azure-beli szerepköralapú hozzáférés-vezérléssel (Azure RBAC) adhat engedélyeket egy rendszerbiztonsági tagnak. A rendszerbiztonsági tag lehet felhasználó, csoport, alkalmazás-szolgáltatásnév vagy Azure-beli felügyelt identitás. A rendszerbiztonsági tag hitelesítését a Microsoft Entra ID végzi egy OAuth 2.0-jogkivonat visszaadásához. A jogkivonat ezután a Blob szolgáltatásra irányuló 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: Blobokhoz való hozzáférés 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 meghívja a Incremental Copy Blob műveletet, valamint a legkevésbé emelt szintű beépített Azure RBAC-szerepkört, amely tartalmazza ezt a műveletet:

A szerepkörök Azure RBAC-vel való hozzárendelésével kapcsolatos további információkért lásd: Azure-szerepkör hozzárendelése blobadatokhoz való hozzáféréshez.

Megjegyzések

A növekményes másolat célja nem létezhet, vagy egy korábbi növekményes másolattal kell létrehozni ugyanabból a forrásblobból. A létrehozása után a célblob véglegesen a forráshoz lesz társítva, és csak növekményes másolatokhoz használható. A Get Blob Properties és List Blobs API-k jelzik, hogy a blob egy növekményes másolási blob-e, amelyet így hoztak létre.

A növekményes másolási blobok nem tölthetők le közvetlenül. Az egyetlen támogatott művelet a Get Blob Properties, Incremental Copy Blobés Delete Blob. A másolt pillanatképeket a szokásos módon olvashatja és törölheti.

Növekményes másolást aszinkron módon hajt végre a szolgáltatáson, és le kell kérdeznie a befejezést. A függőben lévő példányok lekérdezésével kapcsolatos részletekért tekintse meg az Copy Blob API-t. A másolás befejezése után a célblob új pillanatképet fog tartalmazni. Az Get Blob Properties API visszaadja az újonnan létrehozott pillanatkép pillanatkép-idejét.

Amikor először végez növekményes másolatot egy célblobon, létrejön egy új blob, amely a forrásból másolt pillanatképet tartalmazza. Minden további hívás Incremental Copy Blob új pillanatképet hoz létre úgy, hogy csak a korábban másolt pillanatkép különbségi módosításait másolja.

A különbségi módosítások számítása a kiszolgálón történik a Get Page Ranges forrásblob pillanatképének hívásával. Állítsa a prevsnapshot legutóbb másolt pillanatképre. Ezért ugyanezek a korlátozások vonatkoznak a következőre Get Page Ranges : Incremental Copy Blob. Pontosabban a pillanatképeket növekvő sorrendben kell másolnia, és ha a forrásblob újra létrejön a vagy Copy BlobhasználatávalPut Blob, akkor Incremental Copy Blob az új pillanatképek sikertelenek lesznek.

A másolt pillanatkép által felhasznált további tárterület a másolás során átvitt különbségi adatok mérete. Ezt a méretet egy különbségi Get Page Ranges API-hívás végrehajtásával határozhatja meg a pillanatképen, hogy összehasonlítsa azt az előző pillanatképével.

Lásd még

Kérések engedélyezése az Azure Storage-nak
Állapot- és hibakódok
Időtúllépések beállítása a Blob Storage-műveletekhez