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

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 durationangeben, 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-idund eine neue Lease-ID in x-ms-proposed-lease-identhalten.

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 changegeändert werden.
x-ms-proposed-lease-id: <ID> Optional für acquireund 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 truefestgelegt.
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.

Diagramm der Leasezustände von Dateifreigaben und Zustandsänderungstriggern.

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 und break.
  • Expired: Die Leasedauer ist abgelaufen. Zulässige Aktionen: acquire, renew, release und break.
  • Breaking, wurde die Lease unterbrochen, aber die Lease wird weiterhin gesperrt, bis der Pausenzeitraum abgelaufen ist. Zulässige Aktionen: release und break.
  • Broken, die Lease wurde unterbrochen, und der Pausenzeitraum ist abgelaufen. Zulässige Aktionen: acquire, release und break.

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 Shareaktualisiert.

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)