Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A Copy Blob művelet átmásol egy blobot a tárfiókon belüli célhelyre.
A 2012-02-12-es és újabb verziókban a Copy Blob művelet forrása bármely Azure Storage-fiókban lekötött blob lehet.
A 2015-02-21-es verziótól kezdődően a Copy Blob művelet forrása bármely Azure Storage-fiókban lehet Azure-fájl.
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érelem
A Copy Blob kérést az alábbiak szerint hozhatja létre. A HTTPS használatát javasoljuk. Cserélje le a myaccount helyére a tárfiók nevét, a mycontainer nevet a tároló nevére, a myblob 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 van, mint a forrásblob. A 2015-04-05-ös verziótól kezdődően közös hozzáférésű jogosultságkódot is megadhat a célblobhoz, 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 |
Az emulált tárolási szolgáltatás URI-ja
Amikor kérést küld az emulált tárolási szolgáltatásnak, adja meg az emulátor állomásnevét és az Azure Blob Storage-portot a következőként, mint , 127.0.0.1:10000majd 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 |
Opcionális. 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. |
HTTP-kérés fejlécek
Az alábbi táblázat a szükséges és választható kérelemfejléceket ismerteti:
| Kérések fejrész | Leírás |
|---|---|
Authorization |
Szükséges. 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-. |
Date vagy x-ms-date |
Szükséges. A kérelem koordinált egyetemes idejét (UTC) adja meg. További információ: Kérelmek engedélyezése az Azure Storage-. |
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 |
Opcionális. 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 rendszer nem másolja a metaadatokat a forrásblobból vagy -fájlból. A 2009-09-19-es verziótól kezdődően a metaadatneveknek meg kell felelniük 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 |
Opcionális. Beállítja a megadott lekérdezési sztring kódolású címkéket a blobon. A címkék nem másolódnak a másolási forrásból. További információ: Megjegyzések. A 2019-12-12-es és újabb verziók támogatottak. |
x-ms-source-if-modified-since |
Opcionális. 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 módosult, a Blob Storage a 412-es á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 |
Opcionális. 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őkondicionálás sikertelen). Ezt a fejlécet nem adhatja meg, ha a forrás egy Azure-fájl. |
x-ms-source-if-match |
Opcionális. Egy ETag érték. Adja meg ezt a feltételes fejlécet, ha csak akkor másolja a forrásblobot, ha az ETag értéke megegyezik a megadott értékkel. Ha az értékek nem egyeznek, a Blob Storage a 412-es á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 |
Opcionális. Egy ETag érték. Adja meg ezt a feltételes fejlécet, hogy csak akkor másolja a blobot, ha az ETag értéke nem egyezik meg a megadott értékkel. Ha az értékek megegyeznek, a Blob Storage a 412-et adja vissza (az előkondicionálás sikertelen). Ezt a fejlécet nem adhatja meg, ha a forrás egy Azure-fájl. |
If-Modified-Since |
Opcionális. 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 módosult, a Blob Storage a 412-es állapotkódot adja vissza (az előfeltétel sikertelen). |
If-Unmodified-Since |
Opcionális. 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 nem lett módosítva. Ha a célblob módosult, a Blob Storage a 412-s állapotkódot adja vissza (az előkondicionálás sikertelen). |
If-Match |
Opcionális. Egy ETag érték. Adjon meg egy ETag értéket ehhez a feltételes fejléchez, hogy csak akkor másolja a blobot, 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-es állapotkódot adja vissza (az előfeltétel sikertelen). |
If-None-Match |
Opcionális. Egy ETag érték vagy helyettesítő karakter (*).Adjon meg egy ETag értéket ehhez a feltételes fejléchez, hogy csak akkor másolja a blobot, ha a megadott ETag érték nem egyezik ETag meg a 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 |
Szükséges. 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 egy kérelem URI-jában megjelenik. Az ugyanabban a tárfiókban lévő forrásblobok olvasási művelete megosztott kulccsal engedélyezhető. A 2017-11-09-es verziótól kezdődően a Microsoft Entra ID használatával is engedélyezheti az olvasási műveletet a forrásblobon. Ha azonban a forrás egy másik tárfiókban lévő blob, a forrásblobnak nyilvánosnak kell lennie, vagy a hozzáférést közös hozzáférésű jogosultságkóddal kell engedélyezni. Ha a forrásblob nyilvános, a másolási művelet végrehajtásához nincs szükség engedélyre. A 2015-02-21-es verziótól kezdődően a forrásobjektum lehet egy fájl a Azure Files. Ha a forrásobjektum egy blobba másolt 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 a 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?sastokenA 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 elnevezett tárolóban: /accountName/containerName/blobName- Pillanatkép elnevezett 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 aktív bérlettel rendelkezik. A fejléchez megadott bérletazonosítónak meg kell egyeznie a célblob bérletazonosítójával. Ha a kérés nem tartalmazza a bérletazonosítót, vagy az azonosító érvénytelen, a művelet a 412-es á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-es állapotkóddal meghiúsul (az előfeltétel sikertelen). A 2012-02-12-es és újabb verziókban ennek az értéknek meg kell adnia egy aktív, végtelen bérletet egy bérelt blobhoz. A véges időtartamú bérletazonosító meghiúsul a 412-es állapotkóddal (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 Copy Blob meg, 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-es állapotkóddal meghiúsul (az előfeltétel sikertelen). |
x-ms-client-request-id |
Opcionális. Ügyfél által generált, átlátszatlan értéket biztosít 1 KiB karakterkorláttal, amely a naplózás konfigurálásakor a naplókban van rögzítve. 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 |
Opcionális. Megadja a célblobon beállítandó szintet. Ez a fejléc csak a 2017-04-17-es vagy újabb verziójú prémium fiókban lévő lapblobokhoz használható. 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 2018-11-09-es és újabb verziókban támogatott a blokkblobok esetében. A blokkblob-rétegezés a Blob Storage- vagy általános célú v2-fiókokban támogatott. Az érvényes értékek a következőkHot: , CoolColdés SmartArchive.Megjegyzés: Cold szint támogatott a 2021-12-02-es és újabb verziókhoz.
Smart A tier támogatott a 2026-02-06-os verzióban és annál idősebb, jelenleg nyilvános előnézetben van.A blokk tömbös rétegezésről részletes információért lásd: Blob tároló szintek. |
x-ms-rehydrate-priority |
Opcionális. Azt a prioritást jelzi, amellyel egy archivált blobot rehidratálhat. Ez a fejléc a 2019-02-02-es és újabb verziókban támogatott a blokkblobok esetében. 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 ugyanarra a blobra vonatkozó későbbi kéréseknél. Az alapértelmezett prioritás a fejléc nélkül .Standard |
x-ms-seal-blob |
Opcionális. A 2019-12-12-es vagy újabb verzióban 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ók. Megadja a blobon beállítandó megő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ók. Megadja a blobon beállítandó nem módosítható szabályzatmódot. Az érvényes értékek a következők: unlocked és locked. Az 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. Az locked érték azt jelzi, hogy ezek a műveletek tilosak. |
x-ms-legal-hold |
2020-06-12-es és újabb verziók. Megadja a blobon beállítandó jogi visszatartást. Az érvényes értékek a következők: true és false. |
Ez a művelet csak akkor támogatja a x-ms-if-tags és feltételes x-ms-source-if-tags fejlécek sikerét, ha a megadott feltétel teljesül. További információ: Feltételes fejlécek megadása a Blob Storage-műveletekhez.
A kérés tartalma
Nincs.
Válasz
A válasz tartalmaz egy HTTP-állapotkódot és válaszfejléceket.
Á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-es (létrehozva) állapotkódot adja vissza.
Az állapotkódokkal kapcsolatos információkért lásd állapot- és hibakódokat.
Válaszfejlécek
A művelet válasza 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 | Leírás |
|---|---|
ETag |
A 2012-02-12-es és újabb verziókban, ha a másolás befejeződött, ez a fejléc tartalmazza ETag a célblob értékét. Ha a másolás nem fejeződik be, a fejléc tartalmazza ETag a 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-as és újabb verziókban az ETag érték idézőjelben van. |
Last-Modified |
Azt a dátumot/időpontot adja vissza, amikor a másolási művelet befejeződött a célblobba. |
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 kérés végrehajtásához használt Blob Storage verziót jelzi. Ez a fejléc a 2009-09-19-es és újabb verzióval kapcsolatos kérelmek esetén lesz visszaadva. |
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ók. Sztringazonosítót biztosít ehhez a másolási művelethez. A Get BlobGet Blob Properties gombbal vagy a másolási művelet állapotának ellenőrzéséhez, vagy a továbblépés használatával Abort Copy Blob megszakíthatja a függőben lévő másolási műveletet. |
x-ms-copy-status: <success ¦ pending> |
2012-02-12-es és újabb verziók. A másolási művelet állapotát jelzi a következő é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ók. Egyedileg azonosítja a blobot a verziója alapján. Ezt az átlátszatlan értéket a blob ezen verziójának eléréséhez használhatja a későbbi kérésekben. |
x-ms-client-request-id |
A kérések és a megfelelő válaszok hibaelhárítására használható. Ennek az élőfejnek az é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álaszüzenet tartalma
Nincs.
Mintaválasz
Az alábbi kód egy blob másolására vonatkozó 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ásához engedélyezésre van szükség. Az alábbi táblázat azt ismerteti, hogyan engedélyezhetők a Copy Blob műveletek cél- és forrásobjektumai:
| Objektumtípus | Microsoft Entra ID engedélyezése | Közös hozzáférésű jogosultságkód (SAS) engedélyezése | Megosztott kulcsos engedélyezés (vagy Shared Key Lite) |
|---|---|---|---|
| Célblob | Igen | Igen | Igen |
| Forrásblob ugyanabban a tárfiókban | Igen | Igen | Igen |
| 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 Set Blob Tags művelet engedélyezési követelményeinek.
Az alábbi módon engedélyezheti a Copy Blob műveletet. 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ével kapcsolatos további információkért tekintse meg a kérelem fejlécének x-ms-copy-sourcerészleteit.
Fontos
A Microsoft azt javasolja, hogy felügyelt identitásokkal használja a Microsoft Entra ID-t az Azure Storage-kérelmek engedélyezéséhez. A Microsoft Entra ID kiváló biztonságot és egyszerű használatot biztosít a megosztott kulcsok engedélyezéséhez képest.
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-val azure-beli szerepköralapú hozzáférés-vezérléssel (Azure RBAC) adhat engedélyeket egy biztonsági tagnak. A biztonsági tag lehet felhasználó, csoport, alkalmazásszolgáltatásnév vagy Azure-beli felügyelt identitás. A biztonsági tagot a Microsoft Entra ID hitelesíti egy OAuth 2.0-jogkivonat visszaadásához. A token ezután a Blob szolgáltatással kapcsolatos kérések engedélyezésére használható.
A Microsoft Entra ID használatával történő engedélyezésről további információt A blobok hozzáférésének engedélyezése a Microsoft Entra-azonosítóvalcímű témakörben talál.
Engedélyek
Az alábbiakban azokat az RBAC-műveletet soroljuk fel, amelyek szükségesek ahhoz, hogy egy Microsoft Entra-felhasználó, csoport, felügyelt identitás vagy szolgáltatásnév meghívja a Copy Blob műveletet, valamint a legkevésbé kiemelt, beépített Azure RBAC-szerepkört, amely tartalmazza ezt a műveletet:
Célblob
- 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é kiemelt beépített szerepkör:Storage Blob Data Közreműködő
Forrásblob ugyanabban a tárfiókban
- Azure RBAC-művelet:Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read
- Legkevésbé kiemelt beépített szerepkör:Storage Blob Data Reader
A szerepkörök Azure RBAC-vel való hozzárendeléséről további információt Azure-szerepkör hozzárendelése a blobadatokhoz való hozzáféréshezcí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, amely segítségével ellenőrizheti vagy megszakíthatja a másolási műveletet. A másolási művelet aszinkron jellege miatt a Blob Storage a legjobb erőfeszítés szerint másolja a blobokat. A Blob Service akkor másolja a blobokat, ha a kiszolgálói erőforrásokat más feladatok nem használják, így nem garantált, hogy a másolat azonnal elindul vagy egy adott időkereten belül befejeződik.
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, a forrásblob típusával megegyező blobtípusúnak kell lennie. A rendszer felülírja a meglévő célblobokat. A célblob nem módosítható, amíg másolási művelet van folyamatban.
A 2015-02-21-es és újabb verziókban a másolási művelet forrása egy fájl is lehet 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. Egy célblobnak csak egy függőben lévő Copy Blob művelete lehet. Más szóval egy blob nem lehet több függőben lévő Copy Blob művelet célhelye. A blob másolására tett kísérlet egy olyan célblobba, amely már rendelkezik függőben lévő másolási művelettel, meghiúsul a 409-es (ütközés) állapotkóddal.
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 való másolási kísérlet a 400-as állapotkóddal (hibás kérés) meghiúsul.
A Copy Blob művelet mindig a teljes forrásblobot vagy -fájlt másolja. A bájttartományok vagy blokkok másolása nem támogatott.
A Copy Blob művelet a következő formák bármelyikét öltheti:
A forrásblobokat más nevű célblobba másolhatja. A célblob lehet azonos blobtípusú (blokk, hozzáfűzés vagy lap) meglévő blobja, vagy lehet egy új blob, amelyet a másolási művelet hoz létre.
A forrásblobokat átmásolhatja egy azonos nevű célblobba, amely gyakorlatilag lecseréli 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 a Azure Files másolhatja egy célblobba. A célblob lehet egy meglévő blokkblob, vagy lehet egy új blokkblob, amelyet a másolási művelet hoz létre. A fájlokból lapblobokba vagy hozzáfűző blobokba való másolás nem támogatott.
A pillanatképet az alapblobra másolhatja. Ha előléptet egy pillanatképet az alapblob helyére, visszaállíthatja a blob egy korábbi verzióját.
A pillanatképeket más nevű célblobba másolhatja. 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ával. Kezdetben a lapblob tartalmazza az összes nullát. Ezután a rendszer felsorolja a forrásoldal-tartományokat, és másolja a nem üres tartományokat.
Blokkblob vagy hozzáfűző blob esetén a Blob Storage létrehoz egy nulla hosszúságú véglegesített blobot, mielőtt visszatérne ebből a műveletből.
Amikor blokkblobból másol, a rendszer átmásolja az összes véglegesített blokkot és azok blokkazonosítóját. A nem véglegesített blokkok nem lesznek másolva. A másolási művelet végén a célblob lekötött blokkszámmal rendelkezik, mint a forrásé.
Amikor hozzáfűző blobból másol, a rendszer az összes véglegesített blokkot átmásolja. A másolási művelet végén a célblob kevesebb vagy ugyanannyi véglegesített blokkot fog tartalmazni, mint a forrásblob.
Minden blobtípus esetében meghívhatja Get BlobGet Blob Properties vagy a célblobot a másolási művelet állapotának ellenőrzéséhez. A másolási művelet befejezésekor véglegesíti a végleges blobot.
Ha egy másolási művelet forrása értékeket ad meg ETag , a másolási művelet során a forrás módosítása a művelet meghiúsulását eredményezi. A célblob módosítására tett kísérlet a másolás közben a 409-es (ütközés) állapotkóddal meghiúsul. Ha a célblob végtelen bérlettel rendelkezik, a bérletazonosítót át kell adni a következőnek Copy Blob: . Véges időtartamú bérletek nem engedélyezettek.
A ETag blokkblob értéke a művelet indításakor és befejezésekor változik Copy Blob . A ETag lapblob értéke a művelet indításakor megváltozik Copy Blob , és a másolási művelet során továbbra is gyakran változik. A blokkblobok tartalma csak a teljes másolási művelet befejezése után látható egy Get paranccsal.
Blobtulajdonságok, címkék és metaadatok másolása
Blob másolásakor a rendszer a következő rendszertulajdonságokat másolja az azonos értékekkel rendelkező célblobba:
Content-TypeContent-EncodingContent-LanguageContent-LengthCache-ControlContent-MD5Content-Dispositionx-ms-blob-sequence-number(csak lapblobok esetén)x-ms-committed-block-count(csak hozzáfűző blobok esetén, és csak a 2015-02-21-es verzió esetén)
A forrásblob véglegesített blokklistáját a rendszer is átmásolja a célblobba, ha a blob blokkblob. A nem véglegesített blokkok nem lesznek másolva.
A célblob mérete mindig megegyezik a forrásblobéval. A célblob fejlécének értéke Content-Length megegyezik a forrásblob fejlécének értékével.
Ha a forrásblob és a célblob megegyezik, eltávolítja Copy Blob a nem véglegesített blokkokat. Ha ebben az esetben metaadatok vannak megadva, a meglévő metaadatokat felülírják az új metaadatokkal.
Ha a x-ms-tags fejléc címkéket biztosít a célblobhoz, azokat lekérdezési sztring kódolásúnak kell lennie. A címkekulcsoknak és -értékeknek meg kell felelniük az elnevezési és hosszúsági követelményeknek a Blobcímkék beállítása című témakörben meghatározottak szerint.
A x-ms-tags fejléc legfeljebb 2 kilobitnyi címkét tartalmazhat. Ha további címkékre van szüksége, használja a műveletet Set Blob Tags .
Ha a x-ms-tags fejléc nem ad meg címkéket, akkor a rendszer nem másolja 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 be, így a forrásblob bérleti állapota nem számít. A Copy Blob művelet azonban menti a ETag forrásblob értékét a másolási művelet indításakor. Ha az ETag érték a másolási művelet befejezése előtt megváltozik, a művelet sikertelen lesz. A forrásblob módosítását megakadályozhatja, ha béreli 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 művelet hívásában Copy Blob . Ha a megadott bérlet egy aktív, véges időtartamú bérlet, ez a hívás a 412-es á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érleti műveletei meghiúsulnak a 409-es (ütközés) állapotkóddal. A célblob végtelen bérlete így van zárolva a másolási művelet során, függetlenül attól, hogy a forrástól eltérő nevű célblobba másol-e, a forrással azonos nevű célblobba másol-e, vagy előléptet egy pillanatképet az alapblobon.
Ha az ügyfél bérletazonosítót ad meg egy még nem létező blobon, a Blob Storage a 412-es állapotkódot adja vissza (az előfeltétel sikertelen) a 2013-08-15-ös és újabb verziókra vonatkozó kérésekhez. A korábbi verziók esetében a Blob Storage a 201-es (létrehozva) állapotkódot adja vissza.
Blob-pillanatképek másolása
A 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ásolat, a célblobhoz társított pillanatképek vagy verziók érintetlenek maradnak a neve alatt.
Másolási műveletet is végezhetsz, hogy előléptess egy pillanatképet az alap folbján, amennyiben online szinten van (forró, hűvös vagy hideg). Ily módon visszaállíthatja a blob egy korábbi verzióját. A pillanatkép megmarad, de a célt felülírja egy olvasható és írható másolat.
Blobverziók másolása
Másolási műveletet végezhetsz, hogy előléptess egy verziót az alap folbján, amennyiben az online szintben van (forró, hideg vagy hideg). Ily módon visszaállíthatja a blob egy korábbi verzióját. A verzió megmarad, de a célt felülírja egy olvasható és írható másolat.
Archivált blob másolása
A 2018-11-09-es verziótól kezdődően archivált blobokat 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élblobnak online szinten kell lennie. Az archív szinten lévő blobokba nem másolhat.
A 2021-02-12-es verziótól kezdődően az archivált blobokat egy másik tárfiók online szintjére másolhatja, ha 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álása folyamatban van.
A blokk blob szintjén történő szintesorításról részletes információkért lásd: Blob tároló szintek.
Függőben lévő másolási művelet használata (2012-02-12-es és újabb verziók)
Ha a Copy Blob művelet aszinkron módon fejeződik be, az alábbi 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: sikeres | A másolási művelet sikeresen befejeződött. |
| 202 (Elfogadva), x-ms-copy-status: függőben | A másolási művelet nem fejeződött be. Kérdezze le a célblobot Get Blob Properties a x-ms-copy-status fejléc vizsgálatával, amíg a művelet be nem fejeződik vagy meghiúsul. |
| 4xx, 500 vagy 503 | A másolási művelet sikertelen volt. |
A művelet során és után Copy Blob a célblob tulajdonságai tartalmazzák a Copy Blob művelet másolási azonosítóját és a forrásblob URL-címét. A művelet befejeződése után a Blob Storage az idő és az eredmény értékét (success, failed, vagy aborted) a célblob tulajdonságaiba írja. Ha a műveletnek van failed eredménye, a x-ms-copy-status-description fejléc tartalmaz egy hibarészlet sztringet.
A 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, időtúllépést okoz, és üres blobot x-ms-copy-status hagy a mezővel, a failed mező pedig 500 (OperationCancelled) értékkel van beállítvax-ms-copy-status-description. 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 okozhatják annak meghiúsulását. Ezekben az esetekben x-ms-copy-status-description az időszakos hibákat írja le.
A célblob másolási művelet során történő módosítására vagy pillanatképének készítésére tett kísérletek sikertelenek lesznek a 409-es (ütközés), a "Blob másolása folyamatban" állapotkóddal.
Ha meghívja a műveletet Abort Copy Blob , megjelenik egy x-ms-copy-status:aborted fejléc. A célblob érintetlen metaadatokkal és 0 bájt hosszúságú blobhosszal fog rendelkezni. Megismételheti az eredeti hívást Copy Blob , és megpróbálhatja újra a másolási műveletet.
Ha a Copy Blob művelet szinkronban fejeződik be, az alábbi táblázat segítségével állapítsa meg a másolási művelet állapotát:
| Állapotkód | Értelmezés |
|---|---|
| 202 (Elfogadva), x-ms-copy-status: sikeres | A másolási művelet sikeresen befejeződött. |
| 4xx, 500 vagy 503 | A másolási művelet sikertelen volt. |
A szint a prémium szintű tárolási szintekhez öröklődik. Blokk blobok esetén a cél blob felülírása örökli a célpont szintjét, ha x-ms-access-tier nincs megadva. Az archivált blobok felülírása sikertelen lesz. A blokk blob szintjén történő szintesorításról részletes információkért lásd: Blob tároló szintek.
Számlázás
A díjszabási kérések olyan ügyfelektől származhatnak, amelyek Blob Storage API-kat használnak közvetlenül a Blob Storage REST API-ból vagy egy Azure Storage-ügyfélkódtárból. Ezek a kérések tranzakciónkénti díjakat halmoznak fel. A tranzakció típusa hatással van a fiók díjának módjára. 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 Copy Blob kérelmek számlázási kategóriáját mutatja be:
| Művelet | Tárfiók típusa | Számlázási kategória |
|---|---|---|
| Blob másolása (1. célfiók) | Prémium szintű blokktároló 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ű blokktároló Standard általános célú v2 Standard általános célú v1 |
Olvasási műveletek |
1A célfióknak egy tranzakcióért kell fizetnie az írás elindításához.
2Ha a forrásobjektum egy másik fiókban van, a forrásfiók egy tranzakciót hajt végre a forrásobjektum minden olvasási kérelme után.
A megadott számlázási kategóriák díjszabásával kapcsolatos további információkért lásd: Azure Blob Storage díjszabása.
A célfiók tranzakciós költségeket is von maga után a másolási művelet megszakítására (lásd: Másolási blob megszakítása) vagy a másolási művelet állapotának ellenőrzésére (lásd: Blob lekérése vagy Blobtulajdonságok lekérése).
Emellett, ha a forrás- és célfiókok különböző régiókban találhatók (például az USA északi régiójában és az USA déli régiójában), a kérés átviteléhez használt sávszélességet a forrás tárfióknak kell kimenőként felszámítani. Az ugyanazon régión belüli fiókok közötti kimenő forgalom ingyenes.
Ha egy forrásblobot egy olyan célblobba másol, amelynek neve más van ugyanazon a fiókon belül, további tárolási erőforrásokat kell használni az új blobhoz. A másolási művelet ezután díjat számít fel a tárfiók kapacitásának további erőforrások kihasználtsága után. 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 alapblobba), akkor a 2012-02-12-es és újabb verziókban tárolt további másolási metaadatokon kívül nem kell további díjat fizetni.
Amikor előléptet egy pillanatképet az alapblob cseréjéhez, a pillanatkép és az alapblob azonos lesz. Blokkokat vagy oldalakat osztanak meg, így a másolási művelet nem eredményez további díjat a tárfiók kapacitáshasználatáért. Ha azonban egy pillanatképet egy más nevű célblobba másol, a művelet további díjat számít fel az eredményül kapott új blob által használt tárolási erőforrásokért. Két különböző nevű blob nem osztozhat blokkokon vagy lapokon, még akkor sem, ha azonosak. További információ a pillanatkép-költségforgatókönyvekről: A pillanatképek díjak felhalmozásának ismertetése.
Lásd még
Kérések engedélyezése az Azure Storage-
Állapot- és hibakódok
Blob Storage hibakódjai
A pillanatképek díjak felhalmozódásának ismertetése
Blob másolásának megszakítása