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 COPY x-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-source
ré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
- Azure RBAC-művelet:Microsoft.Storage/storageAccounts/blobServices/containers/blobs/write (meglévő blobba való íráshoz) vagy Microsoft.Storage/storageAccounts/blobServices/containers/blobs/add/action (új blob célba írásához)
- Legkevésbé kiemelt beépített szerepkör:Storage-blobadatok közreműködője
Forrásblob ugyanabban a tárfiókban
- Azure RBAC-művelet:Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read
- Legkevésbé emelt szintű beépített szerepkör:Storage-blobadatok olvasója
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