Kopiuj plik
Operacja Copy File
kopiuje obiekt blob lub plik do pliku docelowego na koncie magazynu. Ta operacja jest obsługiwana w wersji 2015-02-21 i nowszych dla udziałów plików z włączonym protokołem SMB i obsługiwana w wersji 2025-05-05 i nowszych dla udziałów plików z włączonym protokołem NFS.
Dostępność protokołu
Włączony protokół udziału plików | Dostępny |
---|---|
SMB |
![]() |
NFS |
![]() |
Prosić
Żądanie Copy File
jest konstruowane w następujący sposób. Zalecamy używanie protokołu HTTPS.
Począwszy od wersji 2013-08-15, można określić sygnaturę dostępu współdzielonego dla pliku docelowego, jeśli znajduje się na tym samym koncie co plik źródłowy. Począwszy od wersji 2015-04-05, można również określić sygnaturę dostępu współdzielonego dla pliku docelowego, jeśli znajduje się na innym koncie magazynu.
Metoda | Identyfikator URI żądania | Wersja PROTOKOŁU HTTP |
---|---|---|
KŁAŚĆ | https://myaccount.file.core.windows.net/myshare/mydirectorypath/myfile |
HTTP/1.1 |
Zastąp składniki ścieżki wyświetlane we własnym identyfikatorze URI żądania, w następujący sposób:
Składnik ścieżki | Opis |
---|---|
myaccount |
Nazwa konta magazynu. |
myshare |
Nazwa udziału plików. |
mydirectorypath |
Fakultatywny. Ścieżka do katalogu nadrzędnego. |
myfile |
Nazwa pliku. |
Aby uzyskać szczegółowe informacje na temat ograniczeń nazewnictwa ścieżek, zobacz Nazewnictwo i odwoływanie się do udziałów, katalogów, plików i metadanych.
Parametry identyfikatora URI
Dla identyfikatora URI żądania można określić następujące dodatkowe parametry:
Parametr | Opis |
---|---|
timeout |
Fakultatywny. Parametr timeout jest wyrażony w sekundach. Aby uzyskać więcej informacji, zobacz Ustawianie limitów czasu dla operacji usługi Azure Files. |
Nagłówki żądań
Wymagane i opcjonalne nagłówki żądań są opisane w następujących tabelach:
Typowe nagłówki żądań
Nagłówek żądania | Opis |
---|---|
Authorization |
Wymagane. Określa schemat autoryzacji, nazwę konta i podpis. Aby uzyskać więcej informacji, zobacz Autoryzowanie żądań do usługi Azure Storage. |
Date lub x-ms-date |
Wymagane. Określa uniwersalny czas koordynowany (UTC) dla żądania. Aby uzyskać więcej informacji, zobacz Autoryzowanie żądań do usługi Azure Storage. |
x-ms-version |
Wymagane dla wszystkich autoryzowanych żądań. Określa wersję operacji do użycia dla tego żądania. Ta operacja jest obsługiwana w wersji 2015-02-21 i nowszych dla udziałów plików z włączonym protokołem SMB i obsługiwana w wersji 2025-05-05 i nowszych dla udziałów plików z włączonym protokołem NFS. Aby uzyskać więcej informacji, zobacz Przechowywanie wersji dla usług Azure Storage. |
x-ms-meta-name:value |
Fakultatywny. Określa pary nazwa/wartość skojarzone z plikiem jako metadane. Jeśli nie określono żadnych par nazwa/wartość, operacja kopiuje metadane ze źródłowego obiektu blob lub pliku do pliku docelowego. Jeśli określono co najmniej jedną parę nazwa/wartość, plik docelowy jest tworzony z określonymi metadanymi, a metadane nie są kopiowane ze źródłowego obiektu blob lub pliku. Nazwy metadanych muszą być zgodne z regułami nazewnictwa dla identyfikatorów języka C# . Metadane plików określone za pośrednictwem usługi Azure Files nie są dostępne z poziomu klienta SMB. |
x-ms-copy-source:name |
Wymagane. Określa adres URL pliku źródłowego lub obiektu blob o długości do 2 kibibajtów (KiB). Aby skopiować plik do innego pliku w ramach tego samego konta magazynu, możesz użyć klucza współużytkowanego, aby autoryzować plik źródłowy. Jeśli kopiujesz plik z innego konta magazynu lub kopiujesz obiekt blob z tego samego konta magazynu lub innego konta magazynu, musisz autoryzować plik źródłowy lub obiekt blob przy użyciu sygnatury dostępu współdzielonego. Jeśli źródło jest publicznym obiektem blob, do wykonania operacji kopiowania nie jest wymagana żadna autoryzacja. Możesz również określić plik w migawki udziału jako źródło kopii. Oto kilka przykładów adresów URL obiektów źródłowych:
|
x-ms-lease-id:<ID> |
Wymagane, jeśli plik docelowy ma aktywną dzierżawę. Dostępne dla wersji 2019-02-02 lub nowszej. Identyfikator dzierżawy określony dla tego nagłówka musi być zgodny z identyfikatorem dzierżawy pliku docelowego. Jeśli żądanie nie zawiera identyfikatora dzierżawy lub identyfikator jest nieprawidłowy, operacja kończy się niepowodzeniem z kodem stanu 412 (Niepowodzenie warunku wstępnego). Jeśli ten nagłówek jest określony, a plik docelowy nie ma obecnie aktywnej dzierżawy, operacja kończy się niepowodzeniem z kodem stanu 412 (Niepowodzenie warunku wstępnego). Ten nagłówek jest ignorowany, jeśli plik docelowy znajduje się w udziale plików z włączonym protokołem NFS, który nie obsługuje dzierżaw plików. |
x-ms-file-creation-time |
Fakultatywny. Dostępne dla wersji 2019-07-07 lub nowszej. Ten nagłówek określa właściwość czasu tworzenia w formacie UTC, aby ustawić plik docelowy. Możesz użyć wartości source , aby skopiować czas tworzenia z pliku źródłowego do pliku docelowego. |
x-ms-file-last-write-time |
Fakultatywny. Dostępne dla wersji 2019-07-07 lub nowszej. Ten nagłówek określa właściwość ostatniego czasu zapisu w formacie UTC, aby ustawić w pliku docelowym. Możesz użyć wartości source , aby skopiować ostatni czas zapisu z pliku źródłowego do pliku docelowego. |
x-ms-client-request-id |
Fakultatywny. Zapewnia nieprzezroczystą wartość wygenerowaną przez klienta z limitem znaków 1-KiB rejestrowanym w dziennikach podczas konfigurowania rejestrowania. Zdecydowanie zalecamy używanie tego nagłówka do korelowania działań po stronie klienta z żądaniami odbieranymi przez serwer. Aby uzyskać więcej informacji, zobacz Monitor Azure Blob Storage. |
x-ms-file-request-intent |
Wymagane, jeśli nagłówek Authorization określa token OAuth. Akceptowalna wartość to backup . Ten nagłówek określa, że Microsoft.Storage/storageAccounts/fileServices/readFileBackupSemantics/action lub Microsoft.Storage/storageAccounts/fileServices/writeFileBackupSemantics/action należy przyznać, jeśli są one uwzględnione w zasadach RBAC przypisanych do tożsamości autoryzowanej przy użyciu nagłówka Authorization . Dostępne dla wersji 2022-11-02 lub nowszej. |
x-ms-allow-trailing-dot: { <Boolean> } |
Fakultatywny. Wersja 2022-11-02 lub nowsza. Wartość logiczna określa, czy końcowa kropka obecna w adresie URL żądania powinna zostać przycięta, czy nie. Ten nagłówek jest ignorowany, jeśli element docelowy znajduje się w udziale plików z włączonym protokołem NFS, który domyślnie obsługuje kropkę końcową. Aby uzyskać więcej informacji, zobacz Nazewnictwo i odwoływanie się do udziałów, katalogów, plików i metadanych. |
x-ms-source-allow-trailing-dot: { <Boolean> } |
Fakultatywny. Wersja 2022-11-02 lub nowsza. Wartość logiczna określa, czy końcowa kropka obecna w źródłowym adresie URL powinna być przycinana, czy nie. Ten nagłówek powinien być określony tylko wtedy, gdy źródło kopiowania znajduje się w udziale plików platformy Azure. Ten nagłówek nie jest obsługiwany dla żadnego innego typu źródła kopii. Ten nagłówek jest ignorowany, jeśli źródło kopiowania znajduje się w udziale plików z włączonym protokołem NFS, który domyślnie obsługuje kropkę końcową. Aby uzyskać więcej informacji, zobacz Nazewnictwo i odwoływanie się do udziałów, katalogów, plików i metadanych. |
Tylko nagłówki żądań protokołu SMB
Nagłówek żądania | Opis |
---|---|
x-ms-file-change-time: { <DateTime> ¦ source } |
Fakultatywny. Wersja 2021-06-08 lub nowsza. Właściwość czasu zmiany utc dla pliku sformatowana w formacie ISO 8601. Wartość source może służyć do kopiowania czasu zmiany z pliku źródłowego do pliku docelowego. Domyślna sygnatura czasowa to czas żądania. |
x-ms-file-permission-copy-mode: { source ¦ override } |
Fakultatywny. Dostępne dla wersji 2019-07-07 lub nowszej. Określa zachowanie kopiowania deskryptora zabezpieczeń pliku:
|
x-ms-file-permission: { <SDDL> ¦ <binary> } |
Wymagane, jeśli x-ms-file-permission-copy-mode jest określony jako override i x-ms-file-permission-key nie jest określony. Dostępne dla wersji 2019-07-07 lub nowszej. To uprawnienie jest deskryptorem zabezpieczeń dla pliku określonego w Security Descriptor Definition Language (SDDL) lub (wersja 2025-01-05 lub nowsza) w formacie base64 zakodowanym binarnym deskryptorze zabezpieczeń. Można określić format używany z nagłówkiem x-ms-file-permission-format . Możesz użyć tego nagłówka, jeśli rozmiar uprawnień to 8 kibibajtów (KiB) lub mniej. W przeciwnym razie możesz użyć x-ms-file-permission-key . W przypadku określenia musi mieć właściciela, grupę i uznaniową listę kontroli dostępu (DACL). Można określić tylko jedną z x-ms-file-permission lub x-ms-file-permission-key . |
x-ms-file-permission-key |
Wymagane, jeśli x-ms-file-permission-copy-mode jest określona jako override i nie określono x-ms-file-permission . Dostępne dla wersji 2019-07-07 lub nowszej. Ten nagłówek określa klucz uprawnienia do ustawienia dla pliku. Ten klucz można utworzyć przy użyciu operacji Create Permission .Można określić tylko jedną z x-ms-file-permission lub x-ms-file-permission-key . |
x-ms-file-permission-format: { sddl ¦ binary } |
Fakultatywny. Wersja 2025-01-05 lub nowsza. Określa, czy wartość przekazywana w x-ms-file-permission jest w formacie SDDL, czy w formacie binarnym. Jeśli ten nagłówek nie jest ustawiony, zostanie użyta wartość domyślna sddl . |
x-ms-file-attributes |
Fakultatywny. Dostępne dla wersji 2019-07-07 lub nowszej. Ten nagłówek określa atrybuty systemu plików, które mają być ustawione w pliku docelowym. Zobacz listę dostępnych atrybutów. Możesz użyć wartości source , aby skopiować atrybuty z pliku źródłowego do pliku docelowego. Możesz użyć wartości none , aby wyczyścić wszystkie atrybuty w pliku docelowym. |
x-ms-file-copy-ignore-readonly |
Fakultatywny. Dostępne dla wersji 2019-07-07 lub nowszej. Ta wartość logiczna określa, czy należy przestrzegać atrybutu ReadOnly dla istniejącego pliku docelowego. Jeśli true , operacja kopiowania zakończy się pomyślnie. W przeciwnym razie poprzedni plik w miejscu docelowym z zestawem atrybutów ReadOnly powoduje niepowodzenie operacji kopiowania. |
x-ms-file-copy-set-archive |
Fakultatywny. Dostępne dla wersji 2019-07-07 lub nowszej. Ta wartość logiczna określa, czy należy ustawić atrybut Archive , niezależnie od wartości nagłówka x-ms-file-attributes . |
Nagłówki żądań NFS
Nagłówek żądania | Opis |
---|---|
x-ms-file-mode-copy-mode: { source ¦ override } |
Fakultatywny. Wersja 2025-05-05 lub nowsza. Dotyczy tylko wtedy, gdy źródło kopiowania jest plikiem znajdującym się w udziale plików z włączonym protokołem NFS. Określa zachowanie kopiowania bitów trybu pliku:
|
x-ms-mode |
Wersja 2025-05-05 lub nowsza. Wymagane, jeśli x-ms-file-mode-copy-mode jest określony jako override . Bity trybu, które mają być ustawione w pliku. Tryb jest reprezentowany w formacie 12-bitowym ósemkowym lub symbolicznym formacie "rwx". Zobacz uprawnienia do plików POSIX (tryb). |
x-ms-file-owner-copy-mode: { source ¦ override } |
Fakultatywny. Wersja 2025-05-05 lub nowsza. Dotyczy tylko wtedy, gdy źródło kopiowania jest plikiem znajdującym się w udziale plików z włączonym protokołem NFS. Określa zachowanie kopiowania identyfikatora użytkownika właściciela (UID) i identyfikatora grupy (GID) pliku:
|
x-ms-owner |
Wersja 2025-05-05 lub nowsza. Identyfikator użytkownika (UID) właściciela pliku, który ma zostać ustawiony w pliku. Wymagane, jeśli x-ms-file-owner-copy-mode jest określony jako override . |
x-ms-group |
Wersja 2025-05-05 lub nowsza. Identyfikator grupy (GID) właściciela pliku, który ma zostać ustawiony w pliku. Wymagane, jeśli x-ms-file-owner-copy-mode jest określony jako override . |
Treść żądania
Żaden.
Odpowiedź
Odpowiedź zawiera kod stanu HTTP i zestaw nagłówków odpowiedzi.
Kod stanu
Pomyślna operacja zwraca kod stanu 202 (Zaakceptowane). Aby uzyskać informacje o kodach stanu, zobacz Stan i kody błędów.
Nagłówki odpowiedzi
Odpowiedź dla tej operacji zawiera nagłówki w poniższych tabelach. Odpowiedź może również zawierać dodatkowe standardowe nagłówki HTTP. Wszystkie standardowe nagłówki są zgodne ze specyfikacją protokołu HTTP/1.1 .
Typowe nagłówki odpowiedzi
Nagłówek odpowiedzi | Opis |
---|---|
ETag |
Jeśli operacja kopiowania zostanie ukończona, zawiera wartość ETag pliku docelowego. Jeśli operacja kopiowania nie zostanie ukończona, zawiera wartość ETag pustego pliku utworzonego na początku operacji. |
Last-Modified |
Zwraca datę/godzinę zakończenia operacji kopiowania do pliku docelowego. |
x-ms-request-id |
Jednoznacznie identyfikuje żądanie, które zostało wykonane. Ten nagłówek służy do rozwiązywania problemów z żądaniem. Aby uzyskać więcej informacji, zobacz Rozwiązywanie problemów z operacjami interfejsu API. |
x-ms-version |
Wskazuje wersję usługi Azure Files używaną do wykonania żądania. |
Date |
Wartość daty/godziny UTC wskazująca godzinę, o której usługa wysłała odpowiedź. |
x-ms-copy-id: <id> |
Zawiera identyfikator ciągu dla tej operacji kopiowania. Użyj polecenia z Get File lub Get File Properties , aby sprawdzić stan tej operacji kopiowania lub przekazać do Abort Copy File , aby anulować oczekującą operację kopiowania. |
x-ms-copy-status: <success ¦ pending> |
Wskazuje stan operacji kopiowania z następującymi wartościami: - success : operacja kopiowania zakończyła się pomyślnie.- pending : operacja kopiowania jest nadal w toku. |
x-ms-client-request-id |
Może służyć do rozwiązywania problemów z żądaniami i odpowiadającymi odpowiedziami. Wartość tego nagłówka jest równa wartości nagłówka x-ms-client-request-id , jeśli znajduje się w żądaniu, a wartość wynosi co najwyżej 1024 widoczne znaki ASCII. Jeśli nagłówek x-ms-client-request-id nie znajduje się w żądaniu, ten nagłówek nie będzie obecny w odpowiedzi. |
Tylko nagłówki odpowiedzi protokołu SMB
Żaden.
Nagłówki odpowiedzi tylko systemu plików NFS
Żaden.
Treść odpowiedzi
Żaden
Przykładowa odpowiedź
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>
Autoryzacja
Ta operacja może być wywoływana przez właściciela konta lub przez klienta posiadającego sygnaturę dostępu współdzielonego, która ma uprawnienia do zapisu w pliku docelowym lub jego udziale. Należy pamiętać, że sygnatura dostępu współdzielonego określona w żądaniu ma zastosowanie tylko do pliku docelowego.
Dostęp do pliku źródłowego lub obiektu blob jest autoryzowany oddzielnie, zgodnie z opisem w szczegółach nagłówka żądania x-ms-copy-source
.
W poniższej tabeli opisano sposób autoryzacji obiektów docelowych i źródłowych dla operacji Copy File
:
Plik | Autoryzacja z kluczem udostępnionym lub kluczem udostępnionym Lite | Autoryzacja z sygnaturą dostępu współdzielonego | Obiekt publiczny, który nie wymaga autoryzacji |
---|---|---|---|
Plik docelowy | Tak | Tak | Nie dotyczy |
Plik źródłowy na tym samym koncie | Tak | Tak | Nie dotyczy |
Plik źródłowy na innym koncie | Nie | Tak | Nie dotyczy |
Źródłowy obiekt blob na tym samym koncie lub innym koncie | Nie | Tak | Tak |
Atrybuty systemu plików
Atrybut | Atrybut pliku Win32 | Definicja |
---|---|---|
ReadOnly |
FILE_ATTRIBUTE_READONLY |
Plik jest tylko do odczytu. Aplikacje mogą odczytywać plik, ale nie mogą go zapisywać ani usuwać. |
Hidden |
FILE_ATTRIBUTE_HIDDEN |
Plik jest ukryty. Nie jest on uwzględniony w zwykłej liście katalogów. |
System |
FILE_ATTRIBUTE_SYSTEM |
System operacyjny używa części pliku lub korzysta wyłącznie z pliku. |
None |
FILE_ATTRIBUTE_NORMAL |
Plik nie ma innych atrybutów ustawionych. Ten atrybut jest prawidłowy tylko wtedy, gdy jest używany samodzielnie. |
Archive |
FILE_ATTRIBUTE_ARCHIVE |
Plik jest plikiem archiwum. Aplikacje zazwyczaj używają tego atrybutu do oznaczania plików do tworzenia kopii zapasowej lub usuwania. |
Temporary |
FILE_ATTRIBUTE_TEMPORARY |
Plik jest używany do przechowywania tymczasowego. |
Offline |
FILE_ATTRIBUTE_OFFLINE |
Dane pliku nie są natychmiast dostępne. Ten atrybut systemu plików zapewnia głównie zgodność z systemem Windows. Usługa Azure Files nie obsługuje jej z opcjami magazynu w trybie offline. |
NotContentIndexed |
FILE_ATTRIBUTE_NOT_CONTENT_INDEXED |
Usługa indeksowania zawartości nie indeksuje pliku. |
NoScrubData |
FILE_ATTRIBUTE_NO_SCRUB_DATA |
Skaner integralności danych w tle nie odczytuje strumienia danych użytkownika. Ten atrybut systemu plików zapewnia głównie zgodność z systemem Windows. |
Uprawnienia do plików POSIX (tryb)
Uprawnienia do plików POSIX można określić numerycznie w 12-bitowym formacie ósemkowym lub w formacie symbolicznym "rwx". Przykłady:
- "0644" lub "rw-r--r--": Użytkownik (właściciel pliku) ma uprawnienie do odczytu, zapisu. Grupa ma uprawnienia do odczytu. Inne osoby mają uprawnienia do odczytu.
- "0755" lub "rwxr-xr-x": użytkownik (właściciel pliku) ma uprawnienie do odczytu, zapisu i wykonywania. Grupa ma uprawnienie do odczytu i wykonywania. Inne osoby mają uprawnienia do odczytu i wykonywania.
Format ósemki liczbowej
Trzy najniższe liczby ósemkowe reprezentują uprawnienia właściciela/użytkownika, grupy i innych oraz są wskazywane przy użyciu liczby ósemkowej (0–7), utworzonej przy użyciu kombinacji bitowej "4" (Odczyt), "2" (Zapis), "1" (Wykonywanie). Najwyższa liczba ósemkowa zamówienia (0–7) służy do wskazywania kombinacji uprawnień "4" (SetUID), "2" (SetGID), "1" (StickyBit).
Format | Pozwolenie |
---|---|
0700 | Użytkownik (właściciel pliku) ma uprawnienia do odczytu, zapisu i wykonywania. |
0400 | Użytkownik ma uprawnienia do odczytu. |
0200 | Użytkownik ma uprawnienia do zapisu. |
0100 | Użytkownik ma uprawnienie do wykonywania. |
0070 | Grupa ma uprawnienia do odczytu, zapisu i wykonywania. |
0040 | Grupa ma uprawnienia do odczytu. |
0020 | Grupa ma uprawnienia do zapisu. |
0010 | Grupa ma uprawnienie do wykonywania. |
0007 | Inne osoby mają uprawnienia do odczytu, zapisu i wykonywania. |
0004 | Inne osoby mają uprawnienia do odczytu. |
0002 | Inni mają uprawnienia do zapisu. |
0001 | Inne osoby mają uprawnienia do wykonywania. |
4000 | Ustaw obowiązujący identyfikator użytkownika w pliku. |
2000 | Ustaw obowiązujący identyfikator grupy w pliku. |
1000 | Ustaw wartość wskazującą, że plik można usunąć lub zmienić jego nazwę tylko przez właściciela pliku, właściciela katalogu lub użytkownika głównego. |
Format symboliczny "rwx"
Uprawnienia właściciela/użytkownika, grupy i innych osób są wskazywane przy użyciu kombinacji znaków "r" (Read), "w" (Write) i "x" (Execute).
Format | Pozwolenie |
---|---|
rwx------ | Użytkownik (właściciel pliku) ma uprawnienia do odczytu, zapisu i wykonywania. |
r-------- | Użytkownik ma uprawnienia do odczytu. |
-w------- | Użytkownik ma uprawnienia do zapisu. |
--x------ | Użytkownik ma uprawnienie do wykonywania. |
---rwx--- | Grupa ma uprawnienia do odczytu, zapisu i wykonywania. |
---r----- | Grupa ma uprawnienia do odczytu. |
----w---- | Grupa ma uprawnienia do zapisu. |
-----x--- | Grupa ma uprawnienie do wykonywania. |
------rwx | Inne osoby mają uprawnienia do odczytu, zapisu i wykonywania. |
------r — | Inne osoby mają uprawnienia do odczytu. |
-------w- | Inni mają uprawnienia do zapisu. |
--------x | Inne osoby mają uprawnienia do wykonywania. |
Uwagi
Operacja Copy File
może zakończyć się asynchronicznie. Możesz użyć identyfikatora kopiowania, który x-ms-copy-id
nagłówek odpowiedzi zwraca, aby sprawdzić stan operacji kopiowania lub anulować go. Usługa Azure Files kopiuje pliki na podstawie najlepszych potrzeb.
Jeśli plik docelowy istnieje, zostanie zastąpiony. Nie można zmodyfikować pliku docelowego, gdy operacja kopiowania jest w toku.
Operacja Copy File
zawsze kopiuje cały źródłowy obiekt blob lub plik. Kopiowanie zakresu bajtów lub zestawu bloków nie jest obsługiwane.
Źródłem operacji Copy File
może być plik, który znajduje się w migawki udziału. Miejsce docelowe operacji Copy File
nie może być plikiem, który znajduje się w migawki udziału.
Gdy źródło operacji kopiowania zapewnia ETag
wartości, jeśli istnieją jakiekolwiek zmiany w źródle, gdy operacja jest w toku, kończy się niepowodzeniem. Próba zmiany pliku docelowego podczas wykonywania operacji kopiowania kończy się niepowodzeniem z kodem stanu 409 (konflikt).
Wartość ETag
pliku docelowego zmienia się po uruchomieniu operacji Copy File
. Nadal zmienia się ona często podczas operacji kopiowania.
Kopiowanie właściwości i metadanych
Po skopiowaniu obiektu blob lub pliku do pliku docelowego są kopiowane następujące właściwości systemowe o tych samych wartościach:
Content-Type
Content-Encoding
Content-Language
Content-Length
Cache-Control
Content-MD5
Content-Disposition
Plik docelowy jest zawsze taki sam jak źródłowy obiekt blob lub plik. Wartość nagłówka Content-Length
pliku docelowego jest zgodna z wartością tego nagłówka źródłowego obiektu blob lub pliku.
Kopiowanie dzierżawionego obiektu blob lub pliku do pliku
Operacja Copy File
odczytuje tylko ze źródłowego obiektu blob lub pliku, więc dzierżawa obiektu źródłowego nie ma wpływu na operację. Operacja Copy File
zapisuje wartość ETag
źródłowego obiektu blob lub pliku po uruchomieniu operacji. Jeśli wartość ETag
zmieni się przed zakończeniem operacji kopiowania, operacja zakończy się niepowodzeniem. Możesz zapobiec zmianom źródłowego obiektu blob pliku, dzierżawiając go podczas operacji kopiowania.
Jeśli plik docelowy ma aktywną nieskończoną dzierżawę, należy określić jego identyfikator dzierżawy w wywołaniu operacji Copy File
. Podczas gdy operacja kopiowania jest oczekująca, każda operacja dzierżawy w pliku docelowym kończy się niepowodzeniem z kodem stanu 409 (konflikt). Nieskończona dzierżawa pliku docelowego jest zablokowana w ten sposób podczas operacji kopiowania, niezależnie od tego, czy kopiujesz do pliku docelowego, który ma inną nazwę od źródła, czy kopiuje do pliku docelowego, który ma taką samą nazwę jak źródło. Jeśli klient określa identyfikator dzierżawy w pliku, który jeszcze nie istnieje, usługa Azure Files zwraca kod stanu 412 (Niepowodzenie warunku wstępnego).
Praca z oczekującą operacją kopiowania
Operacja Copy File
może zakończyć kopiowanie plików asynchronicznie. Poniższa tabela umożliwia określenie następnego kroku na podstawie kodu stanu, który Copy File
zwraca:
Kod stanu | Znaczenie |
---|---|
202 (Zaakceptowane), x-ms-copy-status: powodzenie | Operacja kopiowania zakończyła się pomyślnie. |
202 (Zaakceptowane), x-ms-copy-status: oczekujące | Operacja kopiowania nie została zakończona. Sonduj docelowy obiekt blob przy użyciu Get File Properties , aby zbadać x-ms-copy-status do momentu zakończenia lub niepowodzenia operacji kopiowania. |
4xx, 500 lub 503 | Operacja kopiowania nie powiodła się. |
Podczas i po operacji Copy File
właściwości pliku docelowego zawierają identyfikator kopii operacji Copy File
i adres URL źródłowego obiektu blob lub pliku. Po zakończeniu operacji usługa Azure Files zapisuje wartość czasu i wyniku (success
, failed
lub aborted
) we właściwościach pliku docelowego. Jeśli operacja ma wynik failed
, nagłówek x-ms-copy-status-description
zawiera ciąg szczegółów błędu.
Oczekująca operacja Copy File
ma limit czasu dwutygodniowego. Próba kopiowania, która nie została zakończona po dwóch tygodniach, i pozostawia pusty plik z polem x-ms-copy-status
ustawionym na failed
, a pole x-ms-status-description
ustawione na 500 (OperationCancelled). Sporadyczne błędy niekrytyczne, które mogą wystąpić podczas operacji kopiowania, mogą utrudniać postęp operacji, ale nie powodują niepowodzenia. W takich przypadkach x-ms-copy-status-description
opisuje sporadyczne błędy.
Każda próba zmodyfikowania pliku docelowego podczas operacji kopiowania kończy się niepowodzeniem z kodem stanu 409 (konflikt), "Kopiuj plik w toku".
Jeśli wywołasz operację Abort Copy File
, zobaczysz nagłówek x-ms-copy-status:aborted
. Plik docelowy będzie miał nienaruszone metadane i długość pliku o długości 0 bajtów. Możesz powtórzyć oryginalne wywołanie, aby Copy File
, aby spróbować wykonać operację ponownie.
Rozliczeń
Konto docelowe operacji Copy File
jest obciążane opłatą za jedną transakcję w celu rozpoczęcia operacji. Konto docelowe wiąże się również z jedną transakcją dla każdego żądania anulowania lub żądania stanu operacji kopiowania.
Gdy plik źródłowy lub obiekt blob znajduje się na innym koncie, konto źródłowe generuje koszty transakcji. Ponadto jeśli konta źródłowe i docelowe znajdują się w różnych regionach (na przykład Północno-wschodnie stany USA i Południowe stany USA), przepustowość używana do przeniesienia żądania jest obciążana kontem źródłowym jako ruch wychodzący. Ruch wychodzący między kontami w tym samym regionie jest bezpłatny.