Növekményes másolási blob
A Incremental Copy Blob
művelet a forrásoldali blob pillanatképét egy céllapblobba másolja. 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 az Incremental Copy Blob
alábbiak szerint hozhatja létre. A HTTPS használata ajánlott. Cserélje le a myaccount kifejezést a tárfiók nevére, a mycontainer kifejezést a tároló nevére, a myblob helyére pedig a célblob nevét. A comp
lekérdezési paraméter értéke incrementalcopy
azt jelzi, hogy a kérés növekményes pillanatkép létrehozása.
PUT metóduskérés 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átortár-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 értékre comp
incrementalcopy
állítja.
PUT metóduskérés URI-ja | HTTP-verzió |
---|---|
http://127.0.0.1:10000/devstoreaccount1/mycontainer/myblob?comp=incrementalcopy |
HTTP/1.1 |
További információ: Az Azurite Emulator 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 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érelmek 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érelmek engedélyezése az Azure Storage-ba. |
x-ms-version |
Az összes engedélyezett kéréshez szükséges, a névtelen kérésekhez pedig nem kötelező. A kérelemhez használandó 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 a blob másolásához, 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 sikertelen). |
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 értéke nem egyezik meg a megadott értékévelIf-Match , a ETag Blob Storage a 412-s állapotkódot adja vissza (az előfeltétel sikertelen). |
If-None-Match |
Választható. Egy ETag érték 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áslap blobpillanatképének nevét. Ez az érték egy legfeljebb 2 kibibájt (KiB) hosszúságú URL-cím, amely egy lapblob pillanatképét adja meg. Az értéknek URL-kódolásúnak kell lennie, ahogy az a kérelem 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-ja hivatkozhat 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ó: Azure Blob Storage figyelése. |
A kérés törzse
Nincsenek.
Reagálás
A válasz egy HTTP-állapotkódot és válaszfejléceket tartalmaz.
Á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 is) megváltoztatják a blob utolsó módosítási időpontját. |
x-ms-request-id |
Egyedileg azonosítja a kérést, amely 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 kérés futtatásához használt Blob Storage-verziót jelzi. |
Date |
UTC dátum/idő érték, amely a válasz indításának időpontját jelzi. Ezt az értéket a szolgáltatás hozza létre. |
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 parancsot Abort Copy Blob a függőben lévő példány leállításához. |
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 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.
Mintaválasz
Az alábbiakban egy növekményes másolat végrehajtására irányuló kérésre adott mintaválaszt mutatunk be:
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-ban bármilyen adathozzáférési művelet meghívásához engedélyezésre van szükség. Az alábbi szakasz bemutatja, 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.
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 Incremental Copy 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 (meglévő blobba való íráshoz) vagy Microsoft.Storage/storageAccounts/blobServices/containers/blobs/add/action (új blob célhelyre írásához)
- 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 növekményes másolat célhelye nem lehet, 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
AZ 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 blobokat nem töltheti le közvetlenül. Az egyetlen támogatott művelet a , Incremental Copy Blob
a és Delete Blob
a Get Blob Properties
. A másolt pillanatképeket a szokásos módon olvashatja és törölheti.
A növekményes másolást aszinkron módon hajtja végre a szolgáltatáson, és le kell kérdeznie a befejezéshez. A függőben lévő példányok lekérdezéséhez tekintse meg az Copy Blob
API-t. A másolás befejezése után a célblob egy új pillanatképet fog tartalmazni. Az Get Blob Properties
API visszaadja az újonnan létrehozott pillanatkép pillanatkép-idejét.
Amikor első alkalommal végez növekményes másolatot egy célblobon, létrejön egy új blob, amely a forrásból teljesen kimásolt pillanatképet tartalmazza. Minden további hívás új pillanatképet hoz létre úgy, hogy Incremental Copy Blob
csak a korábban másolt pillanatkép különbözeti módosításait másolja.
A különbségi változások számítása a kiszolgálón történik a forrásblob pillanatképének hívásával Get Page Ranges
. Á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ásblobot a vagy Copy Blob
használatával Put Blob
hozza létre újra, az Incremental Copy Blob
ú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égadatok 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-ba
Állapot- és hibakódok
Időtúllépések beállítása a Blob Storage-műveletekhez