Bérletfájl
A Lease File
művelet létrehoz és kezel egy zárolást egy fájlon az írási és törlési műveletekhez.
Lease File
a 2019-02-02-es és újabb verziókban támogatott.
A műveletet az Lease File
alábbi módok egyikével hívhatja meg:
-
Acquire
, hogy új bérletet kérjen. -
Change
elemet egy meglévő bérlet azonosítójának módosításához. -
Release
, hogy felszabadítsa a bérletet, ha már nincs rá szükség, hogy egy másik ügyfél azonnal megszerezhesse a bérletet a fájlhoz. -
Break
, ha kényszerítve szeretné megszüntetni a bérletet, de győződjön meg arról, hogy egy másik ügyfél csak az aktuális bérletidőszak lejárta után szerezhet új bérletet.
Protokoll rendelkezésre állása
Engedélyezett fájlmegosztási protokoll | Elérhető |
---|---|
SMB |
![]() |
NFS |
![]() |
Kérés
A kérést a Lease File
következőképpen hozhatja létre. A HTTPS használata ajánlott.
Metódus | Kérés URI-ja | HTTP-verzió |
---|---|---|
Put |
https://myaccount.file.core.windows.net/myshare/mydirectory/myfile?comp=lease |
HTTP/1.1 |
Cserélje le a kérelem URI-jában látható elérésiút-összetevőket a sajátjára az alábbiak szerint:
Elérésiút-összetevő | Description |
---|---|
myaccount |
A tárfiók neve. |
myshare |
A fájlmegosztás neve. |
mydirectorypath |
Választható. A könyvtár elérési útja. |
myfile |
A fájl neve. |
URI-paraméterek
A kérelem URI-ja a következő további paramétert adhatja meg.
Paraméter | Leírás |
---|---|
timeout |
Választható. A timeout paraméter másodpercben van kifejezve. További információ: Időtúllépések beállítása Azure Files műveletekhez. |
Kérésfejlécek
Az alábbi táblázat a szükséges és nem kötelező kérelemfejléceket ismerteti.
Kérelem fejléce | Leírás |
---|---|
Authorization |
Kötelező. Megadja az engedélyezési sémát, a fióknevet és az aláírást. További információ: Kérések engedélyezése az Azure Storage-ba. |
Date vagy x-ms-date |
Kötelező. Megadja a kérés egyezményes világidő (UTC) formátumban kifejezett időpontját. További információ: Kérések engedélyezése az Azure Storage-ba. |
x-ms-version |
Választható. A kérelemhez használni kívánt művelet verzióját adja meg. További információ: Az Azure Storage-szolgáltatások verziószámozása. |
x-ms-lease-id: <ID> |
A bérlet megújításához, módosításához vagy kiadásához szükséges. Az értéket x-ms-lease-id bármilyen érvényes GUID sztringformátumban megadhatja. Az érvényes formátumok listáját lásd: Guid Constructor (Sztring). |
x-ms-lease-action: <acquire ¦ change ¦ release ¦ break> |
acquire : Új bérletet kér. Ha a fájl nem rendelkezik aktív bérletekkel, Azure Files létrehoz egy bérletet a fájlban, és egy új bérletazonosítót ad vissza. Ha a fájl aktív bérletet használ, csak az aktív bérletazonosító használatával kérhet új bérletet.change : Módosítja egy aktív bérlet bérletazonosítóját. A-nek change tartalmaznia kell az aktuális bérletazonosítót a fájlban x-ms-lease-id , és egy új bérletazonosítót a fájlban x-ms-proposed-lease-id .release : Felszabadítja a bérletet. Felszabadíthatja a bérletet, ha a kérelemben megadott bérletazonosító megegyezik a fájlhoz társított bérletazonosítóval. A bérlet felszabadítása lehetővé teszi, hogy egy másik ügyfél azonnal megszerezze a fájl bérletét, amint a kiadás befejeződött.break : Megszakítja a bérletet, ha a fájl aktív bérletet kapott. Bármely engedélyezett kérelem megszakíthatja a bérletet. A kérelem nem szükséges egyező bérletazonosító megadásához. A végtelen bérlet azonnal megszakad. |
x-ms-lease-duration: -1 |
Csak egy acquire műveleten engedélyezett és kötelező. A ,-nak kell lennie -1 ahhoz, hogy olyan bérletet jelöljön, amely soha nem jár le. |
x-ms-proposed-lease-id: <ID> |
Nem kötelező a , acquire és kötelező a számára change . Javasolt bérletazonosító GUID sztringformátumban. Azure Files visszaadja400 (Invalid request) , ha a javasolt bérletazonosító nem a megfelelő formátumban van. Az érvényes formátumok listáját lásd: Guid Constructor (Sztring). |
x-ms-client-request-id |
Választható. Ügyfél által generált, átlátszatlan értéket biztosít egy 1 kib-os (KiB) karakterkorláttal, amelyet a naplózás konfigurálásakor rögzít a naplókban. Javasoljuk, hogy ezt a fejlécet használva korrelálja az ügyféloldali tevékenységeket a kiszolgáló által kapott kérésekkel. További információ: Monitorozási Azure Files. |
x-ms-file-request-intent |
Kötelező, ha Authorization a fejléc OAuth-jogkivonatot ad meg. Elfogadható érték: backup . Ez a fejléc azt határozza meg, hogy a Microsoft.Storage/storageAccounts/fileServices/readFileBackupSemantics/action vagy Microsoft.Storage/storageAccounts/fileServices/writeFileBackupSemantics/action meg kell adni, ha szerepelnek a fejléc használatával Authorization engedélyezett identitáshoz rendelt RBAC-szabályzatban. A 2022-11-02-es és újabb verziókhoz érhető el. |
x-ms-allow-trailing-dot: { <Boolean> } |
Választható. 2022-11-02-es és újabb verzió. A logikai érték azt határozza meg, hogy a kérelem URL-címében található záró pont legyen-e levágva vagy sem. További információ: Megosztások, könyvtárak, fájlok és metaadatok elnevezése és hivatkozása. |
A kérés törzse
Nincsenek.
Mintakérés
Az alábbi mintakérés bemutatja, hogyan szerezhet be bérletet:
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 testaccount1:esSKMOYdK4o+nGTuTyeOLBI+xqnqi6aBmiW4XI699+o=
Reagálás
A válasz tartalmaz egy HTTP-állapotkódot és egy válaszfejléceket.
Állapotkód
A bérletműveletek sikerességi állapotkódjai a következők:
-
Acquire
: A sikeres művelet a 201-ben létrehozott állapotkódot adja vissza. -
Change
: A sikeres művelet a 200-ra (OK) vonatkozó állapotkódot adja vissza. -
Release
: A sikeres művelet a 200-ra (OK) vonatkozó állapotkódot adja vissza. -
Break
: A sikeres művelet a 202-s állapotkódot adja vissza (Elfogadva).
Az állapotkódokkal kapcsolatos információkért lásd: Állapot- és hibakódok.
Válaszfejlécek
A műveletre adott válasz a következő fejléceket tartalmazza. A válasz további szabványos HTTP-fejléceket is tartalmazhat. Minden szabványos fejléc megfelel a HTTP/1.1 protokoll specifikációjának.
Syntax | Description |
---|---|
ETag |
Olyan értéket tartalmaz, amellyel feltételesen hajthat végre műveleteket idézőjelekben. A Lease File művelet nem módosítja ezt a tulajdonságot. |
Last-Modified |
A fájl utolsó módosításának dátuma/időpontja. További információ: Dátum-idő értékek ábrázolása fejlécekben. A fájl írási művelete , beleértve a fájl metaadatainak vagy tulajdonságainak frissítését is, megváltoztatja a fájl utolsó módosítási időpontját. A Lease File művelet nem módosítja ezt a tulajdonságot. |
x-ms-lease-id: <id> |
Amikor bérletet kér, Azure Files egy egyedi bérletazonosítót ad vissza. Amíg a bérlet aktív, meg kell adnia a bérletazonosítót a fájlba való írásra, illetve a bérlet módosítására vagy kiadására vonatkozó kérésekkel. A sikeres megújítási művelet az aktív bérlet bérletazonosítóját is visszaadja. |
x-ms-lease-time: seconds |
Csak a bérlet megszakítására irányuló sikeres kérelem esetén ad vissza.
0 a függvény azonnali szünetek esetén adja vissza. |
x-ms-request-id |
Egyedileg azonosítja a végrehajtott kérést, és a kérés hibaelhárításához használható. További információ: API-műveletek hibaelhárítása. |
x-ms-version |
A kérés futtatásához használt Azure Files verzióját jelzi. |
Date |
Utc dátum/idő érték, amely a válasz indításának időpontját jelzi. A szolgáltatás létrehozza ezt az értéket. |
x-ms-client-request-id |
A kérések és a kapcsolódó válaszok hibaelhárítására használható. A fejléc értéke megegyezik a fejléc értékével x-ms-client-request-id , ha az szerepel a kérelemben. Az érték legfeljebb 1024 látható ASCII-karakter lehet. Ha a x-ms-client-request-id fejléc nem szerepel a kérelemben, az nem jelenik meg a válaszban. |
Választörzs
Nincsenek.
Mintaválasz
Az alábbiakban egy mintaválaszt ad vissza egy bérlet beszerzésére irányuló kérelemhez:
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>
Engedélyezés
A fióktulajdonos meghívhatja ezt a műveletet. Emellett minden olyan ügyfél, amely rendelkezik megosztott hozzáférési aláírással, és rendelkezik engedéllyel a fájlhoz vagy a megosztáshoz való íráshoz, megteheti ezt.
Megjegyzések
A fájl bérlete kizárólagos írási és törlési hozzáférést biztosít a fájlhoz. Ha aktív bérlettel rendelkező fájlba szeretne írni, az ügyfélnek tartalmaznia kell az aktív bérlet azonosítóját az írási kérelemmel. A bérlet végtelen időtartamra van megadva.
Amikor egy ügyfél bérletet szerez, a bérletazonosító lesz visszaadva. Azure Files létrehoz egy bérletazonosítót, ha nincs megadva a beolvasási kérelemben. Az ügyfél ezzel a bérletazonosítóval módosíthatja a bérletazonosítóját, vagy felszabadíthatja a bérletet.
Ha egy bérlet aktív, a bérletazonosítót a következő műveletek bármelyikének kérésében szerepelnie kell:
- Fájl létrehozása
- Fájl metaadatainak beállítása
- Fájltulajdonságok beállítása
- Fájl törlése
- Tartomány elhelyezése
- Fájl másolása (a célfájlhoz szükséges bérletazonosító.)
Ha a bérletazonosító nem szerepel a fájlban, ezek a műveletek egy bérelt fájlban meghiúsulnak a következővel 412 – Precondition failed
: .
A következő műveletek sikeresek egy bérelt fájlon a bérletazonosító nélkül:
- Fájl lekérése
- Fájl metaadatainak lekérése
- Fájltulajdonságok lekérése
- Listatartományok
- Címtárak és fájlok listázása
- Fájl másolása (Nincs szükség bérletazonosítóra a forrásfájlhoz.)
-
Bérletfájl (REST API) (Nincs szükség bérletazonosítóra a
x-ms-lease-action: break
.)
Nem szükséges az aktív bérletet tartalmazó fájl műveleteinek GET
bérletazonosítóját megadni. Azonban minden GET
művelet támogatja a feltételes bérlet paraméterét. Ebben a paramétertípusban a művelet csak akkor folytatódik, ha a kérelemben szereplő bérletazonosító érvényes.
Minden megosztási művelet engedélyezett olyan megosztáson, amely aktív bérlettel rendelkező fájlokat is tartalmaz, beleértve a Megosztás törlése lehetőséget is. Ezért akkor is törölheti a megosztásokat, ha a benne lévő fájlok aktív bérletekkel rendelkeznek.
Bérletállapotok
Az alábbi diagram egy bérlet három állapotát, valamint a bérletállapot-módosításokat okozó parancsokat vagy eseményeket mutatja be.
A bérlet három államban lehet, attól függően, hogy a bérlet zárolva vagy feloldva van-e, és hogy a bérlet megújítható-e ebben az állapotban. Az előző ábrán látható bérletműveletek állapotváltásokat okoznak.
-
Available
: A bérlet feloldva van, és megszerezhető. Engedélyezett művelet:acquire
. -
Leased
: A bérlet zárolva van. Engedélyezett műveletek:acquire
(csak ugyanaz a bérletazonosító),change
,release
, ésbreak
. -
Broken
: A bérlet megszakadt. Engedélyezett műveletek:acquire
,release
, ésbreak
.
Vegye figyelembe, hogy a megosztási pillanatképekben lévő fájlokhoz nem adható bérlet, mert a pillanatképek írásvédettek. Ha bérletet kér egy fájlhoz egy megosztási pillanatképben, az 400-ás állapotkódot eredményez (hibás kérés).
Ha egy fájlbérlet Hibás állapotban van, és egy Put Range művelet ír a fájlba, a bérlet állapota Elérhetőre változik. Ha azonban a fájl írásvédett attribútumkészlettel rendelkezik, a kiszolgáló a 409-s ütközést adja vissza.
A fájl tulajdonsága Last-Modified-Time
nem frissül a következő hívásokkal: Lease File
.
Az alábbi táblázatok a különböző bérletállapotú bérletekkel rendelkező fájlokon végzett műveletek eredményeit mutatják be. Az A), (B) és (C) betűk a bérletazonosítókat, az (X) pedig a Azure Files által létrehozott bérletazonosítót jelölik.
A fájlok bérletállapot szerinti használati kísérleteinek eredményei
Művelet | Elérhető | Bérelt (A) | Hibás (A) |
---|---|---|---|
Írás az (A) használatával | Sikertelen (412) | Bérletes (A), az írás sikeres | Sikertelen (412) |
Írás a (B) használatával | Sikertelen (412) | Sikertelen (409) | Sikertelen (412) |
Írás, nincs megadva bérlet | Elérhető, az írás sikeres | Sikertelen (412) | Elérhető, az írás sikeres |
Olvasás az (A) használatával | Sikertelen (412) | Bérlet (A), olvasás sikeres | Sikertelen (412) |
Olvasás a (B) használatával | Sikertelen (412) | Sikertelen (409) | Sikertelen (412) |
Olvasás, nincs megadva bérlet | Elérhető, sikeres olvasás | Bérlet (A), olvasás sikeres | Hibás (A), olvasás sikeres |
Fájlok bérletállapot szerinti bérletműveleteinek eredményei
Művelet | Elérhető | Bérelt (A) | Hibás (A) |
---|---|---|---|
Acquire , nincs javasolt bérletazonosító |
Bérelt (X) | Sikertelen (409) | Bérelt (X) |
Acquire (A) |
Bérelt (A) | Bérelt (A) | Bérelt (A) |
Acquire (B) |
Bérelt (B) | Sikertelen (409) | Bérelt (B) |
Break |
Sikertelen (409) | Hibás (A) | Hibás (A) |
Change , (A) –B) |
Sikertelen (409) | Bérelt (B) | Sikertelen (409) |
Change , (B) –(A) |
Sikertelen (409) | Bérelt (A) | Sikertelen (409) |
Change , (B) –C) |
Sikertelen (409) | Sikertelen (409) | Sikertelen (409) |
Release (A) |
Sikertelen (409) | Elérhető | Elérhető |
Release (B) |
Sikertelen (409) | Sikertelen (409) | Sikertelen (409) |