Udostępnij za pośrednictwem


Umieść zakres od adresu URL

Operacja Put Range From URL tworzy nowy zakres, który ma zostać zatwierdzony w ramach pliku, w którym zawartość jest odczytywana z adresu URL. Ten interfejs API jest dostępny w wersji 2019-02-02.

Dostępność protokołu

Włączony protokół udziału plików Dostępne
SMB Tak
NFS Nie

Żądanie

Żądanie Put Range From URL może być skonstruowane w następujący sposób. Zalecamy korzystanie z protokołu HTTPS. Zastąp ciąg myaccount nazwą konta magazynu:

Metoda Identyfikator URI żądania Wersja PROTOKOŁU HTTP
PUT https://myaccount.file.core.windows.net/myshare/myfile?comp=range HTTP/1.1

Parametry identyfikatora URI

Parametr Opis
timeout Opcjonalny. Parametr jest wyrażony timeout w sekundach. Aby uzyskać więcej informacji, zobacz Ustawianie limitów czasu dla operacji Azure Files.

Nagłówki żądań

Wymagane i opcjonalne nagłówki żądań zostały opisane w poniższej tabeli:

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 dla żądania godzinę w formacie uniwersalnego czasu koordynowanego (UTC). 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. Aby uzyskać więcej informacji, zobacz Przechowywanie wersji dla usług Azure Storage. W przypadku Put Range From URLprogramu wersja musi być w wersji 2019-02-02 lub nowszej.
x-ms-copy-source:name Wymagane. Określa adres URL pliku źródłowego. Wartość może być adresem URL o długości do 2 KiB, który określa plik. Wartość powinna być zakodowana w adresie URL, tak jak byłaby wyświetlana w identyfikatorze URI żądania. Plik źródłowy musi być publiczny lub musi być autoryzowany za pośrednictwem sygnatury dostępu współdzielonego. Jeśli plik źródłowy jest publiczny, do wykonania operacji nie jest wymagana żadna autoryzacja. Oto kilka przykładów źródłowych adresów URL obiektów:
  • https://myaccount.file.core.windows.net/myshare/mydir/myfile
  • https://myaccount.file.core.windows.net/myshare/mydir/myfile?<sastoken>
x-ms-copy-source-authorization: <scheme> <signature> Opcjonalny. Określa schemat autoryzacji i podpis dla źródła kopii. Aby uzyskać więcej informacji, zobacz Autoryzowanie żądań do usługi Azure Storage.
Tylko element nośny schematu jest obsługiwany w przypadku Microsoft Entra.
Ten nagłówek jest obsługiwany w wersji 2020-10-02 lub nowszej.
x-ms-write: { update } Wymagane. Musisz określić tylko updatewartość . Żądanie kończy się niepowodzeniem, jeśli jest wywoływane z elementem clear. Wartość update zapisuje bajty określone przez treść żądania w określonych zakresach.
Range lub x-ms-range Wymagane. Wymagana jest wartość Range lub x-ms-range .

Określa zakres bajtów do zapisania. Należy określić zarówno początek, jak i koniec zakresu. Ten nagłówek jest definiowany przez specyfikację protokołu HTTP/1.1.

W przypadku operacji aktualizacji zakres może mieć rozmiar do 4 MiB.

Azure Files akceptuje tylko jeden zakres bajtów dla Range nagłówków ix-ms-range, a zakres bajtów musi być określony w następującym formacie: bytes=startByte-endByte.

Jeśli określono obie Range wartości i x-ms-range , usługa używa wartości x-ms-range. Aby uzyskać więcej informacji, zobacz Określanie nagłówka zakresu dla operacji Azure Files.
x-ms-source-range Wymagane. Określa zakres bajtów do odczytania ze źródła. Należy określić zarówno początek, jak i koniec zakresu.

Azure Files akceptuje tylko jeden zakres bajtów dla Range nagłówków ix-ms-range, a zakres bajtów musi być określony w następującym formacie: bytes=startByte-endByte.

Zakres źródłowy może mieć rozmiar do 4 MiB. Jeśli rozmiar zakresu źródłowego przekracza 4 MiB, Azure Files zwraca kod stanu 413 (Jednostka żądania jest zbyt duża). Jeśli rozmiar zakresu źródłowego nie jest zgodny z rozmiarem zakresu (zakres docelowy), usługa zwraca kod stanu 400 (Nieprawidłowe żądanie).
Content-Length Wymagane. Określa liczbę bajtów przesyłanych w treści żądania. Wartość tego nagłówka musi być ustawiona na 0wartość . Jeśli długość nie 0jest , operacja kończy się niepowodzeniem z kodem stanu 400 (nieprawidłowe żądanie).
x-ms-client-request-id Opcjonalny. Zapewnia nieprzezroczystą wartość wygenerowaną przez klienta z limitem znaków 1-kibibyte (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 Monitorowanie Azure Files.
x-ms-source-content-crc64 Opcjonalny. Skrót CRC64 określonego zakresu z identyfikatora URI. Ten skrót służy do weryfikowania integralności zakresu podczas transportu danych z identyfikatora URI. Po określeniu tego nagłówka Azure Files porównuje skrót zawartości, która dotarła ze źródła kopiowania z tą wartością nagłówka.

Uwaga: ten skrót CRC64 nie jest przechowywany w pliku.

Jeśli dwa skróty nie są zgodne, operacja kończy się niepowodzeniem z kodem błędu 400 (Nieprawidłowe żądanie).
x-ms-source-if-match-crc64 Opcjonalny. Wartość sumy kontrolnej CRC64. Określ ten nagłówek, aby wykonać operację tylko wtedy, gdy suma kontrolna danego zakresu odczytana ze źródła jest zgodna z podaną sumą kontrolną.

Jeśli określony warunek nie jest spełniony, Azure Files zwraca kod stanu 412 (Niepowodzenie warunku wstępnego).
x-ms-source-if-none-match-crc64 Opcjonalny. Wartość sumy kontrolnej CRC64. Określ ten nagłówek, aby wykonać operację tylko wtedy, gdy suma kontrolna danego zakresu odczytanego ze źródła różni się od podanej sumy kontrolnej.

Jeśli określony warunek nie jest spełniony, Azure Files zwraca kod stanu 412 (Niepowodzenie warunku wstępnego).
x-ms-lease-id:<ID> Wymagane, jeśli plik ma aktywną dzierżawę. Aby wykonać tę operację na pliku z aktywną dzierżawą, określ prawidłowy identyfikator dzierżawy dla tego nagłówka.
x-ms-client-request-id Opcjonalny. Zapewnia nieprzezroczystą wartość wygenerowaną przez klienta z limitem znaków 1-kibibyte (KiB), który jest rejestrowany w dziennikach analitycznych po włączeniu rejestrowania w usłudze Azure analityka magazynu. Zdecydowanie zalecamy używanie tego nagłówka podczas korelowania działań po stronie klienta z żądaniami odbieranymi przez serwer. Aby uzyskać więcej informacji, zobacz Monitorowanie usługi Blob Storage.
x-ms-file-last-write-time: { now ¦ preserve } Opcjonalny. Wersja 2021-06-08 lub nowsza. Możesz określić jedną z następujących opcji:
  • now: wartość domyślna. Aktualizacje znacznik czasu ostatniego zapisu do czasu żądania.
  • preserve: zachowuje istniejący znacznik czasu ostatniego zapisu bez zmian.
x-ms-file-request-intent Wymagane, jeśli Authorization nagłówek określa token OAuth. Akceptowalna wartość to backup. Ten nagłówek określa, czy Microsoft.Storage/storageAccounts/fileServices/readFileBackupSemantics/action element lub Microsoft.Storage/storageAccounts/fileServices/writeFileBackupSemantics/action ma zostać przyznany, jeśli są one uwzględnione w zasadach RBAC przypisanych do tożsamości, która jest autoryzowana przy użyciu nagłówka Authorization . Dostępne dla wersji 2022-11-02 lub nowszej.
x-ms-allow-trailing-dot: { <Boolean> } Opcjonalny. 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. 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> } Opcjonalny. Wersja 2022-11-02 lub nowsza. Wartość logiczna określa, czy końcowa kropka obecna w źródłowym adresie URL powinna zostać przycięta, czy nie. Ten nagłówek powinien być określony tylko wtedy, gdy źródło kopiowania jest plikiem platformy Azure. Ten nagłówek nie jest obsługiwany dla żadnego innego typu źródła kopii. Aby uzyskać więcej informacji, zobacz Nazewnictwo i odwoływanie się do udziałów, katalogów, plików i metadanych.

Treść żądania

Brak treści żądania.

Przykładowe żądanie

Request Syntax:  
PUT https://myaccount.file.core.windows.net/myshare/mydir/myfile?comp=range HTTP/1.1  
  
Request Headers:  
x-ms-page-write: update  
x-ms-copy-source: http://myaccount2.file.core.windows.net/myshare2/mydirectory2/myfile2?sv=2018-11-09&sp=r&sr=s&se=2018-08-22T09%3A59%3A28.2185790Z&sig=Qn6QEET3Gn%2FhCEVcXuwG7ssatIYiYRM5pNIy4Q3N0cQ%3D 
x-ms-date: Fri, 22 Aug 2018 01:15:50 GMT  
x-ms-version: 2019-02-02 
x-ms-range: bytes=100-1023  
x-ms-source-range: bytes=200-1123  
x-ms-source-content-crc64: 3bedb8b3730fc205 
Authorization: SharedKey myaccount:4KdWDiTdA9HmIF9+WF/8WfYOpUrFhieGIT7f0av+GEI=  
Content-Length: 0 

Reakcja

Odpowiedź zawiera kod stanu HTTP i zestaw nagłówków odpowiedzi.

Kod stanu

Pomyślna operacja zwraca kod stanu 201 (Utworzony).

Aby uzyskać więcej informacji na temat kodów stanu, zobacz Kody stanu i błędów.

Nagłówki odpowiedzi

Odpowiedź na tę operację zawiera następujące nagłówki. Odpowiedź może również zawierać dodatkowe standardowe nagłówki HTTP. Wszystkie standardowe nagłówki są zgodne ze specyfikacją protokołu HTTP/1.1.

Nagłówek odpowiedzi Opis
ETag Zawiera wartość, której można użyć do warunkowego wykonywania operacji. Wartość jest ujęta w znaki cudzysłowu.
Last-Modified Data i godzina ostatniej modyfikacji pliku. Format daty jest zgodny z dokumentem RFC 1123. Aby uzyskać więcej informacji, zobacz Reprezentacja wartości daty/godziny w nagłówkach.

Każda operacja zapisu w pliku, w tym aktualizacje metadanych lub właściwości pliku, zmienia czas ostatniej modyfikacji pliku. 
x-ms-request-id Unikatowo identyfikuje żądanie, które zostało wykonane, i można go 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ę interfejsu API FileREST, która została użyta do wykonania żądania.
Date Wartość daty/godziny UTC wygenerowana przez usługę, która wskazuje godzinę zainicjowania odpowiedzi.
x-ms-content-crc64 Zwrócone, aby klient mógł sprawdzić integralność zawartości komunikatu. Wartość tego nagłówka jest obliczana przez Azure Files. Nie musi być taka sama jak wartość określona w nagłówkach żądania.
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 x-ms-client-request-id nagłówka, jeśli jest obecna w żądaniu, a wartość zawiera nie więcej niż 1024 widoczne znaki ASCII. x-ms-client-request-id Jeśli nagłówek nie znajduje się w żądaniu, nie będzie on obecny w odpowiedzi.
x-ms-file-last-write-time Wersja 2021-06-08 lub nowsza. Czas ostatniego zapisu pliku w formacie ISO 8601 (na przykład 2017-05-10T17:52:33.9551861Z).

Przykładowa odpowiedź

Response Status:  
HTTP/1.1 201 Created  

Response Headers:
Date: Sun, 22 Aug 2020 01:33:35 GMT  
ETag: "0x8CB171BA9E94B0B"  
Last-Modified: Wed, 22 Aug 2020 01:13:31 GMT  
x-ms-version: 2019-02-02
x-ms-content-crc64: 3bedb8b3730fc205 
Content-Length: 0  
Server: Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0  

Autoryzacja

Ta operacja może być wywoływana przez właściciela konta i przez każdego, kto ma sygnaturę dostępu współdzielonego z uprawnieniami do zapisu w tym pliku lub udziale plików platformy Azure.

Uwagi

Operacja Put Range From URL zapisuje zakres danych w pliku. Jeśli interfejs API jest wywoływany w pliku nieistniejącego w obiekcie docelowym, interfejs API zwraca kod stanu HTTP 404 (Nie znaleziono).

W wersji 2020-10-02 lub nowszej autoryzacja Microsoft Entra jest obsługiwana dla źródła operacji kopiowania.

Aby utworzyć nowy plik, wywołaj metodę Create File.

Put Range From URL operacja zwraca powodzenie 201 (utworzono) tylko wtedy, gdy określony zakres jest zapisywany w pliku.

Operacja odczytu pliku
Put Range From URL używa Get File do odczytywania danych i metadanych, atrybutów i list ACL ze źródła.

Operacja aktualizacji pliku
Wywołanie Put Range From URL za pomocą opcji "update" wykonuje zapis w miejscu dla określonego pliku. Każda zawartość w określonym pliku zostanie zastąpiona aktualizacją.  

Rozmiar zakresu operacji Put Range From URL aktualizacji może mieć rozmiar do 4 MiB. Jeśli spróbujesz przekazać zakres większy niż 4 miB, Azure Files zwróci kod stanu 413 (RequestEntityTooLarge).