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 incrementalcopy
azt 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:
- 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élba írásához)
- Legkevésbé kiemelt beépített szerepkör:Storage-blobadatok közreműködője
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 Blob
haszná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