Udostępnij za pośrednictwem


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 Tak
NFS Tak

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:
  • https://myaccount.file.core.windows.net/myshare/mydirectorypath/myfile
  • https://myaccount.blob.core.windows.net/mycontainer/myblob?sastoken
  • http://myaccount.file.core.windows.net/myshare/mydirectorypath/myfile?sharesnapshot=<DateTime>
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:
  • source: deskryptor zabezpieczeń w pliku docelowym jest kopiowany z pliku źródłowego.
  • override: deskryptor zabezpieczeń w pliku docelowym jest określany za pośrednictwem nagłówka x-ms-file-permission lub x-ms-file-permission-key.
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:
  • source: tryb pliku docelowego jest kopiowany z pliku źródłowego.
  • override: tryb w pliku docelowym jest określany za pośrednictwem nagłówka x-ms-mode.
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:
  • source: identyfikator użytkownika właściciela (UID) i identyfikator grupy (GID) w pliku docelowym jest kopiowany z pliku źródłowego.
  • override: identyfikator użytkownika właściciela (UID) i identyfikator grupy (GID) w pliku docelowym są określane odpowiednio za pośrednictwem nagłówków x-ms-owner i x-ms-group.
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, failedlub 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.

Zobacz też