Copy Blob

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

A 2012-02-12-es és újabb verziókban a művelet forrása Copy Blob bármely Azure Storage-fiókban lekötött blob lehet.

A 2015-02-21-es verziótól kezdődően a művelet forrása Copy Blob bármely Azure-tárfiókban található Azure-fájl 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 az Copy Blob alábbiak szerint hozhatja létre. A HTTPS használatát javasoljuk. 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 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 közös hozzáférésű jogosultságkódját is, ha az egy másik tárfiókban található.

PUT metóduskérés 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épnevét és Azure Blob Storage portot 127.0.0.1:10000, majd az emulált tárfiók nevét:

PUT metóduskérés 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é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 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árt adja meg. 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 má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. Adja meg ezt a feltételes fejlécet a blob másolásához, ha a forrásblob a megadott dátum/idő óta módosult. Ha a forrásblob nem lett 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. Adja meg ezt a feltételes fejlécet a blob másolásához, ha a forrásblob nem lett módosítva a megadott dátum/idő óta. Ha a forrásblob módosult, 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-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 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, 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ó. 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, 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 (*), 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 kezdődően ez az érték legfeljebb 2 kibibájt (KiB) hosszúságú URL-cím lehet, amely egy blobot határoz meg. Az értéknek url-kódolásúnak kell lennie, ahogy az a kérés 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 is használhatja az olvasási művelet engedélyezéséhez 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 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 forrásobjektum a 2015-02-21-es verziótól kezdve 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 fájl Azure Files, 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 az alábbi 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> Akkor szükséges, ha a célblob aktív bérletet kapott. 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ó érvénytelen, 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 (nem támogatott 2012-02-12-ben és újabb verziókban). 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ítani kívánt 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át 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 támogatott a Blob Storage-fiókokban vagy általános célú v2-fiókokban. Az érvényes értékek a következők: Hot, Coolés ColdArchive. Megjegyzés:Cold A szint a 2021-12-02-es és újabb verziók esetében 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 és Standarda.High A prioritást csak egyszer állíthatja be egy blobon. Ezt a fejlécet a rendszer figyelmen kívül hagyja az ugyanazon blobra irányuló későbbi kérések során. A fejléc nélküli alapértelmezett prioritás a .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 és lockeda.unlocked 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 visszatartást. Az érvényes értékek a és falsea.true

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 tartalmaz egy HTTP-állapotkódot és egy válaszfejléceket.

Állapotkód

A 2012-02-12-es és újabb verzióban a sikeres művelet a 202-es állapotkódot adja vissza (Elfogadva).

A 2012-02-12 előtti verziókban 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.

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ásolat 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őjelekben 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écmel háríthatja el 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. 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 azt jelzi, hogy a szolgáltatás mikor küldte el 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. A vagy a paranccsal Get BlobGet Blob Properties ellenőrizheti ennek a másolási műveletnek az állapotát, vagy átadhatja a függőben lévő másolási művelet megszakításához Abort 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ó. A blobot egyedileg azonosítja 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 kapcsolódó 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-karakter. Ha a x-ms-client-request-id fejléc nem szerepel a kérelemben, akkor ez a fejléc nem jelenik meg a válaszban.

Választörzs

Nincsenek.

Mintaválasz

A következő kód egy blob másolására irányuló kérésre adott mintaválasz:

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-ban bármilyen adathozzáférési művelet meghívásához engedélyezésre van szükség. Az alábbi táblázat azt ismerteti, hogyan engedélyezhetők a 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 Megosztott kulcs 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érés 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 az SAS-jogkivonaton keresztül olvasási (r) engedéllyel. A forrásblob engedélyezéséről további információt a kérelem fejlécének x-ms-copy-sourcerészleteiben talál.

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 Copy Blob műveletet, valamint a legkevésbé emelt szintű beépített Azure RBAC-szerepkört, 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é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 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