Kira Dosyası
Lease File
işlemi, yazma ve silme işlemleri için bir dosya üzerinde kilit oluşturur ve yönetir.
Lease File
sürüm 2019-02-02 ve üzeri için desteklenir.
aşağıdaki modlardan birinde Lease File
işlemini çağırabilirsiniz:
-
Acquire
. - mevcut kiranın kimliğini değiştirmek için
Change
. -
Release
, artık gerekli değilse kirayı serbest bırakır, böylece başka bir istemci dosyaya karşı hemen bir kira alabilir. -
Break
, kirayı zorla sonlandırmak, ancak geçerli kiralama süresi dolana kadar başka bir istemcinin yeni kira alamamasını sağlamak için.
Protokol kullanılabilirliği
Etkin dosya paylaşımı protokolü | Mevcut |
---|---|
SMB |
![]() |
NFS |
![]() |
İstek
Lease File
isteği aşağıdaki gibi oluşturulur. HTTPS kullanmanızı öneririz.
Yöntem | İstek URI'si | HTTP sürümü |
---|---|---|
KOYMAK | https://myaccount.file.core.windows.net/myshare/mydirectory/myfile?comp=lease |
HTTP/1.1 |
İstek URI'sinde gösterilen yol bileşenlerini aşağıdaki gibi kendinizle değiştirin:
Yol bileşeni | Açıklama |
---|---|
myaccount |
Depolama hesabınızın adı. |
myshare |
Dosya paylaşımınızın adı. |
mydirectorypath |
Opsiyonel. Dizinin yolu. |
myfile |
Dosyanın adı. |
URI parametreleri
İstek URI'sinde aşağıdaki ek parametreyi belirtebilirsiniz.
Parametre | Açıklama |
---|---|
timeout |
Opsiyonel.
timeout parametresi saniye cinsinden ifade edilir. Daha fazla bilgi için bkz. Azure Dosyalar işlemleri için zaman aşımlarını ayarlama. |
İstek üst bilgileri
Aşağıdaki tabloda gerekli ve isteğe bağlı istek üst bilgileri açıklanmaktadır.
İstek üst bilgisi | Açıklama |
---|---|
Authorization |
Gerekli. Yetkilendirme düzenini, hesap adını ve imzayı belirtir. Daha fazla bilgi için bkz. azure depolama istekleri yetkilendirme. |
Date veya x-ms-date |
Gerekli. İstek için Eşgüdümlü Evrensel Saati (UTC) belirtir. Daha fazla bilgi için bkz. azure depolama istekleri yetkilendirme. |
x-ms-version |
Opsiyonel. Bu istek için kullanılacak işlemin sürümünü belirtir. Daha fazla bilgi için bkz. Azure Depolama hizmetleri için sürüm oluşturma. |
x-ms-lease-id:<ID> |
Kirayı yenilemek, değiştirmek veya serbest bırakmak için gereklidir.x-ms-lease-id değerini geçerli, GUID dize biçiminde belirtebilirsiniz. Geçerli biçimlerin listesi için bkz. Guid Oluşturucu (Dize). |
x-ms-lease-action: <acquire ¦ change ¦ release ¦ break> |
acquire : Yeni bir kiralama isteğinde bulunur. Dosyanın etkin bir kirası yoksa, Azure Dosyalar dosya üzerinde bir kira oluşturur ve yeni bir kira kimliği döndürür. Dosyanın etkin bir kirası varsa, yalnızca etkin kira kimliğini kullanarak yeni kiralama isteyebilirsiniz.change : Etkin bir kiranın kira kimliğini değiştirir. bir change x-ms-lease-id geçerli kira kimliğini ve x-ms-proposed-lease-id içinde yeni bir kira kimliğini içermelidir.release : Kirayı serbest bırakır. İstekte belirtilen kira kimliği dosyayla ilişkiliyle eşleşiyorsa kirayı serbest bırakabilirsiniz. Kiranın serbest bırakılması, yayın tamamlandıktan hemen sonra başka bir istemcinin dosyanın kirasını hemen almasını sağlar.break : Dosyanın etkin bir kirası varsa kirayı bozar. Herhangi bir yetkili istek kirayı bozabilir. eşleşen bir kira kimliği belirtmek için istek gerekli değildir. Sonsuz kiralama hemen bozulur. |
x-ms-lease-duration: -1 |
Yalnızca bir acquire işleminde izin verilir ve gereklidir. Süresi hiç dolmamış bir kirayı belirtmek için -1 olması gerekir. |
x-ms-proposed-lease-id: <ID> |
acquire için isteğe bağlı ve change için gereklidir. Guid dizesi biçiminde önerilen kira kimliği. Önerilen kira kimliği doğru biçimde değilse Azure Dosyalar 400 (Invalid request) döndürür. Geçerli biçimlerin listesi için bkz. Guid Oluşturucu (Dize). |
x-ms-client-request-id |
Opsiyonel. Günlüğe kaydetme yapılandırıldığında günlüklere kaydedilen 1 kibibayt (KiB) karakter sınırıyla istemci tarafından oluşturulan, opak bir değer sağlar. İstemci tarafı etkinlikleriyle sunucunun aldığı istekler arasında bağıntı sağlamak için bu üst bilgiyi kullanmanızı kesinlikle öneririz. Daha fazla bilgi için bkz. azure dosyaları izleme. |
x-ms-file-request-intent |
Authorization üst bilgisi bir OAuth belirteci belirtiyorsa gereklidir. Kabul edilebilir değer backup . Bu üst bilgi, Microsoft.Storage/storageAccounts/fileServices/readFileBackupSemantics/action veya Microsoft.Storage/storageAccounts/fileServices/writeFileBackupSemantics/action , Authorization üst bilgisi kullanılarak yetkilendirilmiş kimliğe atanan RBAC ilkesine eklenmişse verilmesi gerektiğini belirtir. Sürüm 2022-11-02 ve üzeri için kullanılabilir. |
x-ms-allow-trailing-dot: { <Boolean> } |
Opsiyonel. Sürüm 2022-11-02 ve üzeri. Boole değeri, istek URL'sinde bulunan sondaki bir noktanın kırpılıp kırpılmaması gerektiğini belirtir. Daha fazla bilgi için bkz. Paylaşımları, dizinleri, dosyaları ve meta verileriadlandırma ve başvurma. |
İstek gövdesi
Hiç kimse.
Örnek istek
Aşağıdaki örnek istekte kira alma işlemi gösterilmektedir:
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=
Yanıt
Yanıt bir HTTP durum kodu ve bir dizi yanıt üst bilgisi içerir.
Durum kodu
Kiralama işlemleri için döndürülen başarı durum kodları şunlardır:
-
Acquire
: Başarılı bir işlem 201 (Oluşturuldu) durum kodunu döndürür. -
Change
: Başarılı bir işlem 200 durum kodunu döndürür (Tamam). -
Release
: Başarılı bir işlem 200 durum kodunu döndürür (Tamam). -
Break
: Başarılı bir işlem 202 (Kabul Edildi) durum kodunu döndürür.
Durum kodları hakkında bilgi için bkz. Durum ve hata kodları.
Yanıt üst bilgileri
Bu işlemin yanıtı aşağıdaki tabloda yer alan üst bilgileri içerir. Yanıt, ek standart HTTP üst bilgileri de içerebilir. Tüm standart üst bilgiler HTTP/1.1 protokol belirtimine uygundur.
Yanıt üst bilgisi | Açıklama |
---|---|
ETag |
İşlemleri koşullu olarak, tırnak içinde gerçekleştirmek için kullanabileceğiniz bir değer içerir.
Lease File işlemi bu özelliği değiştirmez. |
Last-Modified |
Dosyanın son değiştirildiği tarih/saat. Daha fazla bilgi için bkz. üst bilgilerde tarih-saat değerlerinin gösterimi. Dosyanın meta verileri veya özelliklerindeki güncelleştirmeler de dahil olmak üzere dosyadaki herhangi bir yazma işlemi, dosyanın son değiştirme zamanını değiştirir. Lease File işlemi bu özelliği değiştirmez. |
x-ms-lease-id:<ID> |
Kiralama isteğinde bulunursanız Azure Dosyalar benzersiz bir kira kimliği döndürür. Kira etkinken, dosyaya yazma veya kiralamayı değiştirme ya da serbest bırakma isteğine kira kimliğini eklemeniz gerekir. Başarılı bir yenileme işlemi, etkin kiranın kira kimliğini de döndürür. |
x-ms-lease-time: seconds |
Yalnızca kiralamayı bozmaya yönelik başarılı bir istek için döndürüldü.
0 anlık molalar için döndürülür. |
x-ms-request-id |
Yapılan isteği benzersiz olarak tanımlar ve istek sorunlarını gidermek için kullanılabilir. Daha fazla bilgi için bkz. API işlemleriyle ilgili sorunları giderme. |
x-ms-version |
İsteği çalıştırmak için kullanılan Azure Dosyalar sürümünü gösterir. |
Date |
Yanıtın başlatıldığı saati gösteren UTC tarih/saat değeri. Hizmet bu değeri oluşturur. |
x-ms-client-request-id |
İsteklerde ve ilgili yanıtlarda sorun gidermek için kullanılabilir. bu üst bilginin değeri, istekte varsa x-ms-client-request-id üst bilgisinin değerine eşittir. Değer en fazla 1.024 görünür ASCII karakterdir. İstekte x-ms-client-request-id üst bilgisi yoksa yanıtta bulunmaz. |
Yanıt gövdesi
Hiç kimse.
Örnek yanıt
Kiralama alma isteği için örnek bir yanıt aşağıda verilmiştir:
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>
İzin
Bu işlemi yalnızca hesap sahibi çağırabilir.
Açıklamalar
Bir dosyadaki kiralama, dosyaya özel yazma ve silme erişimi sağlar. Etkin kiralaması olan bir dosyaya yazmak için, istemcinin yazma isteğine sahip etkin kira kimliğini içermesi gerekir. Kiralama sonsuz bir süre için verilir.
bir istemci kiralama aldığında, bir kira kimliği döndürülür. Azure Dosyalar, alma isteğinde belirtilmemişse bir kira kimliği oluşturur. İstemci, kira kimliğini değiştirmek veya kirayı serbest bırakmak için bu kira kimliğini kullanabilir.
Kira etkin olduğunda, kira kimliği aşağıdaki işlemlerden herhangi biri için isteğe dahil edilmelidir:
- dosya oluşturma
- Dosya Meta Verileri Ayarlama
- Dosya Özelliklerini Ayarla
- Dosya silme
- Aralığı Yerleştir
- Dosya Kopyalama (Hedef dosya için gereken Kira Kimliği.)
Kira kimliği dahil değilse, bu işlemler 412 – Precondition failed
ile kiralanan bir dosyada başarısız olur.
Kira kimliği dahil edilmeden kiralanan bir dosyada aşağıdaki işlemler başarılı olur:
- Dosya al
- dosya meta verileri alma
- Dosya Özelliklerini Al
- Liste Aralıklarını
- Liste Dizinlerini ve Dosyaları
- Dosya Kopyala (Kaynak dosya için kira kimliği gerekmez.)
-
Kira Dosyası (REST API) (
x-ms-lease-action: break
için kira kimliği gerekmez.)
Etkin kiralaması olan bir dosyaya GET işlemleri için kira kimliğinin eklenmesi gerekmez. Ancak, tüm GET işlemleri koşullu kiralama parametresini destekler. Bu parametre türünde, işlem yalnızca istekle birlikte gelen kira kimliği geçerliyse devam eder.
Paylaşımı Sildahil olmak üzere etkin kiraya sahip dosyaları içeren bir paylaşımda tüm paylaşım işlemlerine izin verilir. Bu nedenle, içindeki dosyaların etkin kiraları olsa bile paylaşımı silebilirsiniz.
Kira durumları
Aşağıdaki diyagramda kiralamanın üç durumu ve kiralama durumu değişikliklerine neden olan komutlar veya olaylar gösterilmektedir.
Dosya kiralama durumlarını ve durum değişikliği tetikleyicilerini gösteren
Kiralama, kiralamanın kilitlenip kilitlenmediğine ve bu durumda kiranın yenilenebilir olup olmadığına bağlı olarak üç durumda olabilir. Önceki diyagramda gösterilen kiralama eylemleri durum geçişlerine neden olur.
-
Available
: Kira kilidi açık ve edinilebilir. İzin verilen eylem:acquire
. -
Leased
: Kira kilitli. İzin verilen eylemler:acquire
(yalnızca aynı kira kimliği),change
,release
vebreak
. -
Broken
: Kira bozulmuş. İzin verilen eylemler:acquire
,release
vebreak
.
Anlık görüntüler salt okunur olduğundan, paylaşım anlık görüntüsündeki bir dosya için kira verilemediğine dikkat edin. Paylaşım anlık görüntüsündeki bir dosyaya kiralama isteğinde bulunarak durum kodu 400 (Hatalı İstek) olur.
Dosya kirası bozuk durumundaysa ve dosyaya Bir Aralık Koy işlemi yazarsa, kira durumu kullanılabilir olarak değişir. Ancak, dosya salt okunur öznitelik kümesine sahipse, sunucu çakışma 409 döndürür.
Dosyanın Last-Modified-Time
özelliği Lease File
çağrıları tarafından güncelleştirilmez.
Aşağıdaki tablolarda, çeşitli kira durumlarında kiraları olan dosyalardaki eylemlerin sonuçları gösterilmektedir. Harfler (A), (B) ve (C) kira kimliklerini, (X) ise Azure Dosyalar tarafından oluşturulan kira kimliğini temsil eder.
Kira durumuna göre dosyalarda kullanım denemelerinin sonuçları
Eylem | Mevcut | Kiralanan (A) | Bozuk (A) |
---|---|---|---|
(A) kullanarak yazma | Başarısız Oluyor (412) | Kiralanan (A), yazma başarılı olur | Başarısız Oluyor (412) |
(B) kullanarak yazma | Başarısız Oluyor (412) | Başarısız Oluyor (409) | Başarısız Oluyor (412) |
Yazma, kiralama belirtilmedi | Kullanılabilir, yazma başarılı olur | Başarısız Oluyor (412) | Kullanılabilir, yazma başarılı olur |
(A) kullanarak okuma | Başarısız Oluyor (412) | Kiralanan (A), okuma başarılı olur | Başarısız Oluyor (412) |
(B) kullanarak okuma | Başarısız Oluyor (412) | Başarısız Oluyor (409) | Başarısız Oluyor (412) |
Okuma, kiralama belirtilmedi | Kullanılabilir, okuma başarılı olur | Kiralanan (A), okuma başarılı olur | Bozuk (A), okuma başarılı |
Dosyalardaki kiralama işlemlerinin kira durumuna göre sonuçları
Eylem | Mevcut | Kiralanan (A) | Bozuk (A) |
---|---|---|---|
Acquire , önerilen kira kimliği yok |
Kiralanan (X) | Başarısız Oluyor (409) | Kiralanan (X) |
Acquire (A) |
Kiralanan (A) | Kiralanan (A) | Kiralanan (A) |
Acquire (B) |
Kiralanan (B) | Başarısız Oluyor (409) | Kiralanan (B) |
Break |
Başarısız Oluyor (409) | Bozuk (A) | Bozuk (A) |
Change , (A) - (B) |
Başarısız Oluyor (409) | Kiralanan (B) | Başarısız Oluyor (409) |
Change , (B) - (A) |
Başarısız Oluyor (409) | Kiralanan (A) | Başarısız Oluyor (409) |
Change , (B) - (C) |
Başarısız Oluyor (409) | Başarısız Oluyor (409) | Başarısız Oluyor (409) |
Release (A) |
Başarısız Oluyor (409) | Mevcut | Mevcut |
Release (B) |
Başarısız Oluyor (409) | Başarısız Oluyor (409) | Başarısız Oluyor (409) |
Ayrıca bkz.
- Dosyalarda İşlemleri
- azure depolama istekleri yetkilendirmeyi
- Durumu ve hata kodları
- Azure Dosyalar hata kodlarını