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


Blob másolása URL-címről

A Copy Blob From URL művelet szinkronizálva másol egy blobot a tárfiókon belüli célhelyre a 256 mebibyte-ig (MiB) beállított forrásblobméretek esetében. Ez az API a 2018-03-28-es verziótól érhető el.

A művelet forrása Copy Blob From URL lehet bármely véglegesített blokkblob bármely olyan Azure Storage-fiókban, amely nyilvános vagy megosztott hozzáférési aláírással rendelkezik.

Kérés

A kérést a Copy Blob From URL 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.

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 a metaadatokat a forrásblobból vagy fájlból a célblobba másolja. 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-encryption-scope Választható. A kérelem tartalmának titkosítási hatókörét jelzi. Ez a fejléc a 2020-12-06-os és újabb verziókban támogatott.
x-ms-tags Választható. Lekérdezési sztringbe kódolt címkéket állít be 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-copy-source-tag-option Választható. A lehetséges értékek a REPLACE és (a kis- és COPY nagybetűk megkülönböztetése). Az alapértelmezett érték REPLACE.

Ha COPY meg van adva, a forrásblob címkéi át lesznek másolva a célblobba. A forrásblobnak privátnak kell lennie, és a kérésnek engedéllyel kell rendelkeznie a blobcímkék lekérése művelethez a forrásblobon, valamint a Blobcímkék beállítása művelethez a célblobon. Ez egy további hívással jár a Get Blob Tags művelethez a forrásfiókon.

REPLACE beállítja a x-ms-tags fejléc által a célblobban megadott címkéket. Ha x-ms-tags megadja és REPLACE nem adja meg a címkéket, akkor a célblobon nem lesznek címkék beállítva. A és COPYx-ms-tags a megadása 409 -os (ütközési) hibát eredményez.

A 2021-04-10-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ő. A forrásblob URL-címét adja meg. Az érték legfeljebb 2 kibájt (KiB) hosszúságú URL-cím lehet, amely blobot határoz meg. Az értéknek URL-kódolásúnak kell lennie, ahogy az a kérelem URI-jában is megjelenik. A forrásblobnak nyilvánosnak kell lennie, vagy közös hozzáférésű jogosultságkóddal kell rendelkeznie. Ha a forrásblob nyilvános, a művelet végrehajtásához nincs szükség engedélyezésre. Ha a forrásblob mérete nagyobb, mint 256 MiB, a kérés 409-es (ütközési) hibával meghiúsul. A forrásblob blobtípusának blokkblobnak kell lennie. Í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>
x-ms-copy-source-authorization: <scheme> <signature> Választható. Megadja a másolási forrás engedélyezési sémáját és aláírását. További információ: Kérelmek engedélyezése az Azure Storage-ba.
Csak a rendszer tulajdonosát támogatja a Microsoft Entra.
Ez a fejléc a 2020-10-02-es és újabb verziókban támogatott.
x-ms-requires-sync:true Kötelező. Azt jelzi, hogy aszinkron Copy Blob művelet helyett szinkron Copy Blob From URL műveletről van szó.
x-ms-source-content-md5 Választható. Megadja a blobtartalom MD5-kivonatát az URI-ból. Ez a kivonat a blob integritásának ellenőrzésére szolgál az adatok URI-ból való átvitele során. Ha ez a fejléc meg van adva, a tárolási szolgáltatás összehasonlítja a másolási forrásból érkezett tartalom kivonatát ezzel a fejlécértékkel.

Az MD5-kivonat nem a blobban van tárolva.

Ha a két kivonat nem egyezik, a művelet a 400-es hibakóddal (hibás kérelem) meghiúsul.
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 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-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, Cool, Cold é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.

A kérés törzse

Nincsenek.

Reagálás

A válasz egy HTTP-állapotkódot és válaszfejléceket tartalmaz.

Állapotkód

A sikeres művelet a 202-s állapotkódot adja vissza (elfogadva).

Az állapotkódokkal kapcsolatos információkért lásd: Állapot- és hibakódok.

Válaszfejlécek

A műveletre adott válasz a következő fejléceket tartalmazza. A válasz további szabványos HTTP-fejléceket is tartalmazhat. Minden szabványos fejléc megfelel a HTTP/1.1 protokoll specifikációjának.

Válaszfejléc Description
ETag Ha a másolat elkészült, a ETag célblob értékét tartalmazza. Ha a másolat nem fejeződött be, a ETag másolat elején létrehozott üres blob értékét tartalmazza.

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. Segítségével 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.
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> A másolási művelet sztringazonosítója.
x-ms-copy-status: <success> A másolási művelet állapotát jelzi. A értéke success azt jelenti, hogy a művelet sikeresen befejeződött.
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.
x-ms-request-server-encrypted: true/false Állítsa be, true hogy a kérés tartalma sikeresen titkosítva legyen-e a megadott algoritmussal. Ellenkező esetben az érték .false
x-ms-encryption-scope Akkor adja vissza, ha a kérelem titkosítási hatókört használt, így az ügyfél meggyőződhet arról, hogy a kérés tartalma sikeresen titkosítva van a titkosítási hatókörön keresztül.

Választörzs

Nincsenek.

Mintaválasz

Az alábbiakban egy blob másolására vonatkozó kérésre adott mintaválasz látható:

Response Status:  
HTTP/1.1 202 Accepted  
  
Response Headers:   
Last-Modified: <date>   
ETag: "0x8CEB669D794AFE2"  
Server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0  
x-ms-request-id: cc6b209a-b593-4be1-a38a-dde7c106f402  
x-ms-version: 2018-03-28  
x-ms-copy-id: 1f812371-a41d-49e6-b123-f4b542e851c5  
x-ms-copy-status: success  
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 azt ismerteti, hogyan engedélyezhetők a művelet cél- és forrásobjektumai Copy Blob From URL :

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élblokkblob Igen Igen Yes
Forrásblokkblob ugyanabban a tárfiókban Igen Igen Yes
Forrásblokkblob 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 From URL 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.

Fontos

A Microsoft a Microsoft Entra ID felügyelt identitásokkal való használatát javasolja az Azure Storage felé irányuló kérések engedélyezéséhez. Microsoft Entra ID a megosztott kulcsos hitelesítéshez képest kiemelkedő biztonságot és könnyű használatot biztosít.

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, felügyelt identitás vagy szolgáltatásnév meghívja a műveletet, valamint a legkevésbé emelt jogosultságú beépített Azure RBAC-szerepkört, amely tartalmazza ezt a Copy Blob From URL 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 művelet forrás- és célblobjának Copy Blob From URL blokkblobnak kell lennie.

A 2020-10-02-es és újabb verziókban Microsoft Entra hitelesítés támogatott a másolási művelet forrásához.

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

A forrásblobokat átmásolhatja egy másik nevű célblobba. A célblob lehet egy meglévő blokkblob, vagy egy új blob, amelyet a másolási művelet létrehoz.

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ámú lesz, mint a forrás.

A ETag blokkblobok értéke a Copy Blob From URL művelet indításakor és a művelet befejeződésekor változik.

Blobtulajdonságok és metaadatok másolása

Blokkblob másolásakor a rendszer a következő rendszertulajdonságokat másolja a célblobba ugyanazokkal az értékekkel:

  • Content-Type

  • Content-Encoding

  • Content-Language

  • Content-Length

  • Cache-Control

  • Content-MD5

  • Content-Disposition

A forrásblob véglegesített blokklistája a célblobba is át lesz másolva. A nem véglegesített blokkok nem lesznek másolva.

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

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 műveletben megadott elnevezési és hosszúsági kö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 From URL művelet csak a forrásblobból olvas, így a forrásblob bérletállapota nem számít.

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 From URL mutatja be:

Művelet Tárfiók típusa Számlázási kategória
Blob másolása URL-címről (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 URL-címről (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.
2A forrásfiók egy tranzakcióval jár a forrásobjektumnak küldött olvasási kérésekhez.

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

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.

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