Plik dzierżawy
Operacja Lease File
tworzy blokadę pliku i zarządza nim na potrzeby operacji zapisu i usuwania. program Lease File
jest obsługiwany w wersji 2019-02-02 lub nowszej.
Operację Lease File
można wywołać w jednym z następujących trybów:
-
Acquire
, aby zażądać nowej dzierżawy. -
Change
, aby zmienić identyfikator istniejącej dzierżawy. -
Release
, aby zwolnić dzierżawę, jeśli nie jest już potrzebna, aby inny klient mógł natychmiast uzyskać dzierżawę względem pliku. -
Break
, aby przymusowo zakończyć dzierżawę, ale upewnij się, że inny klient nie może uzyskać nowej dzierżawy do czasu wygaśnięcia bieżącego okresu dzierżawy.
Dostępność protokołu
Włączony protokół udziału plików | Dostępny |
---|---|
SMB |
![]() |
NFS |
![]() |
Prosić
Żądanie Lease File
jest konstruowane w następujący sposób. Zalecamy używanie protokołu HTTPS.
Metoda | Identyfikator URI żądania | Wersja PROTOKOŁU HTTP |
---|---|---|
KŁAŚĆ | https://myaccount.file.core.windows.net/myshare/mydirectory/myfile?comp=lease |
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. |
myfile |
Nazwa pliku. |
Parametry identyfikatora URI
Dla identyfikatora URI żądania można określić następujący dodatkowy parametr.
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ń
W poniższej tabeli opisano wymagane i opcjonalne 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 |
Fakultatywny. Określa wersję operacji do użycia dla tego żądania. Aby uzyskać więcej informacji, zobacz Przechowywanie wersji dla usług Azure Storage. |
x-ms-lease-id:<ID> |
Wymagane do odnowienia, zmiany lub zwolnienia dzierżawy. Wartość x-ms-lease-id można określić w dowolnym prawidłowym formacie ciągu identyfikatora GUID. Zobacz Guid Constructor (String), aby uzyskać listę prawidłowych formatów. |
x-ms-lease-action: <acquire ¦ change ¦ release ¦ break> |
acquire : żąda nowej dzierżawy. Jeśli plik nie ma aktywnej dzierżawy, usługa Azure Files tworzy dzierżawę w pliku i zwraca nowy identyfikator dzierżawy. Jeśli plik ma aktywną dzierżawę, możesz zażądać nowej dzierżawy tylko przy użyciu aktywnego identyfikatora dzierżawy.change : zmienia identyfikator dzierżawy aktywnej dzierżawy.
change musi zawierać bieżący identyfikator dzierżawy w x-ms-lease-id i nowy identyfikator dzierżawy w x-ms-proposed-lease-id .release : zwalnia dzierżawę. Dzierżawę można zwolnić, jeśli identyfikator dzierżawy określony w żądaniu jest zgodny z tym plikiem. Zwolnienie dzierżawy umożliwia innemu klientowi natychmiastowe uzyskanie dzierżawy dla pliku, gdy tylko wydanie zostanie ukończone.break : przerywa dzierżawę, jeśli plik ma aktywną dzierżawę. Każde autoryzowane żądanie może przerwać dzierżawę. Żądanie nie jest wymagane do określenia zgodnego identyfikatora dzierżawy. Nieskończona dzierżawa jest przerywana natychmiast. |
x-ms-lease-duration: -1 |
Dozwolone i wymagane tylko w operacji acquire . Wymagane jest, aby -1 , aby wskazać dzierżawę, która nigdy nie wygasa. |
x-ms-proposed-lease-id: <ID> |
Opcjonalne dla acquire i wymagane dla change . Proponowany identyfikator dzierżawy w formacie ciągu identyfikatora GUID. Usługa Azure Files zwraca 400 (Invalid request) , jeśli proponowany identyfikator dzierżawy nie ma poprawnego formatu. Zobacz Guid Constructor (String), aby uzyskać listę prawidłowych formatów. |
x-ms-client-request-id |
Fakultatywny. Zapewnia nieprzezroczystą wartość wygenerowaną przez klienta z limitem znaków 1-kibibyte (KiB), który jest rejestrowany 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 Files. |
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. Aby uzyskać więcej informacji, zobacz Nazewnictwo i odwoływanie się do udziałów, katalogów, plików i metadanych. |
Treść żądania
Żaden.
Przykładowe żądanie
Następujące przykładowe żądanie pokazuje, jak uzyskać dzierżawę:
Request Syntax:
PUT https://myaccount.file.core.windows.net/myshare/mydirectory/myfile?comp=lease HTTP/1.1
Request Headers:
x-ms-version: 2019-07-07
x-ms-lease-action: acquire
x-ms-lease-duration: -1
x-ms-proposed-lease-id: 1f812371-a41d-49e6-b123-f4b542e851c5
x-ms-date: <date>
Authorization: SharedKey myaccount:esSKMOYdK4o+nGTuTyeOLBI+xqnqi6aBmiW4XI699+o=
Odpowiedź
Odpowiedź zawiera kod stanu HTTP i zestaw nagłówków odpowiedzi.
Kod stanu
Kody stanu powodzenia zwrócone dla operacji dzierżawy są następujące:
-
Acquire
: Operacja zakończona pomyślnie zwraca kod stanu 201 (Utworzono). -
Change
: Operacja zakończona powodzeniem zwraca kod stanu 200 (OK). -
Release
: Operacja zakończona powodzeniem zwraca kod stanu 200 (OK). -
Break
: Operacja zakończona pomyślnie 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ższej tabeli. 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 w cudzysłowie. Operacja Lease File nie modyfikuje tej właściwości. |
Last-Modified |
Data/godzina ostatniej modyfikacji pliku. Aby uzyskać więcej informacji, zobacz Reprezentacja wartości daty i 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. Operacja Lease File nie modyfikuje tej właściwości. |
x-ms-lease-id:<ID> |
Podczas żądania dzierżawy usługa Azure Files zwraca unikatowy identyfikator dzierżawy. Gdy dzierżawa jest aktywna, musisz dołączyć identyfikator dzierżawy z dowolnym żądaniem zapisu do pliku lub zmienić lub zwolnić dzierżawę. Pomyślna operacja odnawiania zwraca również identyfikator dzierżawy dla aktywnej dzierżawy. |
x-ms-lease-time: seconds |
Zwrócone tylko dla pomyślnego żądania przerwania dzierżawy.
0 jest zwracany w przypadku natychmiastowych przerw. |
x-ms-request-id |
Jednoznacznie identyfikuje wykonane żądanie i może 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 uruchomienia żądania. |
Date |
Wartość daty/godziny UTC wskazująca godzinę, o której zainicjowano odpowiedź. Usługa generuje tę wartość. |
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 jest obecna w żądaniu. Wartość jest najwyżej 1024 widocznymi znakami ASCII. Jeśli nagłówek x-ms-client-request-id nie znajduje się w żądaniu, nie będzie on obecny w odpowiedzi. |
Treść odpowiedzi
Żaden.
Przykładowa odpowiedź
Poniżej przedstawiono przykładową odpowiedź na żądanie uzyskania dzierżawy:
Response Status:
HTTP/1.1 201 Created
Response Headers:
Server: Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0
x-ms-request-id: cc6b209a-b593-4be1-a38a-dde7c106f402
x-ms-version: 2019-07-07
x-ms-lease-id: 1f812371-a41d-49e6-b123-f4b542e851c5
Date: <date>
Autoryzacja
Tylko właściciel konta może wywołać tę operację.
Uwagi
Dzierżawa pliku zapewnia wyłączny dostęp do zapisu i usuwania pliku. Aby zapisać w pliku z aktywną dzierżawą, klient musi uwzględnić aktywny identyfikator dzierżawy z żądaniem zapisu. Dzierżawa jest udzielana przez nieskończony czas trwania.
Gdy klient uzyskuje dzierżawę, zwracany jest identyfikator dzierżawy. Usługa Azure Files generuje identyfikator dzierżawy, jeśli nie został określony w żądaniu uzyskania. Klient może użyć tego identyfikatora dzierżawy, aby zmienić jego identyfikator dzierżawy lub zwolnić dzierżawę.
Gdy dzierżawa jest aktywna, identyfikator dzierżawy musi być uwzględniony w żądaniu dla dowolnej z następujących operacji:
- tworzenie plików
- ustaw metadanych plików
- ustaw właściwości pliku
- usuń plików
- umieść zakres
- kopiowania pliku (identyfikator dzierżawy wymagany dla pliku docelowego).
Jeśli identyfikator dzierżawy nie jest uwzględniony, te operacje kończą się niepowodzeniem w pliku dzierżawionych z 412 – Precondition failed
.
Następujące operacje kończą się powodzeniem w pliku dzierżawionych bez uwzględniania identyfikatora dzierżawy:
- pobierz plików
- pobierz metadane plików
- pobierz właściwości pliku
- zakresów listy
- katalogi i pliki listy
- skopiuj plik (brak identyfikatora dzierżawy wymaganego dla pliku źródłowego).
-
pliku dzierżawy (interfejs API REST) (brak identyfikatora dzierżawy wymaganego do
x-ms-lease-action: break
).
Nie jest konieczne uwzględnienie identyfikatora dzierżawy dla operacji GET w pliku, który ma aktywną dzierżawę. Jednak wszystkie operacje GET obsługują parametr dzierżawy warunkowej. W tym typie parametru operacja jest kontynuowana tylko wtedy, gdy identyfikator dzierżawy dołączony do żądania jest prawidłowy.
Wszystkie operacje udziału są dozwolone w udziale zawierającym pliki z aktywną dzierżawą, w tym Usuń udział. W związku z tym można usunąć udział, nawet jeśli pliki w nim mają aktywne dzierżawy.
Stany dzierżawy
Na poniższym diagramie przedstawiono trzy stany dzierżawy oraz polecenia lub zdarzenia, które powodują zmiany stanu dzierżawy.
Dzierżawa może znajdować się w trzech stanach na podstawie tego, czy dzierżawa jest zablokowana, czy odblokowana, i czy dzierżawa jest odnawialna w tym stanie. Akcje dzierżawy pokazane na powyższym diagramie powodują przejścia stanu.
-
Available
: dzierżawa jest odblokowana i może zostać uzyskana. Dozwolona akcja:acquire
. -
Leased
: dzierżawa jest zablokowana. Dozwolone akcje:acquire
(tylko ten sam identyfikator dzierżawy),change
,release
ibreak
. -
Broken
: Dzierżawa została przerwana. Dozwolone akcje:acquire
,release
ibreak
.
Należy pamiętać, że nie można udzielić dzierżawy dla pliku w migawki udziału, ponieważ migawki są tylko do odczytu. Żądanie dzierżawy dla pliku w migawce udziału powoduje wyświetlenie kodu stanu 400 (nieprawidłowe żądanie).
Jeśli dzierżawa pliku znajduje się w stanie Broken, a operacja Put Range zapisuje w pliku, stan dzierżawy zmieni się na Dostępne. Jeśli jednak plik ma ustawiony atrybut tylko do odczytu, serwer zwróci konflikt 409.
Właściwość Last-Modified-Time
pliku nie jest aktualizowana przez wywołania do Lease File
.
W poniższych tabelach przedstawiono wyniki akcji dotyczących plików z dzierżawami w różnych stanach dzierżawy. Litery (A), (B) i (C) reprezentują identyfikatory dzierżawy, a (X) reprezentuje identyfikator dzierżawy wygenerowany przez usługę Azure Files.
Wyniki prób użycia plików według stanu dzierżawy
Akcja | Dostępny | Dzierżawione (A) | Przerwane (A) |
---|---|---|---|
Zapisywanie przy użyciu (A) | Niepowodzenie (412) | Dzierżawiony (A), zapis kończy się powodzeniem | Niepowodzenie (412) |
Zapisywanie przy użyciu (B) | Niepowodzenie (412) | Niepowodzenie (409) | Niepowodzenie (412) |
Zapis, brak określonej dzierżawy | Dostępne, zapis kończy się powodzeniem | Niepowodzenie (412) | Dostępne, zapis kończy się powodzeniem |
Odczyt przy użyciu (A) | Niepowodzenie (412) | Dzierżawione (A), odczyt kończy się powodzeniem | Niepowodzenie (412) |
Odczyt przy użyciu (B) | Niepowodzenie (412) | Niepowodzenie (409) | Niepowodzenie (412) |
Odczyt, brak określonej dzierżawy | Dostępne, odczyt kończy się powodzeniem | Dzierżawione (A), odczyt kończy się powodzeniem | Przerwane (A), odczyt kończy się powodzeniem |
Wyniki operacji dzierżawy na plikach według stanu dzierżawy
Akcja | Dostępny | Dzierżawione (A) | Przerwane (A) |
---|---|---|---|
Acquire , brak proponowanego identyfikatora dzierżawy |
Dzierżawione (X) | Niepowodzenie (409) | Dzierżawione (X) |
Acquire (A) |
Dzierżawione (A) | Dzierżawione (A) | Dzierżawione (A) |
Acquire (B) |
Dzierżawione (B) | Niepowodzenie (409) | Dzierżawione (B) |
Break |
Niepowodzenie (409) | Przerwane (A) | Przerwane (A) |
Change , (A) do (B) |
Niepowodzenie (409) | Dzierżawione (B) | Niepowodzenie (409) |
Change , (B) do (A) |
Niepowodzenie (409) | Dzierżawione (A) | Niepowodzenie (409) |
Change , (B) do (C) |
Niepowodzenie (409) | Niepowodzenie (409) | Niepowodzenie (409) |
Release (A) |
Niepowodzenie (409) | Dostępny | Dostępny |
Release (B) |
Niepowodzenie (409) | Niepowodzenie (409) | Niepowodzenie (409) |