Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Met deze Copy Blob From URL
bewerking wordt een blob synchroon naar een bestemming in het opslagaccount gekopieerd voor bron-blobgrootten tot 256 mebibyte (MiB). Deze API is beschikbaar vanaf versie 2018-03-28.
De bron voor een Copy Blob From URL
bewerking kan een vastgelegde blokblob zijn in een Azure-opslagaccount dat openbaar is of is geautoriseerd met een handtekening voor gedeelde toegang.
Aanvraag
U kunt de Copy Blob From URL
aanvraag als volgt samenstellen. We raden HTTPS aan. Vervang myaccount door de naam van uw opslagaccount, mycontainer door de naam van uw container en myblob door de naam van uw doel-blob.
PUT methode URI aanvragen | HTTP-versie |
---|---|
https://myaccount.blob.core.windows.net/mycontainer/myblob |
HTTP/1.1 |
URI voor de geëmuleerde opslagservice
Wanneer u een aanvraag indient voor de geëmuleerde opslagservice, geeft u de hostnaam van de emulator en de Azure Blob Storage-poort op als 127.0.0.1:10000
, gevolgd door de naam van het geëmuleerde opslagaccount:
PUT methode URI aanvragen | HTTP-versie |
---|---|
http://127.0.0.1:10000/devstoreaccount1/mycontainer/myblob |
HTTP/1.1 |
Zie De Azurite-emulator gebruiken voor lokale Azure Storage-ontwikkelingvoor meer informatie.
URI Parameters
U kunt de volgende aanvullende parameters opgeven voor de aanvraag-URI:
Kenmerk | Beschrijving |
---|---|
timeout |
Facultatief. De parameter timeout wordt uitgedrukt in seconden. Zie Time-outs instellen voor Blob Storage-bewerkingen voor meer informatie. |
Headers aanvragen
In de volgende tabel worden de vereiste en optionele aanvraagheaders beschreven:
Header van het verzoek | Beschrijving |
---|---|
Authorization |
Verplicht. Hiermee geeft u het autorisatieschema, de accountnaam en de handtekening op. Zie Aanvragen autoriseren voor Azure Storagevoor meer informatie. |
Date of x-ms-date |
Verplicht. Hiermee geeft u de Coordinated Universal Time (UTC) voor de aanvraag. Zie Aanvragen autoriseren voor Azure Storagevoor meer informatie. |
x-ms-version |
Vereist voor alle geautoriseerde aanvragen. Zie Versiebeheer voor de Azure Storage-servicesvoor meer informatie. |
x-ms-meta-name:value |
Facultatief. Hiermee geeft u een door de gebruiker gedefinieerd naam/waarde-paar op dat is gekoppeld aan de blob. Als er geen naam/waarde-paren zijn opgegeven, worden de metagegevens van de bron-blob of het bestand naar de doel-blob gekopieerd. Als een of meer naam/waarde-paren zijn opgegeven, wordt de doel-blob gemaakt met de opgegeven metagegevens en worden metagegevens niet gekopieerd uit de bron-blob of het bronbestand. Vanaf versie 2009-09-19 moeten metagegevensnamen voldoen aan de naamgevingsregels voor C#-id's. Zie Containers, blobs en metagegevens een naam geven en ernaar verwijzen voor meer informatie. |
x-ms-encryption-scope |
Facultatief. Geeft het versleutelingsbereik aan voor het versleutelen van de inhoud van de aanvraag. Deze header wordt ondersteund in versie 2020-12-06 en hoger. |
x-ms-tags |
Facultatief. Stelt query-string-gecodeerde tags in op de blob. Tags worden niet gekopieerd van de kopiebron. Zie Opmerkingenvoor meer informatie. Ondersteund in versie 2019-12-12 en hoger. |
x-ms-copy-source-tag-option |
Facultatief. Mogelijke waarden zijn REPLACE en COPY (hoofdlettergevoelig). De standaardwaarde is REPLACE .Als COPY dit is opgegeven, worden de tags van de bron-blob gekopieerd naar de doel-blob. De bron-blob moet privé zijn en de aanvraag moet machtiging hebben voor de bewerking Blob-codes ophalen op de bron-blob en de bewerking Blob-tags instellen op de doel-blob. Dit leidt tot een extra aanroep naar de Get Blob Tags bewerking op het bronaccount.REPLACE stelt tags in die in de x-ms-tags koptekst worden opgegeven voor de doel-blob. Als x-ms-tags er is opgegeven REPLACE en geen tags, worden er geen tags ingesteld op de doel-blob. Specificeren COPY en x-ms-tags zal resulteren in een 409 (Conflict) fout.Ondersteund in versie 2021-04-10 en hoger. |
x-ms-source-if-modified-since |
Facultatief. Een DateTime waarde. Geef deze voorwaardelijke header op om de blob alleen te kopiëren als de bron-blob is gewijzigd sinds de opgegeven datum/tijd. Als de bron-blob niet is gewijzigd, retourneert Blob Storage statuscode 412 (Voorwaarde: Mislukt). U kunt deze koptekst niet opgeven als de bron een Azure-bestand is. |
x-ms-source-if-unmodified-since |
Facultatief. Een DateTime waarde. Geef deze voorwaardelijke header op om de blob alleen te kopiëren als de bron-blob niet is gewijzigd sinds de opgegeven datum/tijd. Als de bron-blob is gewijzigd, retourneert Blob Storage statuscode 412 (Voorwaarde: Mislukt). U kunt deze koptekst niet opgeven als de bron een Azure-bestand is. |
x-ms-source-if-match |
Facultatief. Een ETag waarde. Geef deze voorwaardelijke kop op om de bron-blob alleen te kopiëren als de ETag waarde overeenkomt met de opgegeven waarde. Als de waarden niet overeenkomen, retourneert Blob Storage statuscode 412 (Voorvoorwaarde mislukt). U kunt deze koptekst niet opgeven als de bron een Azure-bestand is. |
x-ms-source-if-none-match |
Facultatief. Een ETag waarde. Geef deze voorwaardelijke koptekst op om de blob alleen te kopiëren als de ETag waarde niet overeenkomt met de opgegeven waarde. Als de waarden identiek zijn, retourneert Blob Storage statuscode 412 (Voorvoorwaarde mislukt). U kunt deze koptekst niet opgeven als de bron een Azure-bestand is. |
If-Modified-Since |
Facultatief. Een DateTime waarde. Geef deze voorwaardelijke header op om de blob alleen te kopiëren als de doel-blob is gewijzigd sinds de opgegeven datum/tijd. Als de doel-blob niet is gewijzigd, retourneert Blob Storage statuscode 412 (Voorvoorwaarde mislukt). |
If-Unmodified-Since |
Facultatief. Een DateTime waarde. Geef deze voorwaardelijke header op om de blob alleen te kopiëren als de doel-blob niet is gewijzigd sinds de opgegeven datum/tijd. Als de doel-blob is gewijzigd, retourneert Blob Storage statuscode 412 (Voorvoorwaarde mislukt). |
If-Match |
Facultatief. Een ETag waarde. Geef een ETag waarde op voor deze voorwaardelijke koptekst om de blob alleen te kopiëren als de opgegeven ETag waarde overeenkomt met de ETag waarde voor een bestaande doel-blob. Als de waarden niet overeenkomen, retourneert Blob Storage statuscode 412 (Voorvoorwaarde mislukt). |
If-None-Match |
Facultatief. Een ETag waarde, of het jokerteken (*).Geef een ETag waarde op voor deze voorwaardelijke koptekst om de blob alleen te kopiëren als de opgegeven ETag waarde niet overeenkomt met de ETag waarde voor de doel-blob.Geef het jokerteken (*) op om de bewerking alleen uit te voeren als de doel-blob niet bestaat. Als niet aan de opgegeven voorwaarde wordt voldaan, retourneert Blob Storage statuscode 412 (Voorwaarde: Mislukt). |
x-ms-copy-source:name |
Verplicht. Hiermee geeft u de URL van de bron-blob op. De waarde kan een URL zijn van maximaal 2 kibibyte (KiB) lang die een blob aangeeft. De waarde moet URL-gecodeerd zijn, zoals deze wordt weergegeven in een aanvraag-URI. De bron-blob moet openbaar zijn of zijn geautoriseerd via een handtekening voor gedeelde toegang. Als de bron-blob openbaar is, is er geen autorisatie vereist om de bewerking uit te voeren. Als de grootte van de bron-blob groter is dan 256 MiB, mislukt de aanvraag met een 409 (Conflict) fout. Het blobtype van de bron-blob moet een blok-blob zijn. Hier volgen enkele voorbeelden van URL's voor bronobjecten: - 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> |
Facultatief. Hiermee geeft u het autorisatieschema en de handtekening voor de kopieerbron. Zie Aanvragen autoriseren voor Azure Storagevoor meer informatie. Alleen de schemabeer wordt ondersteund voor Microsoft Entra. Deze header wordt ondersteund in versie 2020-10-02 en hoger. |
x-ms-requires-sync:true |
Verplicht. Geeft aan dat dit een synchrone Copy Blob From URL bewerking is in plaats van een asynchrone Copy Blob bewerking. |
x-ms-source-content-md5 |
Facultatief. Hiermee geeft u een MD5-hash op van de blobinhoud van de URI. Deze hash wordt gebruikt om de integriteit van de blob te verifiëren tijdens het transport van de gegevens uit de URI. Wanneer deze header is opgegeven, vergelijkt de opslagservice de hash van de inhoud die is afkomstig van de kopiebron met deze headerwaarde. De MD5-hash wordt niet opgeslagen met de blob. Als de twee hashes niet overeenkomen, mislukt de bewerking met foutcode 400 (Ongeldig verzoek). |
x-ms-lease-id:<ID> |
Vereist als de doel-blob een actieve lease heeft. De lease-id die voor deze header is opgegeven, moet overeenkomen met de lease-id van de doel-blob. Als de aanvraag geen lease-id bevat of als deze niet geldig is, mislukt de bewerking met statuscode 412 (Voorvoorwaarde mislukt). Als deze header is opgegeven en de doel-blob momenteel geen actieve lease heeft, mislukt de bewerking met statuscode 412 (Precondition Failed). In versie 2012-02-12 en hoger moet deze waarde een actieve, oneindige lease voor een gehuurde blob opgeven. Een lease-ID met een eindige looptijd mislukt met statuscode 412 (Voorvoorwaarde mislukt). |
x-ms-client-request-id |
Facultatief. Biedt een door de client gegenereerde, ondoorzichtige waarde met een limiet van 1 KiB-tekens die wordt vastgelegd in de logboeken wanneer logboekregistratie is geconfigureerd. We raden u ten zeerste aan deze header te gebruiken om activiteiten aan de clientzijde te correleren met aanvragen die de server ontvangt. |
x-ms-access-tier |
Facultatief. Hiermee geeft u de laag op die moet worden ingesteld op de doel-blob. Deze koptekst is alleen bedoeld voor pagina-blobs op een Premium-account met versie 2017-04-17 en hoger. Zie High-performance premium storage en beheerde schijven voor VM's voor een volledige lijst met ondersteunde lagen. Deze header wordt ondersteund op versie 2018-11-09 en hoger voor blokblobs. Blokbloblagen worden ondersteund op Blob Storage- of General Purpose v2-accounts. Geldige waarden zijnHot , Cool , en Cold Archive .
Opmerking:Cold laag wordt ondersteund voor versie 2021-12-02 en hoger. Zie Hot, Cool en archiefopslaglagen voor gedetailleerde informatie over blokbloblagen. |
x-ms-file-request-intent |
Vereist als x-ms-copy-source de header een Azure-bestands-URL is en x-ms-copy-source-authorization de header een OAuth-token opgeeft. Acceptabele waarde is backup . Deze header geeft aan dat de Microsoft.Storage/storageAccounts/fileServices/readFileBackupSemantics/action of Microsoft.Storage/storageAccounts/fileServices/writeFileBackupSemantics/action moeten worden verleend als ze zijn opgenomen in het RBAC-beleid dat is toegewezen aan de identiteit die is geautoriseerd met behulp van de x-ms-copy-source-authorization -header. Beschikbaar voor versie 2025-07-05 en later. |
Inhoud van het verzoek
Geen.
Reactie
Het antwoord bevat een HTTP-statuscode en een set antwoordheaders.
Statuscode
Een geslaagde bewerking retourneert statuscode 202 (Geaccepteerd).
Zie Status en foutcodesvoor meer informatie over statuscodes.
Antwoordkopteksten
Het antwoord voor deze bewerking bevat de volgende headers. Het antwoord kan ook aanvullende standaard HTTP-headers bevatten. Alle standaardheaders voldoen aan de HTTP/1.1-protocolspecificatie.
Antwoordheader | Beschrijving |
---|---|
ETag |
Als de kopie compleet is, bevat deze de ETag waarde van de doel-blob. Als de kopie niet volledig is, bevat deze de ETag waarde van de lege blob die aan het begin van de kopie is gemaakt.De ETag waarde staat tussen aanhalingstekens. |
Last-Modified |
Retourneert de datum/tijd waarop de kopieerbewerking naar de doel-blob is voltooid. |
x-ms-request-id |
Identificeer de aanvraag die is gedaan, uniek. U kunt deze gebruiken om problemen met de aanvraag op te lossen. Zie Problemen met API-bewerkingen oplossenvoor meer informatie. |
x-ms-version |
Geeft de versie van Blob Storage aan die wordt gebruikt om de aanvraag uit te voeren. |
Date |
Een UTC-datum/tijd-waarde die de tijd aangeeft waarop de service het antwoord heeft verzonden. |
x-ms-copy-id: <id> |
Tekenreeks-id voor deze kopieerbewerking. |
x-ms-copy-status: <success> |
Geeft de status van de kopieerbewerking aan. Een waarde van success betekent dat de bewerking is voltooid. |
x-ms-client-request-id |
Kan worden gebruikt om problemen met aanvragen en bijbehorende antwoorden op te lossen. De waarde van deze header is gelijk aan de waarde van de x-ms-client-request-id header, als deze aanwezig is in de aanvraag en de waarde maximaal 1024 zichtbare ASCII-tekens bevat. Als de x-ms-client-request-id header niet aanwezig is in de aanvraag, is deze header niet aanwezig in het antwoord. |
x-ms-request-server-encrypted: true/false |
Stel deze optie in op true als de inhoud van de aanvraag is versleuteld via het opgegeven algoritme. Anders is false de waarde . |
x-ms-encryption-scope |
Geretourneerd als voor de aanvraag een versleutelingsbereik is gebruikt, zodat de client ervoor kan zorgen dat de inhoud van de aanvraag wordt versleuteld via het versleutelingsbereik. |
Antwoordlichaam
Geen.
Voorbeeldantwoord
Hieronder volgt een voorbeeldantwoord voor een aanvraag om een blob te kopiëren:
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>
Autorisatie
Autorisatie is vereist bij het aanroepen van een bewerking voor gegevenstoegang in Azure Storage. In de volgende tabel wordt beschreven hoe de doel- en bronobjecten voor een Copy Blob From URL
bewerking kunnen worden geautoriseerd:
Objectsoort | Microsoft Entra ID-autorisatie | Autorisatie voor Shared Access Signature (SAS) | Autorisatie voor gedeelde sleutels (of Shared Key Lite) |
---|---|---|---|
Blok-blob voor bestemming | Ja | Ja | Ja |
Bronblok-blob in hetzelfde opslagaccount | Ja | Ja | Ja |
Bronblok-blob in een ander opslagaccount | Nee. | Ja | Nee. |
Als in een aanvraag tags worden opgegeven in de x-ms-tags
aanvraagkop, moet de aanroeper voldoen aan de autorisatievereisten van de bewerking Blobtags instellen .
U kunt de Copy Blob From URL
bewerking autoriseren zoals hieronder wordt beschreven. Houd er rekening mee dat een bron-blob in een ander opslagaccount afzonderlijk moet worden geautoriseerd via SAS-token met de machtiging Lezen (r). Zie de details van de aanvraagheader x-ms-copy-source
voor meer informatie over de autorisatie van bron-blob.
Belangrijk
Microsoft raadt aan om Microsoft Entra ID met beheerde identiteiten te gebruiken om aanvragen voor Azure Storage te autoriseren. Microsoft Entra ID biedt superieure beveiliging en gebruiksgemak in vergelijking met autorisatie van gedeelde sleutels.
- Microsoft Entra-id (aanbevolen)
-
Sas- (Shared Access Signatures)
- gedeelde sleutel
Azure Storage ondersteunt het gebruik van Microsoft Entra ID om aanvragen voor blobgegevens te autoriseren. Met Microsoft Entra ID kunt u op rollen gebaseerd toegangsbeheer van Azure (Azure RBAC) gebruiken om machtigingen te verlenen aan een beveiligingsprincipaal. De beveiligingsprincipaal kan een door een gebruiker, groep, toepassingsservice-principal of door Azure beheerde identiteit zijn. De beveiligingsprincipaal wordt geverifieerd door Microsoft Entra ID om een OAuth 2.0-token terug te geven. Het token kan vervolgens worden gebruikt om een aanvraag te autoriseren voor de Blob-service.
Zie Toegang tot blobs autoriseren met behulp van Microsoft Entra IDvoor meer informatie over autorisatie met Behulp van Microsoft Entra ID.
Machtigingen
Hieronder vindt u de RBAC-actie die nodig is voor een Microsoft Entra-gebruiker, groep, beheerde identiteit of service-principal om de Copy Blob From URL
-bewerking aan te roepen, en de minst bevoorrechte ingebouwde Azure RBAC-rol die deze actie omvat:
Bestemmings-blob
- Azure RBAC-actie:Microsoft.Storage/storageAccounts/blobServices/containers/blobs/write (voor het schrijven naar een bestaande blob) of Microsoft.Storage/storageAccounts/blobServices/containers/blobs/add/action (voor het schrijven van een nieuwe blob naar de bestemming)
- ingebouwde rol met minimale bevoegdheden:Inzender voor opslagblobgegevens
Bron-blob binnen hetzelfde opslagaccount
- Azure RBAC-actie:Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read
- Ingebouwde rol met minste bevoegdheden:Storage Blob Data Reader
Zie Een Azure-rol toewijzen voor toegang tot blobgegevensvoor meer informatie over het toewijzen van rollen met behulp van Azure RBAC.
Opmerkingen
De bron- en doel-blob voor een Copy Blob From URL
bewerking moeten een blok-blob zijn.
In versie 2020-10-02 en hoger wordt Microsoft Entra-autorisatie ondersteund voor de bron van de kopieerbewerking.
Met Copy Blob From URL
de bewerking wordt altijd de hele bron-blob gekopieerd. Het kopiëren van een bereik van bytes of een set blokken wordt niet ondersteund.
U kunt een bron-blob kopiëren naar een doel-blob met een andere naam. De doel-blob kan een bestaande blok-blob zijn of het kan een nieuwe blob zijn die door de kopieerbewerking wordt gemaakt.
Wanneer u kopieert uit een blokblob, worden alle vastgelegde blokken en hun blok-id's gekopieerd. Niet-vastgelegde blokken worden niet gekopieerd. Aan het einde van de kopieerbewerking heeft de doel-blob hetzelfde aantal vastgelegde blokken als de bron.
De ETag
waarde voor een blok-blob verandert wanneer de Copy Blob From URL
bewerking wordt gestart en wanneer de bewerking wordt voltooid.
Blob-eigenschappen en metagegevens kopiëren
Wanneer een blok-blob wordt gekopieerd, worden de volgende systeemeigenschappen met dezelfde waarden gekopieerd naar de doel-blob:
Content-Type
Content-Encoding
Content-Language
Content-Length
Cache-Control
Content-MD5
Content-Disposition
De vastgelegde blokkeringslijst van de bron-blob wordt ook gekopieerd naar de doel-blob. Niet-vastgelegde blokken worden niet gekopieerd.
De doel-blob is altijd even groot als de bron-blob, zodat de waarde van de Content-Length
header voor de doel-blob overeenkomt met de waarde van die header voor de bron-blob.
Als de x-ms-tags
koptekst tags bevat voor de doel-blob, moeten deze zijn gecodeerd met een querytekenreeks. Tagsleutels en -waarden moeten voldoen aan de naamgevings- en lengtevereisten die zijn opgegeven in de bewerking Blobtags instellen .
De x-ms-tags
header kan maximaal 2 kilobits aan tags bevatten. Als u meer tags nodig heeft, gebruikt u de Set Blob Tags
operatie.
Als de x-ms-tags
koptekst geen tags bevat, worden tags niet gekopieerd van de bron-blob.
Een gehuurde blob kopiëren
De Copy Blob From URL
bewerking leest alleen uit de bron-blob, dus de leasestatus van de bron-blob doet er niet toe.
Facturatie
Prijsaanvragen kunnen afkomstig zijn van clients die Blob Storage-API's gebruiken, rechtstreeks via de Blob Storage REST API of vanuit een Azure Storage-clientbibliotheek. Deze aanvragen maken kosten per transactie. Het type transactie is van invloed op de manier waarop het account in rekening wordt gebracht. Leestransacties worden bijvoorbeeld opgebouwd tot een andere factureringscategorie dan schrijftransacties. In de volgende tabel ziet u de factureringscategorie voor Copy Blob From URL
aanvragen op basis van het type opslagaccount:
Operatie | Type opslagaccount | Factureringscategorie |
---|---|---|
Blob kopiëren van URL (doelaccount1) | Premium blok-blob Standaard algemeen gebruik v2 Standaard algemeen gebruik v1 |
Schrijfbewerkingen |
Kopieer Blob van URL (bronaccount2) | Premium blok-blob Standaard algemeen gebruik v2 Standaard algemeen gebruik v1 |
Leesbewerkingen |
1Het bestemmingsaccount wordt in rekening gebracht voor één transactie om het schrijven te starten.
Arabisch cijferHet bronaccount voert één transactie uit voor elke leesaanvraag naar het bronobject.
Zie Prijzen voor Azure Blob Storage voor meer informatie over de prijzen voor de opgegeven factureringscategorieën.
Als de bron- en doelaccounts zich in verschillende regio's bevinden (bijvoorbeeld VS - noord en VS - zuid), wordt de bandbreedte die u gebruikt om de aanvraag over te dragen, bovendien in rekening gebracht voor het bronopslagaccount als uitgaand verkeer. Uitgaand verkeer tussen accounts binnen dezelfde regio is gratis.
Wanneer u een bron-blob kopieert naar een doel-blob met een andere naam binnen hetzelfde account, gebruikt u extra opslagbronnen voor de nieuwe blob. De kopieerbewerking resulteert vervolgens in kosten voor het capaciteitsgebruik van het opslagaccount voor die extra resources.
Zie ook
aanvragen autoriseren voor Azure Storage
status en foutcodes
Blob Storage-foutcodes
Inzicht in hoe kosten voor momentopnamen worden gegenereerd