Lease Share
Der Lease Share
Vorgang richtet eine Sperre für eine Azure-Dateifreigabe oder eine Freigabe Momentaufnahme ein und verwaltet diese. Diese API wird vollständig unterstützt, ist aber eine Legacyverwaltungs-API. Verwenden Sie stattdessen Dateifreigaben – Lease, die vom Speicherressourcenanbieter (Microsoft.Storage) bereitgestellt wird. Weitere Informationen zur programmgesteuerten Interaktion mit FileShare
Ressourcen mithilfe des Speicherressourcenanbieters finden Sie unter Vorgänge auf FileShares.
Die Sperrdauer kann 15 bis 60 Sekunden betragen oder unendlich sein. Sie können den Lease Share
Vorgang in einem der folgenden Modi aufrufen:
-
Acquire
: So fordern Sie eine neue Lease an. -
Renew
: Um eine vorhandene Lease zu verlängern. -
Change
: So ändern Sie die ID einer vorhandenen Lease. -
Release
: Um die Lease freizugeben, wenn sie nicht mehr benötigt wird, damit ein anderer Client sofort eine Lease für die Dateifreigabe erwerben kann. -
Break
: Um die Lease zu beenden, stellen Sie jedoch sicher, dass ein anderer Client erst dann eine neue Lease erwerben kann, wenn der aktuelle Leasezeitraum abgelaufen ist.
Hinweis
Der Lease Share
Vorgang ist ab Version 2020-02-10 verfügbar.
Protokollverfügbarkeit
Aktiviertes Dateifreigabeprotokoll | Verfügbar |
---|---|
SMB | |
NFS |
Anforderung
Sie können die Lease Share
Anforderung wie folgt erstellen. HTTPS wird empfohlen. Ersetzen Sie myaccount durch den Namen Ihres Speicherkontos.
Methode | Anforderungs-URI | HTTP-Version |
---|---|---|
PUT |
https://myaccount.file.core.windows.net/myshare?comp=lease&restype=share |
HTTP/1.1 |
PUT |
https://myaccount.file.core.windows.net/myshare?comp=lease&sharesnapshot=<DateTime>&restype=share |
HTTP/1.1 |
URI-Parameter
Sie können den folgenden zusätzlichen Parameter für den Anforderungs-URI angeben.
Parameter | BESCHREIBUNG |
---|---|
timeout |
Optional. Der timeout -Parameter wird in Sekunden angegeben. Weitere Informationen finden Sie unter Festlegen von Timeouts für Azure Files Vorgänge. |
Anforderungsheader
In der folgenden Tabelle werden erforderliche und optionale Anforderungsheader beschrieben.
Anforderungsheader | BESCHREIBUNG |
---|---|
Authorization |
Erforderlich. Gibt das Autorisierungsschema, den Kontonamen und die Signatur an. Weitere Informationen finden Sie unter Autorisieren von Anforderungen an Azure Storage. |
Date oder x-ms-date |
Erforderlich. Gibt die koordinierte Weltzeit (Coordinated Universal Time, UTC) für die Anforderung an. Weitere Informationen finden Sie unter Autorisieren von Anforderungen an Azure Storage. |
x-ms-version |
Optional. Gibt die Version des für die Anforderung zu verwendenden Vorgangs an. Weitere Informationen finden Sie unter Versionsverwaltung für die Azure-Speicherdienste. |
x-ms-lease-id: <ID> |
Erforderlich, um die Lease zu verlängern, zu ändern oder freizugeben. Sie können den Wert von x-ms-lease-id in einem beliebigen gültigen GUID-Zeichenfolgenformat angeben. Eine Liste gültiger Formate finden Sie unter Guid-Konstruktor (String). |
x-ms-lease-action: <action> |
acquire : Fordert eine neue Lease an. Wenn die Dateifreigabe keine aktive Lease aufweist, erstellt Azure Files eine Lease für die Dateifreigabe und gibt eine neue Lease-ID zurück. Wenn die Dateifreigabe über eine aktive Lease verfügt, können Sie nur mithilfe der aktiven Lease-ID eine neue Lease anfordern. Sie können jedoch einen neuen x-ms-lease duration angeben, einschließlich einer negativen (-1) für eine Lease, die nie abläuft.renew : Verlängert die Lease. Sie können die Lease verlängern, wenn die in der Anforderung angegebene Lease-ID der Dateifreigabe entspricht. Beachten Sie, dass Sie die Lease auch dann verlängern können, wenn sie abgelaufen ist, solange die Dateifreigabe seit Ablauf dieser Lease nicht erneut geleast wurde. Beim Verlängern einer Lease wird die Leasedauer zurückgesetzt.change : Ändert die Lease-ID einer aktiven Lease. Ein change muss die aktuelle Lease-ID in x-ms-lease-id und eine neue Lease-ID in x-ms-proposed-lease-id enthalten.release : Gibt die Lease frei. Sie können die Lease freigeben, wenn die in der Anforderung angegebene Lease-ID der Dateifreigabe entspricht. Durch das Freigeben der Lease kann ein anderer Client sofort die Lease für die Dateifreigabe erwerben, sobald die Veröffentlichung abgeschlossen ist.break : Unterbrechen Sie die Lease, wenn die Dateifreigabe über eine aktive Lease verfügt. Nachdem ein Lease unterbrochen wurde, kann sie nicht mehr verlängert werden. Jede autorisierte Anforderung kann die Lease unterbrechen. Die Anforderung ist nicht erforderlich, um eine übereinstimmende Lease-ID anzugeben. Wenn eine Lease unterbrochen wird, darf der Leaseunterbrechungszeitraum verstreichen, und break und release sind die einzigen Vorgänge, die Sie in dieser Zeit für die Dateifreigabe ausführen können. Wenn eine Lease erfolgreich unterbrochen wurde, gibt die Antwort das Intervall in Sekunden an, bis eine neue Lease abgerufen werden kann.Eine Lease, die unterbrochen wurde, kann auch freigegeben werden. Ein Client kann sofort eine freigegebene Dateifreigabeleasing abrufen. |
x-ms-lease-break-period: N |
Optional. Bei einem break Vorgang ist dies die vorgeschlagene Dauer, die die Lease fortsetzen sollte, bevor sie unterbrochen wird, in Sekunden zwischen 0 und 60. Dieser Pausenzeitraum wird nur verwendet, wenn er kürzer ist als die verbleibende Zeit für die Lease. Ist er länger, wird die verbleibende Zeit für die Lease verwendet. Eine neue Lease ist nicht verfügbar, bevor der Pausenzeitraum abgelaufen ist, aber die Lease kann länger als der Pausenzeitraum aufbewahrt werden. Wenn dieser Header bei einem break Vorgang nicht angezeigt wird, wird eine Lease mit fester Dauer nach Ablauf des verbleibenden Leasezeitraums unterbrochen, und eine unendliche Lease bricht sofort. |
x-ms-lease-duration: -1 |
Erforderlich für acquire . Gibt die Dauer der Lease in Sekunden oder als minus eins (-1) für eine nie ablaufende Lease an. Die Dauer einer nicht unendlichen Lease kann zwischen 15 und 60 Sekunden liegen. Eine Leasedauer kann nicht mit renew oder change geändert werden. |
x-ms-proposed-lease-id: <ID> |
Optional für acquire und erforderlich für change . Vorgeschlagene Lease-ID in einem GUID-Zeichenfolgenformat. Azure Blob Storage wird zurückgegeben400 (Invalid request) , wenn die vorgeschlagene Lease-ID nicht das richtige Format aufweist. Eine Liste gültiger Formate finden Sie unter Guid-Konstruktor (String). |
Origin |
Optional. Gibt die Ursprungsdomäne an, von der die Anforderung ausgegeben wird. Wenn dieser Header vorhanden ist, werden CORS (Cross-Origin Resource Sharing)-Header für die Antwort erzeugt. Weitere Informationen finden Sie unter CORS-Unterstützung für die Speicherdienste . |
x-ms-client-request-id |
Optional. Stellt einen vom Client generierten, undurchsichtigen Wert mit einem Zeichenlimit von 1 Kibibyte (KiB) bereit, der beim Konfigurieren der Protokollierung in den Protokollen aufgezeichnet wird. Es wird dringend empfohlen, diesen Header zu verwenden, um clientseitige Aktivitäten mit Anforderungen zu korrelieren, die der Server empfängt. Weitere Informationen finden Sie unter Überwachen Azure Files. |
Anforderungstext
Keine.
Beispiel für eine Anforderung
Die folgende Beispielanforderung zeigt, wie eine Lease abgerufen wird:
Request Syntax:
PUT https://myaccount.file.core.windows.net/myshare?restype=share&comp=lease HTTP/1.1
Request Headers:
x-ms-version: 2020-02-10
x-ms-lease-action: acquire
x-ms-lease-duration: -1
x-ms-proposed-lease-id: 1f812371-a41d-49e6-b123-f4b542e851c5
x-ms-date: Thu, 26 Jan 2012 23:30:18 GMT
Authorization: SharedKey testaccount1:esSKMOYdK4o+nGTuTyeOLBI+xqnqi6aBmiW4XI699+o=
Antwort
Die Antwort enthält den HTTP-Statuscode und einen Satz von Antwortheadern.
Statuscode
Die für Leasevorgänge zurückgegebenen Codes für den Erfolgsstatus lauten wie folgt:
-
Acquire
: Bei einem erfolgreichen Vorgang wird der Statuscode 201 (Erstellt) zurückgegeben. -
Renew
: Bei einem erfolgreichen Vorgang wird der Statuscode 200 (OK) zurückgegeben. -
Change
: Bei einem erfolgreichen Vorgang wird der Statuscode 200 (OK) zurückgegeben. -
Release
: Bei einem erfolgreichen Vorgang wird der Statuscode 200 (OK) zurückgegeben. -
Break
: Ein erfolgreicher Vorgang gibt den Statuscode 202 (Akzeptiert) zurück.
Informationen zu status Codes finden Sie unter Status- und Fehlercodes.
Antwortheader
Die Antwort für diesen Vorgang umfasst die folgenden Header. Die Antwort kann auch zusätzliche HTTP-Standardheader enthalten. Alle Standardheader entsprechen der HTTP/1.1-Protokollspezifikation.
Syntax | BESCHREIBUNG |
---|---|
ETag |
Der ETag für die Dateifreigabe. |
Last-Modified |
Gibt das Datum und die Uhrzeit der letzten Änderung der Dateifreigabe zurück. Weitere Informationen finden Sie unter Darstellung von Datums-Uhrzeit-Werten in Headern. Jeder Vorgang, der die Dateifreigabe oder deren Eigenschaften oder Metadaten ändert, aktualisiert den Zeitpunkt der letzten Änderung. Dies schließt das Festlegen der Berechtigungen für die Dateifreigabe ein. Vorgänge für Blobs wirken sich nicht auf den Zeitpunkt der letzten Änderung der Dateifreigabe aus. |
x-ms-lease-id: <id> |
Wenn Sie eine Lease anfordern, gibt Azure Files eine eindeutige Lease-ID zurück. Während die Lease aktiv ist, müssen Sie die Lease-ID bei jeder Anforderung zum Löschen der Dateifreigabe oder zum Verlängern, Ändern oder Freigeben der Lease einschließen. Bei einem erfolgreichen Verlängerungsvorgang wird auch die Lease-ID für die aktive Lease zurückgegeben. |
x-ms-lease-time: seconds |
Die geschätzte verbleibende Zeit der Leasedauer in Sekunden. Dieser Header wird nur bei einer erfolgreichen Anforderung zur Unterbrechung der Lease zurückgegeben. Wenn der Umbruch sofort erfolgt, 0 wird zurückgegeben. |
x-ms-request-id |
Identifiziert eindeutig die Anforderung, die gestellt wurde, und kann für die Problembehandlung der Anforderung verwendet werden. Weitere Informationen finden Sie unter Problembehandlung für API-Vorgänge. |
x-ms-version |
Gibt die Version der FileREST-API an, die zum Ausführen der Anforderung verwendet wird. |
Date |
Ein UTC-Datums-/Uhrzeitwert, der die Uhrzeit angibt, zu der die Antwort initiiert wurde. Der Dienst generiert diesen Wert. |
Access-Control-Allow-Origin |
Wird zurückgegeben, wenn die Anforderung einen Origin Header enthält und CORS mit einer übereinstimmenden Regel aktiviert ist. Dieser Header gibt den Wert des Origin-Anforderungsheaders im Falle einer Übereinstimmung zurück. |
Access-Control-Expose-Headers |
Wird zurückgegeben, wenn die Anforderung einen Origin Header enthält und CORS mit einer übereinstimmenden Regel aktiviert ist. Gibt die Liste der Antwortheader zurück, die gegenüber dem Client oder Aussteller der Anforderung verfügbar gemacht werden sollen. |
Access-Control-Allow-Credentials |
Wird zurückgegeben, wenn die Anforderung einen Origin Header enthält und CORS mit einer übereinstimmenden Regel aktiviert ist, die nicht alle Ursprünge zulässt. Dieser Header ist auf true festgelegt. |
x-ms-client-request-id |
Kann verwendet werden, um Anforderungen und entsprechende Antworten zu behandeln. Der Wert dieses Headers entspricht dem Wert des x-ms-client-request-id Headers, wenn er in der Anforderung vorhanden ist. Der Wert ist höchstens 1.024 sichtbare ASCII-Zeichen. Wenn der x-ms-client-request-id Header in der Anforderung nicht vorhanden ist, ist er in der Antwort nicht vorhanden. |
Antworttext
Keine.
Beispiel für eine Antwort
Im Folgenden finden Sie eine Beispielantwort für eine Anforderung zum Abrufen einer Lease:
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: 2020-02-10
x-ms-lease-id: 1f812371-a41d-49e6-b123-f4b542e851c5
Date: Thu, 26 Jan 2012 23:30:18 GMT
Authorization
Nur der Kontobesitzer kann diesen Vorgang aufrufen.
Hinweise
Eine Lease für eine Dateifreigabe bietet exklusiven Löschzugriff auf die Dateifreigabe. Vorgänge zum Abrufen von Dateifreigaben werden auf einer leaseten Dateifreigabe erfolgreich ausgeführt, ohne die Lease-ID einzugeben. Festlegen von Dateifreigabevorgängen erfordert die Lease-ID der Dateifreigabe. Wenn die Lease-ID in festgelegten Dateifreigabevorgängen nicht enthalten ist, schlägt der Vorgang mit 412 (Vorbedingung fehlgeschlagen) fehl. Die Lease wird für die Dauer gewährt, die beim Erwerb der Lease angegeben wird, die zwischen 15 und 60 Sekunden oder eine unendliche Dauer betragen kann.
Wenn ein Client eine Lease abruft, wird eine Lease-ID zurückgegeben. Azure Files generiert eine Lease-ID, wenn sie in der Acquire-Anforderung nicht angegeben ist. Der Client kann diese Lease-ID verwenden, um die Lease zu verlängern, seine Lease-ID zu ändern oder die Lease zu freigeben. Im folgenden Diagramm werden die fünf Statusangaben einer Lease sowie die Befehle oder Ereignisse gezeigt, die Leasestatusänderungen verursachen.
Eine Lease kann sich in einem dieser Zustände befinden, je nachdem, ob die Lease gesperrt oder entsperrt ist und ob die Lease in diesem Zustand verlängerbar ist. Die im vorherigen Diagramm dargestellten Leaseaktionen führen zu Zustandsübergängen.
Verlängerung status | Gesperrte Lease | Entsperrte Lease |
---|---|---|
Leasing für erneuerbare Energien | Geleast | Abgelaufen |
Nicht erneuerbare Mietverträge | Breaking | Unterbrochen, verfügbar |
-
Available
: Die Lease wird entsperrt und kann abgerufen werden. Zulässige Aktion:acquire
. -
Leased
: Die Lease wird gesperrt. Zulässige Aktionen:acquire
(nur dieselbe Lease-ID),renew
,change
,release
undbreak
. -
Expired
: Die Leasedauer ist abgelaufen. Zulässige Aktionen:acquire
,renew
,release
undbreak
. -
Breaking
, wurde die Lease unterbrochen, aber die Lease wird weiterhin gesperrt, bis der Pausenzeitraum abgelaufen ist. Zulässige Aktionen:release
undbreak
. -
Broken
, die Lease wurde unterbrochen, und der Pausenzeitraum ist abgelaufen. Zulässige Aktionen:acquire
,release
undbreak
.
Azure Files behält die Lease-ID bei, nachdem eine Dateifreigabeleasase abgelaufen ist. Ein Client kann die Lease mithilfe seiner abgelaufenen Lease-ID verlängern oder freigeben. Wenn der Client versucht, eine abgelaufene Lease mit der vorherigen Lease-ID zu verlängern oder freizugeben, und die Anforderung schlägt fehl, bedeutet dies, dass die Dateifreigabe erneut geleast oder gelöscht wurde, da ihre Lease zuletzt aktiv war. Wenn eine Lease abläuft und nicht explizit freigegeben wird, muss ein Client möglicherweise bis zu einer Minute warten, bis eine neue Lease für die Dateifreigabe erworben werden kann. Der Client kann jedoch die Lease mit der abgelaufenen Lease-ID sofort verlängern.
Die Eigenschaft der Last-Modified-Time
Dateifreigabe wird nicht durch Aufrufe von Lease Share
aktualisiert.
In den folgenden Tabellen werden die Ergebnisse von Aktionen für Container mit Leases in verschiedenen Leasestatus aufgelistet. Buchstaben (A), (B) und (C) stellen Lease-IDs dar, und (X) stellt eine von Azure Files generierte Lease-ID dar.
Ergebnisse von Nutzungsversuchen für Freigaben nach Leasestatus
Aktion | Verfügbar | Geleast (A) | Unterbrechen (A) | Unterbrochen (A) | Abgelaufen (A) |
---|---|---|---|---|---|
Löschen mit (A) | Fehler (412) | Geleast (A), Löschvorgang erfolgreich | Unterbrechen (A), Löschvorgang erfolgreich | Fehler (412) | Fehler (412) |
Löschen mit (B) | Fehler (412) | Fehler (409) | Fehler (412) | Fehler (412) | Fehler (412) |
Löschen, keine Lease angegeben | Verfügbar, Löschvorgang erfolgreich | Fehler (412) | Fehler (412) | Verfügbar, Löschvorgang erfolgreich | Verfügbar, Löschvorgang erfolgreich |
Andere Vorgänge mit (A) | Fehler (412) | Geleast (A), Vorgang erfolgreich | Unterbrechen (A), Vorgang erfolgreich | Fehler (412) | Fehler (412) |
Andere Vorgänge mit (B) | Fehler (412) | Fehler (409) | Fehler (409) | Fehler (412) | Fehler (412) |
Vorgänge, keine Lease angegeben | Verfügbar, Vorgang erfolgreich | Geleast (A), Vorgang erfolgreich | Unterbrechen (A), Vorgang erfolgreich | Unterbrochen (A), Vorgang erfolgreich | Abgelaufen (A), Vorgang erfolgreich |
Ergebnisse von Leasevorgängen für Aktien nach Leasestatus
Aktion | Verfügbar | Geleast (A) | Unterbrechen (A) | Unterbrochen (A) | Abgelaufen (A) |
---|---|---|---|---|---|
Acquire , keine vorgeschlagene Lease-ID |
Geleast (X) | Fehler (409) | Fehler (409) | Geleast (X) | Geleast (X) |
Acquire (A) |
Geleast (A) | Geleast (A), neue Dauer | Fehler (409) | Geleast (A) | Geleast (A) |
Acquire (B) |
Geleast (B) | Fehler (409) | Fehler (409) | Geleast (B) | Geleast (B) |
Break , Zeitraum=0 |
Fehler (409) | Unterbrochen (A) | Unterbrochen (A) | Unterbrochen (A) | Unterbrochen (A) |
Break , Punkt>0 |
Fehler (409) | Unterbrechen (A) | Unterbrechen (A) | Unterbrochen (A) | Unterbrochen (A) |
Change , (A) in (B) |
Fehler (409) | Geleast (B) | Fehler (409) | Fehler (409) | Fehler (409) |
Change , (B) in (A) |
Fehler (409) | Geleast (A) | Fehler (409) | Fehler (409) | Fehler (409) |
Change , (B) in (C) |
Fehler (409) | Fehler (409) | Fehler (409) | Fehler (409) | Fehler (409) |
Renew (A) |
Fehler (409) | Geleast (A), Ablaufdauer zurückgesetzt | Fehler (409) | Fehler (409) | Geleast (A) |
Renew (B) |
Fehler (409) | Fehler (409) | Fehler (409) | Fehler (409) | Fehler (409) |
Release (A) |
Fehler (409) | Verfügbar | Verfügbar | Verfügbar | Verfügbar |
Release (B) |
Fehler (409) | Fehler (409) | Fehler (409) | Fehler (409) | Fehler (409) |
Dauer läuft ab | Verfügbar | Abgelaufen (A) | Unterbrochen (A) | Unterbrochen (A) | Abgelaufen (A) |