Share via


Kira Dosyası

İşlem, Lease File 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.

İşlemi aşağıdaki modlardan birinde çağırabilirsiniz Lease File :

  • Acquireögesini seçin.
  • Change, var olan bir kiranın kimliğini değiştirmek için.
  • 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 sona erdirmek, ancak geçerli kira 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ü Kullanılabilir
SMB Evet
NFS No

İstek

İsteği aşağıdaki gibi oluşturabilirsiniz Lease File . HTTPS önerilir.

Yöntem İstek URI'si HTTP sürümü
Put 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 Description
myaccount Depolama hesabınızın adı.
myshare Dosya paylaşımınızın adı.
mydirectorypath İsteğe bağlı. Dizinin yolu.
myfile Dosyanın adı.

URI parametreleri

İstek URI'sinde aşağıdaki ek parametreyi belirtebilirsiniz.

Parametre Açıklama
timeout İsteğe bağlı. 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 Gereklidir. Yetkilendirme düzenini, hesap adını ve imzayı belirtir. Daha fazla bilgi için bkz. Azure Depolama isteklerini yetkilendirme.
Date veya x-ms-date Gereklidir. İstek için Eşgüdümlü Evrensel Saat (UTC) biçimini belirtir. Daha fazla bilgi için bkz. Azure Depolama isteklerini yetkilendirme.
x-ms-version İsteğe bağlı. 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.

değerini x-ms-lease-id herhangi bir geçerli GUID dizesi 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 kira isteğinde bulunur. Dosyanın etkin kirası yoksa, Azure Dosyalar dosyada bir kira oluşturur ve yeni bir kira kimliği döndürür. Dosyanın etkin kirası varsa, yalnızca etkin kira kimliğini kullanarak yeni kiralama isteyebilirsiniz.

change: Etkin kiranın kira kimliğini değiştirir. , change içinde geçerli kira kimliğini ve içinde x-ms-lease-idyeni bir kira kimliğini x-ms-proposed-lease-idiç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ı keser. Herhangi bir yetkili istek kirayı bozabilir. İstek, eşleşen bir kira kimliği belirtmek için gerekli değildir. Sonsuz kiralama hemen bozulur.
x-ms-lease-duration: -1 Yalnızca bir acquire işlemde izin verilir ve gereklidir. Süresi hiç dolmamış bir kiralamayı belirtmek için olması -1gerekir.
x-ms-proposed-lease-id: <ID> için acquireisteğe bağlı ve için changegereklidir. GUID dizesi biçiminde önerilen kira kimliği. Azure Dosyalar, önerilen kira kimliği doğru biçimde değilse döndürür400 (Invalid request). Geçerli biçimlerin listesi için bkz. Guid Oluşturucu (Dize).
x-ms-client-request-id İsteğe bağlı. Günlüğe kaydetme yapılandırıldığında günlüklere kaydedilen 1 kibibaytlık (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. İzleme Azure Dosyalar.
x-ms-file-request-intent Üst bilgi bir OAuth belirteci belirtiyorsa Authorization gereklidir. Kabul edilebilir değer: backup. Bu üst bilgi, üst bilgi kullanılarak Authorization yetkilendirilen Microsoft.Storage/storageAccounts/fileServices/readFileBackupSemantics/action kimliğe atanan RBAC ilkesine eklenmişse veya Microsoft.Storage/storageAccounts/fileServices/writeFileBackupSemantics/action izni verilmesi gerektiğini belirtir. Sürüm 2022-11-02 ve üzeri için kullanılabilir.
x-ms-allow-trailing-dot: { <Boolean> } İsteğe bağlı. Sürüm 2022-11-02 ve üzeri. Boole değeri, istek URL'sinde 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 verileri adlandırma ve buna başvurma.

İstek gövdesi

Yok.

Ö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 testaccount1:esSKMOYdK4o+nGTuTyeOLBI+xqnqi6aBmiW4XI699+o=  

Yanıt

Yanıt bir HTTP durum kodu ve yanıt üst bilgileri kümesi içerir.

Durum kodu

Kira 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 (Tamam) durum kodunu döndürür.
  • Release: Başarılı bir işlem 200 (Tamam) durum kodunu döndürür.
  • 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 ü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.

Syntax Description
ETag İşlemleri tırnak içinde koşullu olarak gerçekleştirmek için kullanabileceğiniz bir değer içerir. İşlem Lease File 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. İşlem Lease File bu özelliği değiştirmez.
x-ms-lease-id: <id> Kiralama istediğinizde, 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 başarılı bir isteğin kirayı bozması için döndürüldü. 0 anında 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 karşılık gelen yanıtlarda sorun gidermek için kullanılabilir. Bu üst bilginin değeri, istekte varsa üst bilginin değerine x-ms-client-request-id eşittir. Değer en fazla 1.024 görünür ASCII karakterdir. İstekte x-ms-client-request-id üst bilgi yoksa yanıtta bulunmaz.

Yanıt gövdesi

Yok.

Örnek yanıt

Kira 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>  

Yetkilendirme

Hesap sahibi bu işlemi çağırabilir. Ayrıca, bu dosyaya veya paylaşımına yazma izni olan paylaşılan erişim imzasına sahip tüm istemciler bunu yapabilir.

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ğiyle birlikte 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.

Bir kira etkin olduğunda, kira kimliği aşağıdaki işlemlerden herhangi biri için isteğe eklenmelidir:

Kira kimliği dahil değilse, bu işlemler ile 412 – Precondition failedkiralanan bir dosyada başarısız olur.

Kiralanan bir dosyada, kira kimliği dahil edilmeden aşağıdaki işlemler başarılı olur:

Etkin kiralaması olan bir dosyadaki işlemler için GET kira kimliğinin eklenmesi gerekmez. Ancak, tüm GET işlemler 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ı Sil de dahil olmak üzere etkin kirası olan 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 durumunun değişmesine neden olan komutlar veya olaylar gösterilmektedir.

Dosya kiralama durumlarını ve durum değişikliği tetikleyicilerini gösteren diyagram.

Kiralamanın kilitli veya kilidi açık olmasına ve bu durumda kiranın yenilenebilir olmasına bağlı olarak üç durumda olabilir. Önceki diyagramda gösterilen kira eylemleri durum geçişlerine neden olur.

  • Available: Kira kilidi açılır ve alınabilir. İzin verilen eylem: acquire.
  • Leased: Kira kilitlendi. İ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) elde edin.

Dosya kirası Bozuk durumdaysa 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 çağrısıyla Lease Filegüncelleştirilmez.

Aşağıdaki tablolarda, çeşitli kira durumlarında kiraları olan dosyalardaki eylemlerin sonuçları gösterilir. Harfler (A), (B) ve (C) kira kimliklerini temsil eder ve (X) Azure Dosyalar tarafından oluşturulan kira kimliğini temsil eder.

Dosyalarda kira durumuna göre kullanım denemelerinin sonuçları

Eylem Kullanılabilir 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 (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ı 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ı olur

Kira durumuna göre dosyalardaki kiralama işlemlerinin sonuçları

Eylem Kullanılabilir 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) Kullanılabilir Kullanılabilir
Release (B) Başarısız Oluyor (409) Başarısız Oluyor (409) Başarısız Oluyor (409)

Ayrıca bkz.