Kopiera fil
Åtgärden Copy File
kopierar en blob eller fil till en målfil i lagringskontot. Den här åtgärden stöds i version 2015-02-21 och senare för filresurser med SMB-protokollet aktiverat och stöds i version 2025-05-05 och senare för filresurser med NFS-protokollet aktiverat.
Protokolltillgänglighet
Aktiverat filresursprotokoll | Tillgänglig |
---|---|
SMB |
![]() |
NFS |
![]() |
Begäran
Den Copy File
begäran skapas på följande sätt. Vi rekommenderar att du använder HTTPS.
Från och med version 2013-08-15 kan du ange en signatur för delad åtkomst för målfilen om den finns i samma konto som källfilen. Från och med version 2015-04-05 kan du också ange en signatur för delad åtkomst för målfilen om den finns i ett annat lagringskonto.
Metod | Begärande-URI | HTTP-version |
---|---|---|
STÄLLA | https://myaccount.file.core.windows.net/myshare/mydirectorypath/myfile |
HTTP/1.1 |
Ersätt sökvägskomponenterna som visas i begärande-URI:n med dina egna enligt följande:
Sökvägskomponent | Beskrivning |
---|---|
myaccount |
Namnet på ditt lagringskonto. |
myshare |
Namnet på filresursen. |
mydirectorypath |
Valfri. Sökvägen till den överordnade katalogen. |
myfile |
Namnet på filen. |
Mer information om namngivningsbegränsningar för sökvägar finns i Namngivnings- och referensresurser, kataloger, filer och metadata.
URI-parametrar
Du kan ange följande ytterligare parametrar på begärande-URI:n:
Parameter | Beskrivning |
---|---|
timeout |
Valfri. Parametern timeout uttrycks i sekunder. Mer information finns i Ange tidsgränser för Azure Files-åtgärder. |
Begärandehuvuden
De obligatoriska och valfria begäranderubrikerna beskrivs i följande tabeller:
Vanliga begärandehuvuden
Begärandehuvud | Beskrivning |
---|---|
Authorization |
Krävs. Anger auktoriseringsschema, kontonamn och signatur. Mer information finns i Auktorisera begäranden till Azure Storage. |
Date eller x-ms-date |
Krävs. 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. Anger vilken version av åtgärden som ska användas för den här begäran. Den här åtgärden stöds i version 2015-02-21 och senare för filresurser med SMB-protokollet aktiverat och stöds i version 2025-05-05 och senare för filresurser med NFS-protokollet aktiverat. Mer information finns i Versionshantering för Azure Storage-tjänsterna. |
x-ms-meta-name:value |
Valfri. Anger namn/värde-par som är associerade med filen som metadata. Om inga namn/värdepar anges kopierar åtgärden metadata från källbloben eller -filen till målfilen. Om ett eller flera namn/värdepar anges skapas målfilen med angivna metadata och metadata kopieras inte från källbloben eller -filen. Metadatanamn måste följa namngivningsreglerna för C#-identifierare. Filmetadata som anges via Azure Files är inte tillgängliga från en SMB-klient. |
x-ms-copy-source:name |
Krävs. Anger URL:en för källfilen eller bloben, upp till 2 kibibyte (KiB) i längd. Om du vill kopiera en fil till en annan fil inom samma lagringskonto kan du använda en delad nyckel för att auktorisera källfilen. Om du kopierar en fil från ett annat lagringskonto, eller om du kopierar en blob från samma lagringskonto eller ett annat lagringskonto, måste du auktorisera källfilen eller bloben med hjälp av en signatur för delad åtkomst. Om källan är en offentlig blob krävs ingen auktorisering för att utföra kopieringsåtgärden. Du kan också ange en fil i en resursögonblicksbild som en kopieringskälla. Här är några exempel på url:er för källobjekt:
|
x-ms-lease-id:<ID> |
Krävs om målfilen har ett aktivt lån. Tillgänglig för version 2019-02-02 och senare. Låne-ID:t som angetts för den här rubriken måste matcha låne-ID:t för målfilen. Om begäran inte innehåller låne-ID:t eller om ID:t inte är giltigt misslyckas åtgärden med statuskoden 412 (förhandsvillkoret misslyckades). Om det här huvudet har angetts och målfilen för närvarande inte har något aktivt lån misslyckas åtgärden med statuskoden 412 (förhandsvillkoret misslyckades). Det här huvudet ignoreras om målfilen finns på en filresurs med NFS-protokollet aktiverat, vilket inte stöder fillån. |
x-ms-file-creation-time |
Valfri. Tillgänglig för version 2019-07-07 och senare. Det här huvudet anger egenskapen för skapandetid, i UTC, som ska anges för målfilen. Du kan använda värdet source för att kopiera skapandetiden från källfilen till målfilen. |
x-ms-file-last-write-time |
Valfri. Tillgänglig för version 2019-07-07 och senare. Det här huvudet anger egenskapen för senaste skrivtid, i UTC, som ska anges för målfilen. Du kan använda värdet source för att kopiera den senaste skrivtiden från källfilen till målfilen. |
x-ms-client-request-id |
Valfri. 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. Mer information finns i Övervaka Azure Blob Storage-. |
x-ms-file-request-intent |
Krävs om Authorization rubrik anger en OAuth-token. Acceptabelt värde är backup . Det här huvudet anger att Microsoft.Storage/storageAccounts/fileServices/readFileBackupSemantics/action eller Microsoft.Storage/storageAccounts/fileServices/writeFileBackupSemantics/action ska beviljas om de ingår i RBAC-principen som tilldelats den identitet som är auktoriserad med hjälp av Authorization -huvudet. Tillgänglig för version 2022-11-02 och senare. |
x-ms-allow-trailing-dot: { <Boolean> } |
Valfri. Version 2022-11-02 och senare. Det booleska värdet anger om en avslutande punkt som finns i begärande-URL:en ska trimmas eller inte. Det här huvudet ignoreras om målet finns på en filresurs med NFS-protokollet aktiverat, vilket stöder avslutande punkt som standard. Mer information finns i Namngivning och referens av resurser, kataloger, filer och metadata. |
x-ms-source-allow-trailing-dot: { <Boolean> } |
Valfri. Version 2022-11-02 och senare. Det booleska värdet anger om en avslutande punkt som finns i käll-URL:en ska trimmas eller inte. Det här huvudet bör endast anges om kopieringskällan finns på en Azure-filresurs. Det här huvudet stöds inte för någon annan typ av kopieringskälla. Det här huvudet ignoreras om kopieringskällan finns på en filresurs med NFS-protokollet aktiverat, vilket stöder avslutande punkt som standard. Mer information finns i Namngivning och referens av resurser, kataloger, filer och metadata. |
Endast SMB-begärandehuvuden
Begärandehuvud | Beskrivning |
---|---|
x-ms-file-change-time: { <DateTime> ¦ source } |
Valfri. Version 2021-06-08 och senare. EGENSKAPEN UTC-ändringstid för filen, formaterad i FORMATET ISO 8601. Ett värde på source kan användas för att kopiera ändringstiden från källfilen till målfilen. Standardtidsstämpeln är tiden för begäran. |
x-ms-file-permission-copy-mode: { source ¦ override } |
Valfri. Tillgänglig för version 2019-07-07 och senare. Avgör kopieringsbeteendet för säkerhetsbeskrivningen för filen:
|
x-ms-file-permission: { <SDDL> ¦ <binary> } |
Krävs om x-ms-file-permission-copy-mode anges som override och x-ms-file-permission-key inte har angetts. Tillgänglig för version 2019-07-07 och senare. Den här behörigheten är säkerhetsbeskrivningen för filen som anges i SDDL (Security Descriptor Definition Language) eller (version 2025-01-05 eller senare) i base64-kodad binär säkerhetsbeskrivningsformat. Du kan ange vilket format som ska användas med x-ms-file-permission-format -huvudet. Du kan använda det här huvudet om behörighetsstorleken är 8 kibibyte (KiB) eller mindre. Annars kan du använda x-ms-file-permission-key . Om den anges måste den ha en diskretionär åtkomstkontrollista (DACL). Endast en av x-ms-file-permission eller x-ms-file-permission-key kan anges. |
x-ms-file-permission-key |
Krävs om x-ms-file-permission-copy-mode anges som override och x-ms-file-permission inte har angetts. Tillgänglig för version 2019-07-07 och senare. Det här huvudet anger nyckeln för den behörighet som ska anges för filen. Du kan skapa den här nyckeln med hjälp av åtgärden Create Permission .Endast en av x-ms-file-permission eller x-ms-file-permission-key kan anges. |
x-ms-file-permission-format: { sddl ¦ binary } |
Valfri. Version 2025-01-05 eller senare. Anger om värdet som skickas i x-ms-file-permission är i SDDL eller i binärt format. Om det här huvudet inte har angetts används standardvärdet för sddl . |
x-ms-file-attributes |
Valfri. Tillgänglig för version 2019-07-07 och senare. Det här huvudet anger vilka filsystemattribut som ska anges i målfilen. Se listan över tillgängliga attribut. Du kan använda värdet source för att kopiera attributen från källfilen till målfilen. Du kan använda värdet none för att rensa alla attribut i målfilen. |
x-ms-file-copy-ignore-readonly |
Valfri. Tillgänglig för version 2019-07-07 och senare. Det här booleska värdet anger om attributet ReadOnly på en befintlig målfil ska respekteras. Om det är true lyckas kopieringsåtgärden. Annars misslyckas kopieringsåtgärden genom att en tidigare fil på målet med ReadOnly -attributuppsättningen. |
x-ms-file-copy-set-archive |
Valfri. Tillgänglig för version 2019-07-07 och senare. Det här booleska värdet anger om attributet Archive ska anges, oavsett x-ms-file-attributes rubrikvärde. |
Endast NFS-begärandehuvuden
Begärandehuvud | Beskrivning |
---|---|
x-ms-file-mode-copy-mode: { source ¦ override } |
Valfri. Version 2025-05-05 och senare. Gäller endast när kopieringskällan är en fil som finns på en filresurs med NFS-protokollet aktiverat. Avgör kopieringsbeteendet för filens lägesbitar:
|
x-ms-mode |
Version 2025-05-05 och senare. Krävs om x-ms-file-mode-copy-mode anges som override . De lägesbitar som ska anges i filen. Läget representeras i 12-bitars numeriskt oktalt format eller det symboliska rwx-formatet. Se POSIX-filbehörigheter (läge). |
x-ms-file-owner-copy-mode: { source ¦ override } |
Valfri. Version 2025-05-05 och senare. Gäller endast när kopieringskällan är en fil som finns på en filresurs med NFS-protokollet aktiverat. Avgör kopieringsbeteendet för användarens användaridentifierare (UID) och gruppidentifierare (GID) för filen:
|
x-ms-owner |
Version 2025-05-05 och senare. Användaridentifieraren (UID) för filägaren som ska anges för filen. Krävs om x-ms-file-owner-copy-mode anges som override . |
x-ms-group |
Version 2025-05-05 och senare. Gruppidentifieraren (GID) för den filägare som ska anges för filen. Krävs om x-ms-file-owner-copy-mode anges som override . |
Begärandetext
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.
Svarshuvuden
Svaret för den här åtgärden innehåller rubrikerna i följande tabeller. Svaret kan också innehålla ytterligare HTTP-standardhuvuden. Alla standardhuvuden överensstämmer med HTTP/1.1-protokollspecifikationen.
Vanliga svarshuvuden
Svarsrubrik | Beskrivning |
---|---|
ETag |
Om kopieringsåtgärden har slutförts innehåller den ETag värdet för målfilen. Om kopieringsåtgärden inte har slutförts innehåller ETag värdet för den tomma fil som skapades i början av åtgärden. |
Last-Modified |
Returnerar datum/tid då kopieringsåtgärden till målfilen har slutförts. |
x-ms-request-id |
Identifierar unikt den begäran som gjordes. Du kan använda det här huvudet för att felsöka begäran. Mer information finns i Felsöka API-åtgärder. |
x-ms-version |
Anger vilken version av Azure Files 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> |
Tillhandahåller en strängidentifierare för den här kopieringsåtgärden. Använd med Get File eller Get File Properties för att kontrollera status för den här kopieringsåtgärden eller skicka till Abort Copy File för att avbryta en väntande kopieringsåtgärd. |
x-ms-copy-status: <success ¦ pending> |
Anger tillståndet för kopieringsåtgärden med följande värden: - success : Kopieringsåtgärden har slutförts.- pending : Kopieringsåtgärden pågår fortfarande. |
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. Om x-ms-client-request-id -huvudet inte finns i begäran visas inte det här huvudet i svaret. |
Endast SMB-svarshuvuden
Ingen.
Endast NFS-svarshuvuden
Ingen.
Svarstext
Ingen
Exempelsvar
Response Status:
HTTP/1.1 202 Accepted
Response Headers:
Last-Modified: <date>
ETag: "0x8CEB669D794AFE2"
Server: Windows-Azure-File/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
Date: <date>
Tillstånd
Den här åtgärden kan anropas av kontoägaren eller av en klient som har en signatur för delad åtkomst som har behörighet att skriva till målfilen eller dess resurs. Observera att signaturen för delad åtkomst som anges i begäran endast gäller för målfilen.
Åtkomst till källfilen eller bloben auktoriseras separat, enligt beskrivningen i informationen för begärandehuvudet x-ms-copy-source
.
I följande tabell beskrivs hur mål- och källobjekt för en Copy File
åtgärd kan auktoriseras:
Fil | Auktorisering med delad nyckel eller delad nyckel Lite | Auktorisering med signatur för delad åtkomst | Offentligt objekt kräver inte auktorisering |
---|---|---|---|
Målfil | Ja | Ja | Ej tillämpligt |
Källfil i samma konto | Ja | Ja | Ej tillämpligt |
Källfil i ett annat konto | Nej | Ja | Ej tillämpligt |
Källblob i samma konto eller ett annat konto | Nej | Ja | Ja |
Filsystemattribut
Attribut | Win32-filattribut | Definition |
---|---|---|
ReadOnly |
FILE_ATTRIBUTE_READONLY |
Filen är skrivskyddad. Program kan läsa filen men kan inte skriva till den eller ta bort den. |
Hidden |
FILE_ATTRIBUTE_HIDDEN |
Filen är dold. Den ingår inte i en vanlig kataloglista. |
System |
FILE_ATTRIBUTE_SYSTEM |
Operativsystemet använder en del av filen, eller så använder det filen exklusivt. |
None |
FILE_ATTRIBUTE_NORMAL |
Filen har inte andra attribut angivna. Det här attributet är endast giltigt när det används ensamt. |
Archive |
FILE_ATTRIBUTE_ARCHIVE |
Filen är en arkivfil. Program använder vanligtvis det här attributet för att markera filer för säkerhetskopiering eller borttagning. |
Temporary |
FILE_ATTRIBUTE_TEMPORARY |
Filen används för tillfällig lagring. |
Offline |
FILE_ATTRIBUTE_OFFLINE |
Filens data är inte tillgängliga omedelbart. Det här filsystemattributet ger främst kompatibilitet med Windows. Azure Files stöder det inte med lagringsalternativ offline. |
NotContentIndexed |
FILE_ATTRIBUTE_NOT_CONTENT_INDEXED |
Innehållsindexeringstjänsten indexerar inte filen. |
NoScrubData |
FILE_ATTRIBUTE_NO_SCRUB_DATA |
Skannern för bakgrundsdataintegritet läser inte användardataströmmen. Det här filsystemattributet ger främst kompatibilitet med Windows. |
POSIX-filbehörigheter (läge)
POSIX-filbehörigheter kan anges antingen numeriskt i ett 12-bitars numeriskt oktalt format eller i ett symboliskt "rwx"-format. Exempel:
- "0644" eller "rw-r--r--": Användaren (filägaren) har läs-, skrivbehörighet. Gruppen har läsbehörighet. Andra har läsbehörighet.
- "0755" eller "rwxr-xr-x": Användaren (filägaren) har läs-, skriv- och körningsbehörighet. Gruppen har läs- och körningsbehörighet. Andra har läs- och körningsbehörighet.
Numeriskt oktalt format
De tre lägsta oktala nummerordningen representerar behörigheterna för ägare/användare, grupp och andra och anges med ett oktalt tal (0-7), som bildas med hjälp av en bitvis kombination av "4" (Läs), "2" (Skriv), "1" (Kör). Det högsta oktala antalet i ordningen (0–7) används för att ange en kombination av behörigheterna "4" (SetUID), "2" (SetGID), "1" (StickyBit).
Format | Tillåtelse |
---|---|
0700 | Användaren (filägaren) har läs-, skriv- och körningsbehörighet. |
0400 | Användaren har läsbehörighet. |
0200 | Användaren har skrivbehörighet. |
0100 | Användaren har körningsbehörighet. |
0070 | Gruppen har läs-, skriv- och körningsbehörighet. |
0040 | Gruppen har läsbehörighet. |
0020 | Gruppen har skrivbehörighet. |
0010 | Gruppen har körningsbehörighet. |
0007 | Andra har läs-, skriv- och körningsbehörighet. |
0004 | Andra har läsbehörighet. |
0002 | Andra har skrivbehörighet. |
0001 | Andra har körningsbehörighet. |
4000 | Ange ett effektivt användar-ID för filen. |
2000 | Ange effektivt grupp-ID för filen. |
1000 | Ange för att ange att filen endast kan tas bort eller byta namn på filens ägare, katalogägare eller rotanvändare. |
Symboliskt "rwx"-format
Behörigheter för ägare/användare, grupp och andra anges med hjälp av en kombination av tecknen "r" (Läs), "w" (Skrivning) och "x" (Kör).
Format | Tillåtelse |
---|---|
rwx------ | Användaren (filägaren) har läs-, skriv- och körningsbehörighet. |
r-------- | Användaren har läsbehörighet. |
-w------- | Användaren har skrivbehörighet. |
--x------ | Användaren har körningsbehörighet. |
---rwx--- | Gruppen har läs-, skriv- och körningsbehörighet. |
-------- | Gruppen har läsbehörighet. |
----w---- | Gruppen har skrivbehörighet. |
-----x--- | Gruppen har körningsbehörighet. |
------rwx | Andra har läs-, skriv- och körningsbehörighet. |
------r... | Andra har läsbehörighet. |
------- | Andra har skrivbehörighet. |
--------x | Andra har körningsbehörighet. |
Anmärkningar
Åtgärden Copy File
kan slutföras asynkront. Du kan använda det kopierings-ID som x-ms-copy-id
svarshuvudet returnerar för att kontrollera status för kopieringsåtgärden eller avbryta den. Azure Files kopierar filer på bästa sätt.
Om målfilen finns skrivs den över. Du kan inte ändra målfilen medan kopieringsåtgärden pågår.
Åtgärden Copy File
kopierar alltid hela källbloben eller filen. Kopiering av ett intervall med byte eller en uppsättning block stöds inte.
Källan till en Copy File
-åtgärd kan vara en fil som finns i en resursögonblicksbild. Målet för en Copy File
åtgärd kan inte vara en fil som finns i en resursögonblicksbild.
När källan för en kopieringsåtgärd ger ETag
värden, om det finns några ändringar i källan medan åtgärden pågår, misslyckas den. Ett försök att ändra målfilen medan en kopieringsåtgärd pågår misslyckas med statuskoden 409 (konflikt).
Det ETag
värdet för målfilen ändras när åtgärden Copy File
startar. Den fortsätter att ändras ofta under kopieringsåtgärden.
Kopiera egenskaper och metadata
När en blob eller fil kopieras kopieras följande systemegenskaper till målfilen med samma värden:
Content-Type
Content-Encoding
Content-Language
Content-Length
Cache-Control
Content-MD5
Content-Disposition
Målfilen har alltid samma storlek som källbloben eller -filen. Värdet för Content-Length
-huvudet för målfilen matchar värdet för rubriken för källbloben eller -filen.
Kopiera en hyrd blob eller fil till en fil
Den Copy File
åtgärden läser bara från källbloben eller -filen, så ett lån på källobjektet påverkar inte åtgärden. Åtgärden Copy File
sparar ETag
värdet för källbloben eller -filen när åtgärden startas. Om det ETag
värdet ändras innan kopieringsåtgärden är klar misslyckas åtgärden. Du kan förhindra ändringar i källbloben för filen genom att hyra den under kopieringsåtgärden.
Om målfilen har ett aktivt oändligt lån måste du ange dess låne-ID i anropet till den Copy File
åtgärden. Medan kopieringsåtgärden väntar misslyckas alla låneåtgärder på målfilen med statuskoden 409 (konflikt). Ett oändligt lån på målfilen är låst på det här sättet under kopieringsåtgärden, oavsett om du kopierar till en målfil som har ett annat namn än källan eller kopierar till en målfil med samma namn som källan. Om klienten anger ett låne-ID för en fil som ännu inte finns returnerar Azure Files statuskod 412 (förhandsvillkoret misslyckades).
Arbeta med en väntande kopieringsåtgärd
Åtgärden Copy File
kan slutföra kopieringen av filerna asynkront. Använd följande tabell för att fastställa nästa steg baserat på statuskoden som Copy File
returnerar:
Statuskod | Betydelse |
---|---|
202 (accepterad), x-ms-copy-status: lyckades | Kopieringsåtgärden har slutförts. |
202 (accepterad), x-ms-copy-status: väntar | Kopieringsåtgärden har inte slutförts. Avsök målbloben med hjälp av Get File Properties för att undersöka x-ms-copy-status tills kopieringsåtgärden har slutförts eller misslyckas. |
4xx, 500 eller 503 | Kopieringsåtgärden misslyckades. |
Under och efter en Copy File
-åtgärd innehåller egenskaperna för målfilen kopierings-ID:t för Copy File
-åtgärden och URL:en för källbloben eller -filen. När åtgärden är klar skriver Azure Files tids- och utfallsvärdet (success
, failed
eller aborted
) till målfilens egenskaper. Om åtgärden har ett failed
resultat innehåller x-ms-copy-status-description
-huvudet en feldetaljsträng.
En väntande Copy File
åtgärd har en tidsgräns på två veckor. Ett kopieringsförsök som inte har slutförts efter två veckors tidsgräns och lämnar en tom fil med fältet x-ms-copy-status
inställt på failed
och fältet x-ms-status-description
inställt på 500 (OperationCancelled). Tillfälliga, icke-dödliga fel som kan inträffa under en kopieringsåtgärd kan hindra åtgärdens förlopp men inte orsaka att den misslyckas. I dessa fall beskriver x-ms-copy-status-description
de tillfälliga felen.
Alla försök att ändra målfilen under kopieringsåtgärden misslyckas med statuskoden 409 (konflikt), "Kopiera fil pågår".
Om du anropar en Abort Copy File
-åtgärd visas ett x-ms-copy-status:aborted
huvud. Målfilen har intakta metadata och en fillängd på 0 byte. Du kan upprepa det ursprungliga anropet till Copy File
för att försöka utföra åtgärden igen.
Fakturering
Målkontot för en Copy File
åtgärd debiteras för en transaktion för att starta åtgärden. Målkontot ådrar sig också en transaktion för varje begäran om att avbryta eller begära status för kopieringsåtgärden.
När källfilen eller blobben finns i ett annat konto medför källkontot transaktionskostnader. Om käll- och målkontona finns i olika regioner (till exempel USA, norra och USA, södra) debiteras dessutom bandbredden som du använder för att överföra begäran till källkontot som utgående. Utgående mellan konton inom samma region är kostnadsfri.