Aracılığıyla paylaş


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 Evet
NFS Yok

İ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 changex-ms-lease-idgeçerli kira kimliğini ve x-ms-proposed-lease-idiç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 -1olması gerekir.
x-ms-proposed-lease-id: <ID> acquireiçin isteğe bağlı ve changeiç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:

Kira kimliği dahil değilse, bu işlemler 412 – Precondition failedile 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:

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 Diyagramı. FileLeaseStates

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, releaseve break.
  • Broken: Kira bozulmuş. İzin verilen eylemler: acquire, releaseve break.

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.