Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Åtgärden Copy Blob From URL kopierar en blob till ett mål i lagringskontot synkront för källblobstorlekar på upp till 256 mebibyte (MiB). Det här API:et är tillgängligt från och med version 2018-03-28.
Källan för en Copy Blob From URL åtgärd kan vara en allokerad blockblob i ett Azure Storage-konto som antingen är offentligt eller auktoriserat med en signatur för delad åtkomst.
Begäran
Du kan skapa Copy Blob From URL begäran enligt följande. Vi rekommenderar HTTPS. Ersätt myaccount med namnet på ditt lagringskonto, mycontainer med namnet på containern och myblob med namnet på din målblob.
| URI för PUT-metodbegäran | HTTP-version | 
|---|---|
| https://myaccount.blob.core.windows.net/mycontainer/myblob | HTTP/1.1 (på engelska) | 
URI för den emulerade lagringstjänsten
När du gör en begäran mot den emulerade lagringstjänsten anger du emulatorns värdnamn och Azure Blob Storage-port som 127.0.0.1:10000, följt av namnet på det emulerade lagringskontot:
| URI för PUT-metodbegäran | HTTP-version | 
|---|---|
| http://127.0.0.1:10000/devstoreaccount1/mycontainer/myblob | HTTP/1.1 (på engelska) | 
Mer information finns i Använda Azurite-emulatorn för lokal Azure Storage-utveckling.
URI parametrar
Du kan ange följande ytterligare parametrar på begärande-URI:n:
| Parameter | Beskrivning | 
|---|---|
| timeout | Valfritt. Parametern timeoututtrycks i sekunder. Mer information finns i Ange tidsgränser för Blob Storage-åtgärder. | 
Förfrågningsrubriker
I följande tabell beskrivs obligatoriska och valfria begärandehuvuden:
| Förfrågningshuvudrad | Beskrivning | 
|---|---|
| Authorization | Obligatoriskt. Anger auktoriseringsschema, kontonamn och signatur. Mer information finns i Auktorisera begäranden till Azure Storage. | 
| Dateellerx-ms-date | Obligatoriskt. Anger UTC (Coordinated Universal Time) för begäran. Mer information finns i Auktorisera begäranden till Azure Storage. | 
| x-ms-version | Krävs för alla auktoriserade begäranden. Mer information finns i Versionshantering för Azure Storage-tjänsterna. | 
| x-ms-meta-name:value | Valfritt. Anger ett användardefinierat namn/värde-par som är associerat med bloben. Om inga namn/värde-par anges kopierar åtgärden metadata från källbloben eller filen till målbloben. Om ett eller flera namn/värde-par anges skapas målbloben med angivna metadata och metadata kopieras inte från källbloben eller källfilen. Från och med version 2009-09-19 måste metadatanamn följa namngivningsreglerna för C#-identifierare. Mer information finns i Namnge och referera till containrar, blobar och metadata. | 
| x-ms-encryption-scope | Valfritt. Anger krypteringsomfånget för kryptering av begärandeinnehållet. Det här huvudet stöds i version 2020-12-06 och senare. | 
| x-ms-tags | Valfritt. Anger frågesträngskodade taggar på bloben. Taggar kopieras inte från kopieringskällan. Mer information finns i Kommentarer. Stöds i version 2019-12-12 och senare. | 
| x-ms-copy-source-tag-option | Valfritt. Möjliga värden är REPLACEochCOPY(skiftlägeskänsliga). Standardvärdet ärREPLACE.Om COPYdet anges kopieras taggarna från källbloben till målbloben. Källbloben måste vara privat och begäran måste ha behörighet att hämta blobtaggar åtgärden på källbloben och åtgärden Set Blob Tags på målbloben. Detta medför ett extra anrop tillGet Blob Tagsåtgärden på källkontot.REPLACEanger taggar som rubrikenx-ms-tagsanger på målbloben. Omx-ms-tagsdet angesREPLACEoch inga taggar anges inga taggar för målbloben. Om du angerCOPYochx-ms-tagsresulterar det i ett 409-fel (konflikt).Stöds i version 2021-04-10 och senare. | 
| x-ms-source-if-modified-since | Valfritt. Ett DateTimevärde. Ange den här villkorliga rubriken om du bara vill kopiera bloben om källbloben har ändrats sedan det angivna datumet/tiden. Om källbloben inte har ändrats returnerar Blob Storage statuskod 412 (förhandsvillkoret misslyckades). Du kan inte ange det här huvudet om källan är en Azure-fil. | 
| x-ms-source-if-unmodified-since | Valfritt. Ett DateTimevärde. Ange den här villkorliga rubriken för att kopiera bloben endast om källbloben inte har ändrats sedan det angivna datumet/tiden. Om källbloben har ändrats returnerar Blob Storage statuskod 412 (förhandsvillkoret misslyckades). Du kan inte ange det här huvudet om källan är en Azure-fil. | 
| x-ms-source-if-match | Valfritt. Ett ETagvärde. Ange den här villkorsstyrda rubriken om du bara vill kopiera källbloben om dessETagvärde matchar det angivna värdet. Om värdena inte matchar returnerar Blob Storage statuskod 412 (förhandsvillkoret misslyckades). Du kan inte ange det här huvudet om källan är en Azure-fil. | 
| x-ms-source-if-none-match | Valfritt. Ett ETagvärde. Ange den här villkorsstyrda rubriken för att endast kopiera bloben om dessETagvärde inte matchar det angivna värdet. Om värdena är identiska returnerar Blob Storage statuskod 412 (förutsättningen misslyckades). Du kan inte ange det här huvudet om källan är en Azure-fil. | 
| If-Modified-Since | Valfritt. Ett DateTimevärde. Ange den här villkorliga rubriken om du bara vill kopiera bloben om målbloben har ändrats sedan det angivna datumet/tiden. Om målbloben inte har ändrats returnerar Blob Storage statuskod 412 (förhandsvillkoret misslyckades). | 
| If-Unmodified-Since | Valfritt. Ett DateTimevärde. Ange den här villkorliga rubriken för att kopiera bloben endast om målbloben inte har ändrats sedan det angivna datumet/tiden. Om målbloben har ändrats returnerar Blob Storage statuskoden 412 (förhandsvillkoret misslyckades). | 
| If-Match | Valfritt. Ett ETagvärde. Ange ettETagvärde för den här villkorsstyrda rubriken för att endast kopiera bloben om det angivnaETagvärdet matcharETagvärdet för en befintlig målblob. Om värdena inte matchar returnerar Blob Storage statuskod 412 (förhandsvillkoret misslyckades). | 
| If-None-Match | Valfritt. Ett ETagvärde eller jokertecknet (*).Ange ett ETagvärde för den här villkorsstyrda rubriken för att endast kopiera bloben om det angivnaETagvärdet inte matcharETagvärdet för målbloben.Ange jokertecknet (*) för att utföra åtgärden endast om målbloben inte finns. Om det angivna villkoret inte uppfylls returnerar Blob Storage statuskoden 412 (förhandsvillkoret misslyckades). | 
| x-ms-copy-source:name | Obligatoriskt. Anger URL:en för källbloben. Värdet kan vara en URL som är upp till 2 kibibyte (KiB) lång och som anger en blob. Värdet ska vara URL-kodat eftersom det visas i en begärande-URI. Källbloben måste antingen vara offentlig eller ha behörighet via en signatur för delad åtkomst. Om källbloben är offentlig krävs ingen auktorisering för att utföra åtgärden. Om storleken på källbloben är större än 256 MiB misslyckas begäran med ett 409-fel (konflikt). Blobtypen för källbloben måste vara blockblob. Här är några exempel på url:er för källobjekt: - 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> | Valfritt. Anger auktoriseringsschemat och signaturen för kopieringskällan. Mer information finns i Auktorisera begäranden till Azure Storage. Endast systembäraren stöds för Microsoft Entra. Den här rubriken stöds i version 2020-10-02 och senare. | 
| x-ms-requires-sync:true | Obligatoriskt. Anger att det här är en synkron Copy Blob From URLåtgärd i stället för en asynkronCopy Blobåtgärd. | 
| x-ms-source-content-md5 | Valfritt. Anger en MD5-hash för blobinnehållet från URI:n. Den här hashen används för att verifiera blobens integritet vid transport av data från URI:n. När det här huvudet har angetts jämför lagringstjänsten hash-värdet för det innehåll som har kommit från kopieringskällan med det här rubrikvärdet. MD5-hashen lagras inte med bloben. Om de två hashvärdena inte matchar misslyckas åtgärden med felkoden 400 (felaktig begäran). | 
| x-ms-lease-id:<ID> | Krävs om målbloben har ett aktivt lån. Låne-ID:t som angetts för det här huvudet måste matcha låne-ID:t för målbloben. Om begäran inte innehåller låne-ID:t eller om den inte är giltig misslyckas åtgärden med statuskod 412 (förhandsvillkoret misslyckades). Om det här huvudet anges och målbloben för närvarande inte har ett aktivt lån misslyckas åtgärden med statuskod 412 (förhandsvillkoret misslyckades). I version 2012-02-12 och senare måste det här värdet ange ett aktivt, oändligt lån för en leasad blob. Ett tidsbegränsat låne-ID misslyckas med statuskod 412 (förhandsvillkoret misslyckades). | 
| x-ms-client-request-id | Valfritt. Tillhandahåller ett klientgenererat, täckande värde med en 1-KiB-teckengräns som registreras i loggarna när loggningen konfigureras. Vi rekommenderar starkt att du använder det här huvudet för att korrelera aktiviteter på klientsidan med begäranden som servern tar emot. | 
| x-ms-access-tier | Valfritt. Anger den nivå som ska anges för målbloben. Det här huvudet är endast för sidblobar på ett Premium-konto med version 2017-04-17 och senare. En fullständig lista över nivåer som stöds finns i Premiumlagring med höga prestanda och hanterade diskar för virtuella datorer. Det här huvudet stöds i version 2018-11-09 och senare för blockblobar. Blockblobnivåindelning stöds på Blob Storage- eller Generell användning v2-konton. Giltiga värden är Hot,Cool,ColdochArchive. 
              Obs!Cold-nivån stöds för version 2021-12-02 och senare. Detaljerad information om blockblobnivåindelning finns i Lagringsnivåer för frekvent, lågfrekvent lagring och arkivlagring. | 
| x-ms-file-request-intent | Krävs om x-ms-copy-sourceheadern är en Azure-fil-URL ochx-ms-copy-source-authorizationheadern anger en OAuth-token. Acceptabelt värde ärbackup. Det här huvudet anger attMicrosoft.Storage/storageAccounts/fileServices/readFileBackupSemantics/actionellerMicrosoft.Storage/storageAccounts/fileServices/writeFileBackupSemantics/actionska beviljas om de ingår i RBAC-principen som tilldelats den identitet som är auktoriserad med hjälp avx-ms-copy-source-authorization-huvudet. Tillgänglig för version 2025-07-05 och senare. | 
begäranens innehåll
Ingen.
Svar
Svaret innehåller en HTTP-statuskod och en uppsättning svarshuvuden.
Statuskod
En lyckad åtgärd returnerar statuskoden 202 (godkänd).
Information om statuskoder finns i Status och felkoder.
Svarsrubriker
Svaret för den här åtgärden innehåller följande rubriker. Svaret kan också innehålla ytterligare STANDARD HTTP-huvuden. Alla standardhuvuden överensstämmer med HTTP/1.1-protokollspecifikationen.
| Svarsrubrik | Beskrivning | 
|---|---|
| ETag | Om kopieringen är klar innehåller ETagvärdet för målbloben. Om kopian inte är klar innehåller värdet för denETagtomma bloben som skapades i början av kopian.Värdet ETaganges inom citattecken. | 
| Last-Modified | Returnerar datum/tid då kopieringsåtgärden till målbloben slutfördes. | 
| x-ms-request-id | Identifierar unikt den begäran som gjordes. Du kan använda den för att felsöka begäran. Mer information finns i Felsöka API-åtgärder. | 
| x-ms-version | Anger vilken version av Blob Storage som används för att köra begäran. | 
| Date | Ett UTC-datum/tid-värde som anger den tid då tjänsten skickade svaret. | 
| x-ms-copy-id: <id> | Strängidentifierare för den här kopieringsåtgärden. | 
| x-ms-copy-status: <success> | Anger tillståndet för kopieringsåtgärden. Värdet för successinnebär att åtgärden har slutförts. | 
| x-ms-client-request-id | Kan användas för att felsöka begäranden och motsvarande svar. Värdet för det här huvudet är lika med värdet för x-ms-client-request-id-huvudet, om det finns i begäran och värdet är högst 1 024 synliga ASCII-tecken. Omx-ms-client-request-idhuvudet inte finns i begäran visas inte det här huvudet i svaret. | 
| x-ms-request-server-encrypted: true/false | Ange till trueom innehållet i begäran har krypterats via den angivna algoritmen. Annars ärfalsevärdet . | 
| x-ms-encryption-scope | Returneras om begäran använde ett krypteringsomfång, så att klienten kan se till att innehållet i begäran krypteras via krypteringsomfånget. | 
Svarsdel
Ingen.
Exempelsvar
Följande är ett exempelsvar för en begäran om att kopiera en blob:
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>  
  
Auktorisering
Auktorisering krävs när du anropar en dataåtkomståtgärd i Azure Storage. I följande tabell beskrivs hur mål- och källobjekt för en Copy Blob From URL åtgärd kan auktoriseras:
| Objekttyp | Auktorisering av Microsoft Entra-ID | Auktorisering av signatur för delad åtkomst (SAS) | Auktorisering med delad nyckel (eller Shared Key Lite) | 
|---|---|---|---|
| Blob för målblock | Ja | Ja | Ja | 
| Källblockblob i samma lagringskonto | Ja | Ja | Ja | 
| Källblockblob i ett annat lagringskonto | Nej | Ja | Nej | 
Om en begäran anger taggar i begärandehuvudet måste anroparen uppfylla auktoriseringskraven för x-ms-tagsåtgärden Set Blob Tags .
Du kan auktorisera åtgärden Copy Blob From URL enligt beskrivningen nedan. Observera att en källblob i ett annat lagringskonto måste auktoriseras separat via SAS-token med läsbehörighet (r). Mer information om auktorisering av källblob finns i informationen för begärandehuvudet x-ms-copy-source.
Viktigt!
Microsoft rekommenderar att du använder Microsoft Entra-ID med hanterade identiteter för att auktorisera begäranden till Azure Storage. Microsoft Entra-ID ger överlägsen säkerhet och användarvänlighet jämfört med auktorisering av delad nyckel.
Azure Storage stöder användning av Microsoft Entra-ID för att auktorisera begäranden till blobdata. Med Microsoft Entra-ID kan du använda rollbaserad åtkomstkontroll i Azure (Azure RBAC) för att bevilja behörigheter till ett säkerhetsobjekt. Säkerhetsobjektet kan vara en användare, grupp, huvudnamn för programtjänsten eller en hanterad Azure-identitet. Säkerhetsprincipen autentiseras av Microsoft Entra ID för att returnera en OAuth 2.0-token. Token kan sedan användas för att auktorisera en begäran mot Blob-tjänsten.
Mer information om auktorisering med Microsoft Entra-ID finns i Auktorisera åtkomst till blobar med hjälp av Microsoft Entra-ID.
Behörigheter
Nedan visas den RBAC-åtgärd som krävs för att en Microsoft Entra-användare, grupp, hanterad identitet eller tjänstens huvudnamn ska anropa den Copy Blob From URL åtgärden och den minst privilegierade inbyggda Azure RBAC-rollen som innehåller den här åtgärden:
Målblob
- Azure RBAC-åtgärd:Microsoft.Storage/storageAccounts/blobServices/containers/blobs/write (för att skriva till en befintlig blob) eller Microsoft.Storage/storageAccounts/blobServices/containers/blobs/add/action (för att skriva en ny blob till målet)
- Minst privilegierad inbyggd roll:Storage Blob Data Contributor
Källblob i samma lagringskonto
- Azure RBAC-åtgärd:Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read
- Minst privilegierad inbyggd roll:Storage Blob Data Reader
Mer information om hur du tilldelar roller med Hjälp av Azure RBAC finns i Tilldela en Azure-roll för åtkomst till blobdata.
Anmärkningar
Käll- och målbloben för en Copy Blob From URL åtgärd måste vara en blockblob.
I version 2020-10-02 och senare stöds Microsoft Entra-auktorisering för kopieringsåtgärdens källa.
Åtgärden Copy Blob From URL kopierar alltid hela källbloben. Kopiering av ett intervall med byte eller en uppsättning block stöds inte.
Du kan kopiera en källblob till en målblob som har ett annat namn. Målbloben kan vara en befintlig blockblob, eller så kan det vara en ny blob som kopieringsåtgärden skapar.
När du kopierar från en blockblob kopieras alla allokerade block och deras block-ID:t. Ogenomlästa block kopieras inte. I slutet av kopieringsåtgärden har målbloben samma allokerade blockantal som källan.
Värdet ETag för en blockblob ändras när Copy Blob From URL åtgärden startar och när åtgärden slutförs.
Kopiera blobegenskaper och metadata
När en blockblob kopieras kopieras följande systemegenskaper till målbloben med samma värden:
- Content-Type
- Content-Encoding
- Content-Language
- Content-Length
- Cache-Control
- Content-MD5
- Content-Disposition
Källblobens allokerade blockeringslista kopieras också till målbloben. Eventuella ogenomlästa block kopieras inte.
Målbloben har alltid samma storlek som källbloben, så värdet Content-Length för rubriken för målbloben matchar värdet för rubriken för källbloben.
              x-ms-tags Om rubriken innehåller taggar för målbloben måste de vara frågesträngskodade. Taggnycklar och värden måste överensstämma med de namngivnings- och längdkrav som anges i åtgärden Set Blob Tags .
Rubriken x-ms-tags kan innehålla upp till 2 kilobitar taggar. Om du behöver fler taggar använder du åtgärden Set Blob Tags .
              x-ms-tags Om rubriken inte innehåller taggar kopieras inte taggar från källbloben.
Kopiera en hyrd blob
Åtgärden Copy Blob From URL läser bara från källbloben, så lånetillståndet för källbloben spelar ingen roll.
Fakturering
Prisbegäranden kan komma från klienter som använder Blob Storage-API:er, antingen direkt via BLOB Storage REST API eller från ett Azure Storage-klientbibliotek. Dessa begäranden ackumulerar avgifter per transaktion. Typen av transaktion påverkar hur kontot debiteras. Lästransaktioner ackumuleras till exempel till en annan faktureringskategori än skrivtransaktioner. I följande tabell visas faktureringskategorin för Copy Blob From URL begäranden baserat på lagringskontotypen:
| Verksamhet | Typ av lagringskonto | Faktureringskategori | 
|---|---|---|
| Kopiera blob från URL (målkonto1) | Premium-blockblob Standard generell användning v2 Standard allmän användning v1 | Skrivåtgärder | 
| Kopiera blob från URL (källkonto2) | Premium-blockblob Standard generell användning v2 Standard allmän användning v1 | Läsåtgärder | 
              1Målkontot debiteras för en transaktion för att initiera skrivning.
              2Källkontot medför en transaktion för varje läsbegäran till källobjektet.
Mer information om priser för de angivna faktureringskategorierna finns i Prissättning för Azure Blob Storage.
Dessutom, om käll- och målkontona finns i olika regioner (till exempel USA, norra och USA, södra), debiteras bandbredden som du använder för att överföra begäran till källlagringskontot som utgående. Utgående mellan konton inom samma region är kostnadsfri.
När du kopierar en källblob till en målblob som har ett annat namn i samma konto använder du ytterligare lagringsresurser för den nya bloben. Kopieringsåtgärden resulterar sedan i en avgift mot lagringskontots kapacitetsanvändning för dessa ytterligare resurser.
Se även
              Auktorisera begäranden till Azure Storage
              Status och felkoder
              Blob Storage-felkoder
              Förstå hur ögonblicksbilder ackumulerar avgifter