Megosztás a következőn keresztül:


Copy Blob

A Copy Blob művelet egy blobot másol a tárfiókon belüli célhelyre.

A 2012-02-12-es és újabb verzióban a művelet forrása Copy Blob bármely Azure Storage-fiókban véglegesített blob lehet.

A 2015-02-21-es verziótól kezdődően a Copy Blob művelet forrása bármely Azure-tárfiók azure-fájlja lehet.

Megjegyzés

Csak a 2012. június 7-én vagy azt követően létrehozott tárfiókok engedélyezik a Copy Blob művelet másolását egy másik tárfiókból.

Kérés

A kérést a Copy Blob következőképpen hozhatja létre. A HTTPS használatát javasoljuk. 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 2013-08-15-ös verziótól kezdődően megadhat egy közös hozzáférésű jogosultságkódot (SAS) a célblobhoz, ha az ugyanabban a fiókban található, mint a forrásblob. A 2015-04-05-ös verziótól kezdődően megadhatja a célblob megosztott hozzáférési aláírását is, ha az egy másik tárfiókban található.

PUT metódus kérésének URI-ja HTTP-verzió
https://myaccount.blob.core.windows.net/mycontainer/myblob HTTP/1.1

URI az emulált tárolási szolgáltatáshoz

Amikor kérést küld az emulált tárolási szolgáltatásra, adja meg az emulátor gazdagépének nevét és Azure Blob Storage portot a következőként127.0.0.1:10000: , majd az emulált tárfiók neve:

PUT metódus kérésének URI-ja HTTP-verzió
http://127.0.0.1:10000/devstoreaccount1/mycontainer/myblob 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 Blob Storage-műveletekhez.

Kérésfejlécek

Az alábbi táblázat a szükséges és nem kötelező kérésfejlé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. 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 nincs megadva név/érték pár, a művelet átmásolja a metaadatokat a forrásblobból vagy fájlból a célblobba. Ha egy vagy több név-érték pár van megadva, a célblob a megadott metaadatokkal jön létre, és a metaadatok nem lesznek átmásolva a forrásblobból vagy fájlból.

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.
x-ms-tags Választható. Beállítja a megadott lekérdezési sztringbe kódolt címkéket a blobon. A program nem másolja a címkéket a másolási forrásból. További információ: Megjegyzések. A 2019-12-12-es és újabb verziókban támogatott.
x-ms-source-if-modified-since Választható. Egy DateTime érték. Ezt a feltételes fejlécet csak akkor adja meg a blob másolásához, ha a forrásblob a megadott dátum/idő óta módosult. Ha a forrásblob nincs módosítva, a Blob Storage a 412-s állapotkódot adja vissza (az előfeltétel sikertelen). Ezt a fejlécet nem adhatja meg, ha a forrás egy Azure-fájl.
x-ms-source-if-unmodified-since Választható. Egy DateTime érték. Ezt a feltételes fejlécet csak akkor adja meg a blob másolásához, ha a forrásblob a megadott dátum/idő óta nem lett módosítva. Ha a forrásblob módosult, a Blob Storage a 412-s állapotkódot adja vissza (az előfeltétel nem sikerült). Ezt a fejlécet nem adhatja meg, ha a forrás egy Azure-fájl.
x-ms-source-if-match Választható. Egy ETag érték. Adja meg ezt a feltételes fejlécet a forrásblob másolásához, 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). Ezt a fejlécet nem adhatja meg, ha a forrás egy Azure-fájl.
x-ms-source-if-none-match Választható. Egy ETag érték. Adja meg ezt a feltételes fejlécet a blob másolásához, 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). Ezt a fejlécet nem adhatja meg, ha a forrás egy Azure-fájl.
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 nem sikerült).
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 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, ha a megadott ETag érték megegyezik ETag egy meglévő célblob értékével. 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ó. Érték ETag vagy helyettesítő karakter (*).

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

Adja meg a helyettesítő karaktert (*), hogy csak akkor hajtsa végre a műveletet, 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ásblob vagy fájl nevét.

A 2012-02-12-es verziótól kezdve ez az érték legfeljebb 2 kibibájt (KiB) hosszúságú URL-cím lehet, amely blobot határoz meg. Az értéknek úgy kell kódolnia az URL-címet, ahogyan az a kérelem URI-jában is megjelenik.

Az ugyanabban a tárfiókban lévő forrásblob olvasási művelete megosztott kulccsal engedélyezhető. A 2017-11-09-es verziótól kezdve a Microsoft Entra ID használatával engedélyezheti az olvasási műveletet a forrásblobon. Ha azonban a forrás egy másik tárfiókban található blob, a forrásblobnak nyilvánosnak kell lennie, vagy a hozzáférésnek egy közös hozzáférésű jogosultságkóddal kell rendelkeznie. Ha a forrásblob nyilvános, a másolási művelet végrehajtásához nincs szükség engedélyezésre.

A 2015-02-21-es verziótól kezdve a forrásobjektum fájl lehet Azure Files. Ha a forrásobjektum egy blobba másolandó fájl, akkor a forrásfájlt közös hozzáférésű jogosultságkóddal kell engedélyezni, függetlenül attól, hogy ugyanabban a fiókban vagy egy másik fiókban található-e.

Csak a 2012. június 7-én vagy azt követően létrehozott tárfiókok engedélyezik a Copy Blob művelet másolását egy másik tárfiókból.

Í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>

Ha a forrásobjektum egy Azure Files fájl, a forrás URL-címe a következő formátumot használja. Vegye figyelembe, hogy az URL-címnek tartalmaznia kell egy érvényes SAS-jogkivonatot a fájlhoz.

- https://myaccount.file.core.windows.net/myshare/mydirectorypath/myfile?sastoken

A 2012-02-12 előtti verziókban a blobok csak ugyanazon a fiókon belül másolhatók, és a forrásnév a következő formátumokat használhatja:

- Blob nevesített tárolóban: /accountName/containerName/blobName
- Pillanatkép a nevesített tárolóban: /accountName/containerName/blobName?snapshot=<DateTime>
- Blob a gyökértárolóban: /accountName/blobName
– Pillanatkép a gyökértárolóban: /accountName/blobName?snapshot=<DateTime>
x-ms-lease-id:<ID> Kötelező, ha a célblob rendelkezik aktív bérlettal. A fejléchez megadott bérletazonosítónak meg kell egyeznie a célblob bérletazonosítójával. Ha a kérelem nem tartalmazza a bérletazonosítót, vagy az azonosító nem érvényes, a művelet a 412-ös állapotkóddal meghiúsul (az előfeltétel sikertelen).

Ha ez a fejléc meg van adva, és a célblob jelenleg nem rendelkezik aktív bérlettel, a művelet a 412-s állapotkóddal meghiúsul (az előfeltétel sikertelen).

A 2012-02-12-es és újabb verziókban ennek az értéknek aktív végtelen bérletet kell megadnia egy bérelt blobhoz. A véges időtartamú bérletazonosító a 412-ös állapotkóddal meghiúsul (az előfeltétel sikertelen).
x-ms-source-lease-id: <ID> Nem kötelező a 2012-02-12 előtti verziókhoz (2012-02-12-ben és újabb verziókban nem támogatott). Ezt a fejlécet csak akkor adja meg a Copy Blob művelet végrehajtásához, ha a megadott bérletazonosító megegyezik a forrásblob aktív bérletazonosítójával.

Ha ez a fejléc meg van adva, és a forrásblob jelenleg nem rendelkezik aktív bérlettel, a 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 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.
x-ms-access-tier Választható. Meghatározza a célblobon beállítandó szintet. Ez a fejléc csak a 2017-04-17-es és újabb verziójú prémium fiók lapblobjaira vonatkozik. A támogatott szintek teljes listájáért lásd: Nagy teljesítményű prémium szintű tárolás és felügyelt lemezek virtuális gépekhez. Ez a fejléc a blokkblobok 2018-11-09-es és újabb verzióiban támogatott. A blokkblobok rétegezése blobtárolókban vagy általános célú v2-fiókokban támogatott. Az érvényes értékek a következők: Hot, CoolCold és Archive. Megjegyzés:Cold A szint a 2021-12-02-es és újabb verziókban támogatott. A blokkblobok 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.
x-ms-rehydrate-priority Választható. Azt a prioritást jelzi, amellyel egy archivált blobot rehidratálhat. Ez a fejléc a blokkblobok 2019-02-02-es és újabb verzióiban támogatott. Az érvényes értékek a következők: High és Standard. A blobok prioritását csak egyszer állíthatja be. Ezt a fejlécet a rendszer figyelmen kívül hagyja az ugyanazon blobra irányuló további kérések esetén. Az alapértelmezett prioritás a fejléc nélkül: Standard.
x-ms-seal-blob Választható. A 2019-12-12-es vagy újabb verzió támogatott. Ez a fejléc csak hozzáfűző blobokra érvényes. A másolási művelet befejezése után lezárja a célblobot.
x-ms-immutability-policy-until-date 2020-06-12-es és újabb verzió. Megadja a blobon beállítandó adatmegőrzési dátumot. Ez az a dátum, ameddig a blob védhető a módosítástól vagy törléstől. Ez RFC1123 formátumot követi.
x-ms-immutability-policy-mode 2020-06-12-es és újabb verzió. Meghatározza a blobon beállítandó módosíthatatlansági szabályzatmódot. Az érvényes értékek a következők: unlocked és locked. Egy unlocked érték azt jelzi, hogy a felhasználó módosíthatja a szabályzatot a megőrzési dátum növelésével vagy csökkentésével. Egy locked érték azt jelzi, hogy ezek a műveletek tiltottak.
x-ms-legal-hold 2020-06-12-es és újabb verzió. Megadja a blobon beállítandó jogi célú visszatartást. Az érvényes értékek a következők: true és false.

Ez a művelet csak akkor támogatja a és x-ms-source-if-tags a x-ms-if-tags feltételes fejlécek sikerességét, ha a megadott feltétel teljesül. További információ: Feltételes fejlécek megadása Blob Storage-műveletekhez.

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 2012-02-12-es és újabb verziókban a sikeres művelet a 202-es (Elfogadva) állapotkódot adja vissza.

A 2012-02-12 előtti verziókban a sikeres művelet a 201-et (Létrehozva) á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.

Válaszfejléc Description
ETag A 2012-02-12-es és újabb verziókban, ha a másolat elkészült, ez a fejléc tartalmazza a ETag célblob értékét. Ha a másolás nem fejeződött be, a fejléc tartalmazza a ETag másolási művelet elején létrehozott üres blob értékét.

A 2012-02-12 előtti verziókban ez a fejléc a ETag célblob értékét adja vissza.

A 2011-08-18-es és újabb verziókban az ETag érték idézőjelek között van.
Last-Modified Azt a dátumot/időpontot adja vissza, amikor a célblob másolási művelete befejeződött.
x-ms-request-id Egyedileg azonosítja a végrehajtott kérést. Ezzel a fejléccel elháríthatja a kérést. További információ: API-műveletek hibaelhárítása.
x-ms-version A Blob Storage azon verzióját jelzi, amely a kérés végrehajtásához használatos. Ez a fejléc lesz visszaadva a 2009-09-19-es és újabb verzióval kapcsolatos kérésekhez.
Date UTC dátum/idő érték, amely azt az időpontot jelzi, amikor a szolgáltatás elküldte a választ.
x-ms-copy-id: <id> 2012-02-12-es és újabb verzió. Sztringazonosítót biztosít ehhez a másolási művelethez. Használja a vagy Get Blob Properties a parancsot Get Blob a másolási művelet állapotának ellenőrzéséhez, vagy adja át a parancsot a függőben lévő másolási művelet megszakításáhozAbort Copy Blob.
x-ms-copy-status: <success ¦ pending> 2012-02-12-es és újabb verzió. A másolási művelet állapotát jelzi az alábbi értékekkel:

- success: A művelet sikeresen befejeződött.
- pending: A művelet folyamatban van.
x-ms-version-id: <DateTime> 2019-12-12-es és újabb verzió. Egyedileg azonosítja a blobot a verziója alapján. Ezt az átlátszatlan értéket a későbbi kérésekben használhatja a blob ezen verziójának eléréséhez.
x-ms-client-request-id A kérések és a megfelelő válaszok hibaelhárítására használható. A fejléc é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-karakterből áll. Ha a x-ms-client-request-id fejléc nincs jelen a kérelemben, ez a fejléc nem lesz jelen a válaszban.

Választörzs

Nincsenek.

Mintaválasz

Az alábbi kód egy blob másolására irányuló kérés mintaválasza:

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: 2015-02-21  
x-ms-copy-id: 1f812371-a41d-49e6-b123-f4b542e851c5  
x-ms-copy-status: pending
x-ms-version-id: <DateTime>  
Date: <date>  
  

Engedélyezés

Az azure storage-beli adathozzáférési műveletek meghívásakor engedélyezés szükséges. Az alábbi táblázat bemutatja, hogyan engedélyezhetők egy művelet cél- és forrásobjektumai Copy Blob :

Objektumtípus Microsoft Entra ID engedélyezés Közös hozzáférésű jogosultságkód (SAS) engedélyezése Megosztott kulcs engedélyezése (vagy Shared Key Lite)
Célblob Igen Igen Yes
Forrásblob ugyanabban a tárfiókban Igen Igen Yes
Forrásblob egy másik tárfiókban Nem Igen Nem

Ha egy kérelem címkéket ad meg a x-ms-tags kérelem fejlécében, a hívónak meg kell felelnie a Blobcímkék beállítása művelet engedélyezési követelményeinek.

A műveletet az Copy Blob alábbiak szerint engedélyezheti. Vegye figyelembe, hogy egy másik tárfiókban lévő forrásblobot külön kell engedélyezni SAS-jogkivonaton keresztül , olvasási (r) engedéllyel. A forrásblobok engedélyezéséről további információt a kérelem fejlécének x-ms-copy-sourcerészleteiben talál.

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 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:

Célblob

Forrásblob ugyanabban a tárfiókban

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 2012-02-12-es és újabb verziókban a Copy Blob művelet aszinkron módon fejeződhet be. Ez a művelet egy másolási azonosítót ad vissza, amellyel ellenőrizheti vagy megszakíthatja a másolási műveletet. A másolási művelet aszinkron jellege miatt a Blob Storage a lehető legjobb erőfeszítéssel másolja a blobokat. A Blob szolgáltatás akkor másolja a blobokat, ha más feladatok nem használják a kiszolgálói erőforrásokat, így a másolatok nem garantáltan azonnal elindulnak vagy befejeződnek egy megadott időkeretben.

A másolási művelet forrásblobja lehet blokkblob, hozzáfűző blob, lapblob vagy pillanatkép. Ha a célblob már létezik, annak a forrásblob típusával megegyező típusúnak kell lennie. A meglévő célblobok felülíródnak. A célblob nem módosítható, amíg a másolási művelet folyamatban van.

A 2015-02-21-es és újabb verziókban a másolási művelet forrása is lehet egy fájl a Azure Files. Ha a forrás egy fájl, a célnak blokkblobnak kell lennie.

Egy fiókon belül több függőben lévő Copy Blob művelet is feldolgozható egymás után. A célblobok csak egy kiemelkedő Copy Blob művelettel rendelkezhetnek. Más szóval a blob nem lehet több függőben lévő Copy Blob művelet célja. A blobnak egy olyan célblobba való másolása, amely már függőben van egy másolási művelettel, a 409-es állapotkód (ütközés) meghiúsul.

Csak a 2012. június 7-én vagy azt követően létrehozott tárfiókok engedélyezik a Copy Blob művelet másolását egy másik tárfiókból. Egy másik tárfiókból egy 2012. június 7. előtt létrehozott fiókba történő másolási kísérlet a 400-ás állapotkóddal meghiúsul (hibás kérés).

A Copy Blob művelet mindig a teljes forrásblobot vagy fájlt másolja át. A bájtok vagy blokkok egy tartományának másolása nem támogatott.

A Copy Blob műveletek a következő űrlapok bármelyikét igénybe vehetik:

  • A forrásblobokat átmásolhatja egy másik nevű célblobba. A célblob lehet ugyanahhoz a blobtípushoz tartozó meglévő blob (blokk, hozzáfűzés vagy oldal), vagy lehet egy új blob, amelyet a másolási művelet létrehoz.

  • A forrásblobokat átmásolhatja egy azonos nevű célblobba, így gyakorlatilag lecserélheti a célblobot. Az ilyen másolási művelet eltávolítja a nem véglegesített blokkokat, és felülírja a blob metaadatait.

  • A forrásfájlokat Azure Files átmásolhatja egy célblobba. A célblob lehet egy meglévő blokkblob, vagy egy új blokkblob, amelyet a másolási művelet létrehoz. A fájlokról lapblobokra vagy hozzáfűző blobokra történő másolás nem támogatott.

  • A pillanatképeket átmásolhatja az alapblobjára. A pillanatképnek az alap blob helyzetére való előléptetésével visszaállíthatja a blob egy korábbi verzióját.

  • A pillanatképeket átmásolhatja egy másik nevű célblobba. Az eredményként kapott célblob egy írható blob, és nem pillanatkép.

Amikor lapblobból másol, a Blob Storage létrehoz egy céllapblobot a forrásblob hosszában. A lapblob kezdetben az összes nullát tartalmazza. Ezután a forráslaptartományok felsorolása és a nem üres tartományok másolása.

Blokkblob vagy hozzáfűző blob esetén a Blob Storage nulla hosszúságú végleges blobot hoz létre, mielőtt visszatér ebből a műveletből.

Ha blokkblobból másol, a rendszer minden véglegesített blokkot és azok blokkazonosítóját másolja. A nem véglegesített blokkok nem lesznek másolva. A másolási művelet végén a célblob ugyanazzal a véglegesített blokkszámtal rendelkezik, mint a forrás.

Ha hozzáfűző blobból másol, a program az összes véglegesített blokkot átmásolja. A másolási művelet végén a célblob kevesebb véglegesített blokkot fog rendelkezni, mint a forrásblob.

A másolási művelet állapotának ellenőrzéséhez minden blobtípus esetében meghívhatja Get Blob a célblobot vagy Get Blob Properties a célblobot. A végső blob véglegesítése a másolási művelet befejeződésekor történik.

Ha a másolási művelet forrása értékeket ad ETag meg, a másolási művelet közben a forrás módosításai a művelet sikertelenségéhez vezetnek. A célblob módosítására tett kísérlet, amíg a másolat folyamatban van, a 409-es állapotkód (ütközés) meghiúsul. Ha a célblob végtelen bérletet kapott, a bérletazonosítót át kell adni a következőnek: Copy Blob. A véges időtartamú bérletek nem engedélyezettek.

A ETag blokkblobok értéke a Copy Blob művelet indításakor és a művelet befejeződésekor változik. A ETag lapblobok értéke a Copy Blob művelet indításakor megváltozik, és a másolási művelet során is gyakran változik. A blokkblobok tartalma csak a teljes másolási művelet befejeződése után látható egy Get parancson keresztül.

Blobtulajdonságok, címkék és metaadatok másolása

Blob másolásakor a rendszer a következő rendszertulajdonságokat másolja a célblobba, amely ugyanazokat az értékeket tartalmazza:

  • Content-Type

  • Content-Encoding

  • Content-Language

  • Content-Length

  • Cache-Control

  • Content-MD5

  • Content-Disposition

  • x-ms-blob-sequence-number (csak lapblobok esetén)

  • x-ms-committed-block-count (csak hozzáfűző blobokhoz és csak a 2015-02-21-es verzióhoz)

A forrásblob véglegesített blokklistája szintén a célblobba lesz másolva, ha a blob blokkblob. A nem véglegesített blokkok nem lesznek másolva.

A célblob mérete mindig megegyezik a forrásblob méretével. A célblob fejlécének Content-Length értéke megegyezik a forrásblob fejlécének értékével.

Ha a forrásblob és a célblob megegyezik, Copy Blob eltávolítja a nem véglegesített blokkokat. Ha ebben az esetben metaadatokat ad meg, a meglévő metaadatok felülíródnak az új metaadatokkal.

Ha a x-ms-tags fejléc címkéket tartalmaz a célblobhoz, akkor lekérdezési sztring kódolásúnak kell lenniük. A címkekulcsoknak és -értékeknek meg kell felelniük a Blobcímkék beállítása című témakörben megadott elnevezési és hosszkövetelményeknek.

A x-ms-tags fejléc legfeljebb 2 kilobit címkét tartalmazhat. Ha további címkékre van szüksége, használja a Set Blob Tags műveletet.

Ha a x-ms-tags fejléc nem ad meg címkéket, akkor a program nem másolja ki a címkéket a forrásblobból.

Bérelt blob másolása

A Copy Blob művelet csak a forrásblobból olvas, így a forrásblob bérletállapota nem számít. A Copy Blob művelet azonban a másolási művelet indításakor menti ETag a forrásblob értékét. Ha az ETag érték a másolási művelet befejeződése előtt megváltozik, a művelet sikertelen lesz. A forrásblob módosítását megakadályozhatja, ha lízingeli azt a másolási művelet során.

Ha a célblob aktív végtelen bérlettel rendelkezik, meg kell adnia a bérletazonosítóját a Copy Blob művelet hívásában. Ha a megadott bérlet egy aktív, véges időtartamú bérlet, a hívás a 412-s állapotkóddal meghiúsul (az előfeltétel sikertelen). Amíg a másolási művelet függőben van, a célblob bérletművelete a 409-ben (Ütközés) állapotkóddal meghiúsul. A másolási művelet során a célblob végtelen bérlete zárolva van, függetlenül attól, hogy a forrástól eltérő nevű célblobba másol, a forrás nevével azonos nevű célblobba másol, vagy egy pillanatképet előléptet az alapblobon.

Ha az ügyfél egy még nem létező blob bérletazonosítóját adja meg, a Blob Storage a 2013-08-15-es és újabb verzióval kapcsolatos kérések esetében a 412-es állapotkódot adja vissza (előfeltétele nem sikerült). A korábbi verziók esetében a Blob Storage a 201-ben (Létrehozva) állapotkódot adja vissza.

Blob-pillanatképek másolása

Forrásblob másolásakor a rendszer nem másolja a forrásblob pillanatképeit vagy verzióit a célhelyre. Ha egy célblobot felülír egy másolattal, a célblobhoz társított pillanatképek vagy verziók érintetlenek maradnak a neve alatt.

Másolási műveletet hajthat végre, hogy előléptesse a pillanatképet az alapblobján, feltéve, hogy online szinten van (gyakori vagy ritka elérésű). Ily módon visszaállíthatja a blob egy korábbi verzióját. A pillanatkép megmarad, de a célhelyet felülírja egy olyan másolattal, amely olvasható és írható is.

Blobverziók másolása

Másolási műveletet hajthat végre, hogy előléptesse a verziót az alapblobján, feltéve, hogy online szinten van (gyakori vagy ritka elérésű). Ily módon visszaállíthatja a blob egy korábbi verzióját. A verzió megmarad, de a célhelyet felülírja egy olyan másolattal, amely olvasható és írható is.

Archivált blob másolása

A 2018-11-09-es verziótól kezdődően egy archivált blobot másolhat egy új blobba ugyanabban a tárfiókban. A forrásblob az archív szinten marad. Ha a forrásblob archivált blob, a kérésnek tartalmaznia kell a x-ms-access-tier fejlécet, amely a célblob szintjét jelzi. A cél blobnak online szinten kell lennie. Az archív szinten lévő blobba nem másolható.

A 2021-02-12-es verziótól kezdődően egy archivált blobot egy másik tárfiók online rétegére másolhat, feltéve, hogy a célfiók ugyanabban a régióban található, mint a forrásfiók.

A kérés meghiúsulhat, ha a forrásblob rehidratálva van.

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.

Függőben lévő másolási művelet használata (2012-02-12-es és újabb verzió)

Ha a Copy Blob művelet aszinkron módon fejeződik be, a következő táblázat segítségével határozza meg a következő lépést a visszaadott állapotkód alapján:

Állapotkód Értelmezés
202 (Elfogadva), x-ms-copy-status: success A másolási művelet sikeresen befejeződött.
202 (Elfogadva), x-ms-copy-status: pending A másolási művelet még nem fejeződött be. A célblob lekérdezéséhez Get Blob Properties vizsgálja meg a fejlécet, x-ms-copy-status amíg a művelet befejeződik vagy meghiúsul.
4xx, 500 vagy 503 A másolási művelet nem sikerült.

A Copy Blob művelet során és után a célblob tulajdonságai tartalmazzák a művelet másolási azonosítóját és a Copy Blob forrásblob URL-címét. Amikor a művelet befejeződik, a Blob Storage a célblob tulajdonságaiba írja az idő- és eredményértéket (success, failedvagy aborted). Ha a művelet eredménye van failed , a x-ms-copy-status-description fejléc tartalmaz egy hibainformációs sztringet.

Egy függőben lévő Copy Blob művelet kéthetes időtúllépéssel rendelkezik. Egy másolási kísérlet, amely két hét után nem fejeződött be, és üres blobot hagy, amelynek x-ms-copy-status a mezője failedx-ms-copy-status-description 500 (OperationCancelled) értékű. A másolási művelet során előforduló időszakos, nem végzetes hibák akadályozhatják a művelet előrehaladását, de nem okoznak hibát. Ezekben az esetekben x-ms-copy-status-description az időszakos hibákat írja le.

A másolási művelet során a célblob módosítására vagy pillanatképére tett kísérletek a 409-es állapotkóddal (ütközés), a "Blob másolása folyamatban" hibával meghiúsulnak.

Ha meghívja a Abort Copy Blob műveletet, megjelenik egy x-ms-copy-status:aborted fejléc. A célblob ép metaadatokat és 0 bájt hosszúságú blobokat fog létrehozni. A másolási művelet ismételt kipróbálásához Copy Blob ismételje meg az eredeti hívást.

Ha a Copy Blob művelet szinkronban fejeződik be, a másolási művelet állapotának meghatározásához használja az alábbi táblázatot:

Állapotkód Értelmezés
202 (Elfogadva), x-ms-copy-status: success A másolási művelet sikeresen befejeződött.
4xx, 500 vagy 503 A másolási művelet nem sikerült.

A szint a prémium szintű tárolási szintekhez öröklődik. Blokkblobok esetén a célblob felülírása örökli a gyakori vagy ritka elérésű szintet a céltól, ha x-ms-access-tier nincs megadva. Az archivált blob felülírása sikertelen lesz. 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.

Számlázás

A díjszabási kérések a Blob Storage API-kat használó ügyfelektől, közvetlenül a Blob Storage REST API-ból vagy egy Azure Storage-ügyfélkódtárból származhatnak. 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 Copy Blob mutatja be:

Művelet Tárfiók típusa Számlázási kategória
Blob másolása (célfiók 1) Prémium szintű blokkblob
Standard általános célú v2
Standard általános célú v1
Írási műveletek
Blob másolása (2. forrásfiók) Prémium szintű blokkblob
Standard általános célú v2
Standard általános célú v1
Olvasási műveletek

1A célfiókot egy tranzakcióra terheljük az írás kezdeményezéséhez.
2Ha a forrásobjektum egy másik fiókban található, a forrásfiók minden olvasási kérelemhez egy tranzakciót bonyolít a forrásobjektumhoz.

A megadott számlázási kategóriák díjszabásával kapcsolatban lásd: Azure Blob Storage Díjszabás.

A célfiók tranzakciós költségekkel is jár a másolási művelet megszakítására irányuló kérések esetében (lásd: Blob másolásának megszakítása), vagy a másolási művelet állapotának ellenőrzése (lásd: Blob lekérése vagy Blob tulajdonságainak lekérése).

Ezenkívül ha a forrás- és célfiókok különböző régiókban (például az USA északi régiójában és az USA déli régiójában) találhatók, a kérés átviteléhez használt sávszélességet kimenő forgalomként számítjuk fel a forrás tárfiókra. Az ugyanazon régión belüli fiókok közötti kimenő forgalom ingyenes.

Amikor egy forrásblobot egy másik nevű célblobba másol egy fiókon belül, további tárolási erőforrásokat használ az új blobhoz. A másolási művelet ezt követően díjat számít fel a tárfiók kapacitáshasználatával kapcsolatban a további erőforrások esetében. Ha azonban a forrás- és célblobok neve megegyezik ugyanazon a fiókon belül (például amikor előléptet egy pillanatképet az alap blobjára), a 2012-02-12-es és újabb verzióban tárolt további másolási metaadatokon kívül nem merül fel további költség.

Amikor előléptet egy pillanatképet az alapblob helyére, a pillanatkép és az alapblob azonos lesz. Blokkokat vagy lapokat osztanak meg, így a másolási művelet nem eredményez többletköltséget a tárfiók kapacitáshasználatával szemben. Ha azonban egy másik nevű célblobba másol egy pillanatképet, az a művelet többletköltséget von maga után az eredményként kapott új blob által használt tárolási erőforrásokért. Két különböző nevű blob nem oszthat meg blokkokat vagy lapokat, még akkor sem, ha azonosak. A pillanatképek költségforgatókönyveiről további információt A pillanatképek díjtételeinek ismertetése című témakörben talál.

Lásd még

Kérések engedélyezése az Azure Storage-ba
Állapot- és hibakódok
Blob Storage-hibakódok
A pillanatképek díjtételeinek ismertetése
Blob másolásának megszakítása