Share via


Kira Paylaşımı

İşlem, Lease Share Azure dosya paylaşımında veya paylaşım anlık görüntüsünde kilit oluşturur ve yönetir. Bu API tam olarak desteklenir, ancak eski bir yönetim API'dir. Bunun yerine, depolama kaynak sağlayıcısı (Microsoft.Storage) tarafından sağlanan Dosya Paylaşımları - Kira'yı kullanın. Depolama kaynak sağlayıcısını kullanarak kaynaklarla FileShare program aracılığıyla etkileşim kurma hakkında daha fazla bilgi edinmek için bkz. Dosya Paylaşımlarında İşlemler.

Kilit süresi 15 ile 60 saniye olabilir veya sonsuz olabilir. İşlemi aşağıdaki modlardan birinde çağırabilirsiniz Lease Share :

  • Acquire: Yeni kiralama istemek için.
  • Renew: Mevcut kiralamayı yenilemek için.
  • Change: Mevcut kiralamanın kimliğini değiştirmek için.
  • Release: Başka bir istemcinin dosya paylaşımına karşı hemen kiralama alabilmesi için, artık gerekli değilse kirayı serbest bırakır.
  • Break: Kiralamayı sonlandırmak, ancak geçerli kiralama süresi dolana kadar başka bir istemcinin yeni kira alamamasını sağlamak.

Not

İşlem Lease Share 2020-02-10 ve sonraki sürümlerde kullanılabilir.

Protokol kullanılabilirliği

Etkin dosya paylaşımı protokolü Kullanılabilir
SMB Evet
NFS Yes

İstek

İsteği aşağıdaki gibi oluşturabilirsiniz Lease Share . HTTPS önerilir. myaccount değerini depolama hesabınızın adıyla değiştirin.

Yöntem İstek URI'si HTTP sürümü
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 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'ya istekleri 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'ya istekleri 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 geçerli herhangi bir GUID dizesi biçiminde belirtebilirsiniz. Geçerli biçimlerin listesi için bkz. Guid Oluşturucu (Dize).
x-ms-lease-action: <action> acquire: Yeni bir kiralama isteğinde bulunur. Dosya paylaşımının etkin bir kirası yoksa, Azure Dosyalar dosya paylaşımında bir kira oluşturur ve yeni bir kira kimliği döndürür. Dosya paylaşımının etkin kirası varsa, yalnızca etkin kira kimliğini kullanarak yeni kiralama isteyebilirsiniz. Ancak, süresi hiç dolmamış bir kiralama için negatif bir (-1) dahil olmak üzere yeni x-ms-lease durationbir belirtebilirsiniz.

renew: Kirayı yeniler. İstekte belirtilen kira kimliği dosya paylaşımıyla ilişkiliyle eşleşiyorsa kirayı yenileyebilirsiniz. Dosya paylaşımının süresi dolduğundan bu yana yeniden kiralanmamışsa, süresi dolmuş olsa bile kirayı yenileyebileceğinizi unutmayın. Kiralamayı yenilediğinizde, kira süresi saati sıfırlanır.

change: Etkin kiralamanın kira kimliğini değiştirin. , 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ın. İstekte belirtilen kira kimliği dosya paylaşımıyla 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 dosya paylaşımı için kirayı hemen almasını sağlar.

break: Dosya paylaşımının etkin bir kirası varsa kirayı sonlandırın. Kiralama bozulduktan sonra yenilenemez. Yetkili istekler kirayı bozabilir. Eşleşen bir kira kimliği belirtmek için istek gerekli değildir. Kira kesildiğinde, kira kesme süresinin geçmesine izin verilir ve breakrelease bu süre boyunca dosya paylaşımında gerçekleştirebileceğiniz tek işlemler bunlardır. Kira başarıyla kesildiğinde, yanıt yeni bir kira alınıncaya kadar saniye cinsinden aralığı gösterir.

Bozulan bir kira da serbest bırakılabilir. İstemci, serbest bırakılmış bir dosya paylaşımı kirası alabilir.
x-ms-lease-break-period: N İsteğe bağlı. break Bir işlem için, kiranın bozulmadan önce, saniyeler içinde, 0 ile 60 arasında devam etmesi önerilen süredir. Bu kesme dönemi yalnızca kirada kalan süreden kısaysa kullanılır. Daha uzunsa, kirada kalan süre kullanılır. Kesme süresi dolmadan önce yeni bir kira kullanılamaz, ancak kiralama kesme döneminden daha uzun süre tutulabilir. Bu üst bilgi bir break işlemle birlikte görünmüyorsa, kalan kiralama dönemi geçtikten sonra sabit süreli kiralama bozulur ve sonsuz kiralama hemen sona erer.
x-ms-lease-duration: -1 için acquiregereklidir. Süresi hiç dolmamış bir kiralama için kiranın süresini saniye cinsinden veya negatif bir (-1) olarak belirtir. Sonsuz olmayan kiralama 15 ile 60 saniye arasında olabilir. Kira süresi veya changekullanılarak renew değiştirilemez.
x-ms-proposed-lease-id: <ID> için acquireisteğe bağlı ve için changegereklidir. GUID dize biçiminde önerilen kira kimliği. Azure Blob Depolama, ö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).
Origin İsteğe bağlı. İsteğin verildiği kaynağı belirtir. Bu üst bilginin varlığı, yanıtta çıkış noktaları arası kaynak paylaşımı (CORS) üst bilgileriyle sonuçlanır. Ayrıntılar için bkz. Depolama hizmetleri için CORS desteği .
x-ms-client-request-id İsteğe bağlı. 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. İzleme Azure Dosyalar.

İ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?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=  

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.
  • Renew: Başarılı bir işlem 200 (Tamam) 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 ETag Dosya paylaşımı için.
Last-Modified Dosya paylaşımının son değiştirildiği tarihi ve saati döndürür. Daha fazla bilgi için bkz. Üst bilgilerde tarih-saat değerlerinin gösterimi.

Dosya paylaşımını veya özelliklerini ya da meta verilerini değiştiren tüm işlemler son değiştirme zamanını güncelleştirir. Bu, dosya paylaşımının izinlerini ayarlamayı içerir. Bloblardaki işlemler dosya paylaşımının son değiştirilme zamanını etkilemez.
x-ms-lease-id: <id> Kiralama istediğinizde, Azure Dosyalar benzersiz bir kira kimliği döndürür. Kira etkinken, dosya paylaşımını silme veya kirayı yenileme, değiştirme veya 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 Kira döneminde kalan yaklaşık süre (saniye cinsinden). Bu üst bilgi yalnızca kirayı bozmaya yönelik başarılı bir istek için döndürülür. Kesme anında gerçekleşirse döndürülür 0 .
x-ms-request-id Yapılan isteği benzersiz olarak tanımlar ve istekle ilgili sorunları 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 FileREST API 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.
Access-Control-Allow-Origin İstek bir Origin üst bilgi içeriyorsa ve CORS eşleşen bir kuralla etkinleştirildiyse döndürülür. Bu üst bilgi, eşleşme olması durumunda kaynak istek üst bilgisinin değerini döndürür.
Access-Control-Expose-Headers İstek bir Origin üst bilgi içeriyorsa ve CORS eşleşen bir kuralla etkinleştirildiyse döndürülür. İsteğin istemcisine veya verene sunulacak yanıt üst bilgilerinin listesini döndürür.
Access-Control-Allow-Credentials İstek bir Origin üst bilgi içeriyorsa ve CORS tüm çıkış noktalarına izin vermeyecek bir eşleştirme kuralıyla etkinleştirildiyse döndürülür. Bu üst bilgi olarak trueayarlanır.
x-ms-client-request-id İsteklerin ve karşılık gelen yanıtların sorunlarını 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. x-ms-client-request-id Üst bilgi istekte 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: 2020-02-10  
x-ms-lease-id: 1f812371-a41d-49e6-b123-f4b542e851c5  
Date: Thu, 26 Jan 2012 23:30:18 GMT  

Yetkilendirme

Bu işlemi yalnızca hesap sahibi çağırabilir.

Açıklamalar

Dosya paylaşımındaki kiralama, dosya paylaşımına özel silme erişimi sağlar. Dosya paylaşımı alma işlemleri kira kimliği dahil edilmeden kiralanmış bir dosya paylaşımında başarılı olur. Dosya paylaşımı işlemlerini ayarlama işlemi için dosya paylaşımı kira kimliği gerekir. Kira kimliği ayarlanmış dosya paylaşımı işlemlerine dahil değilse, işlem 412 ile başarısız olur (Önkoşul başarısız oldu). Kira, kira alınırken belirtilen süre boyunca verilir; bu süre 15 ila 60 saniye veya sonsuz bir süre olabilir.

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 kiralamayı yenilemek, kira kimliğini değiştirmek veya kirayı serbest bırakmak için bu kira kimliğini kullanabilir. Aşağıdaki diyagramda, kiralamanın beş durumu ve kiralama durumunun değişmesine neden olan komutlar veya olaylar gösterilmektedir.

Dosya paylaşımı kira durumlarının ve durum değişikliği tetikleyicilerinin diyagramı.

Kiranın kilitlenip kilitlenmediğine ve bu durumda kiranın yenilenebilir olup olmadığına bağlı olarak kiralama bu durumların herhangi birinde olabilir. Önceki diyagramda gösterilen kira eylemleri durum geçişlerine neden olur.

Yenileme durumu Kilitli kira Kilidi açılmış kira
Yenilenebilir kiralama Kiralanan Süresi doldu
Yenilenebilir olmayan kiralama Yeni Bozuk, Kullanılabilir
  • Availablekiranın kilidi açılır ve elde edilebilir. İzin verilen eylem: acquire.
  • Leased, kira kilitlidir. İzin verilen eylemler: acquire (yalnızca aynı kira kimliği), renew, change, releaseve break.
  • Expired, kiralama süresinin dolduğunu gösterir. İzin verilen eylemler: acquire, renew, releaseve break.
  • Breaking, kira bozulmuştur, ancak kesme süresi dolana kadar kira kilitli olmaya devam edecektir. İzin verilen eylemler: release ve break.
  • Brokenkirası kesildi ve kesme süresinin süresi doldu. İzin verilen eylemler: acquire, releaseve break.

Azure Dosyalar, dosya paylaşımı kirasının süresi dolduktan sonra kira kimliğini korur. İstemci, süresi dolan kira kimliğini kullanarak kirayı yenileyebilir veya serbest bırakabilir. İstemci, süresi dolmuş bir kirayı önceki kira kimliğiyle yenilemeye veya serbest bırakmaya çalışırsa ve istek başarısız olursa, bu, dosya paylaşımının kiralamasının son etkin olduğu tarihten sonra yeniden kiralandığı veya silindiği anlamına gelir. Bir kiranın süresi açıkça yayımlanmak yerine sona eriyorsa, istemcinin dosya paylaşımı için yeni bir kiranın alınabilmesi için bir dakika kadar beklemesi gerekebilir. Ancak istemci, süresi dolan kira kimliğiyle kiralamayı hemen yenileyebilir.

Dosya paylaşımının Last-Modified-Time özelliği çağrısıyla Lease Sharegüncelleştirilmez.

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

Kira durumuna göre paylaşımlarda kullanım denemelerinin sonuçları

Eylem Kullanılabilir Kiralanan (A) Hata (A) Bozuk (A) Süresi Doldu (A)
(A) ile silme Başarısız Oluyor (412) Kiralanan (A), silme başarılı olur Hata (A), silme başarılı olur Başarısız Oluyor (412) Başarısız Oluyor (412)
(B) ile sil Başarısız Oluyor (412) Başarısız Oluyor (409) Başarısız Oluyor (412) Başarısız Oluyor (412) Başarısız Oluyor (412)
Sil, kira belirtilmedi Kullanılabilir, silme başarılı olur Başarısız Oluyor (412) Başarısız Oluyor (412) Kullanılabilir, silme başarılı olur Kullanılabilir, silme başarılı olur
(A) ile diğer işlemler Başarısız Oluyor (412) Kiralanan (A), işlem başarılı olur Hata (A), işlem başarılı Başarısız Oluyor (412) Başarısız Oluyor (412)
(B) ile diğer işlemler Başarısız Oluyor (412) Başarısız Oluyor (409) Başarısız Oluyor (409) Başarısız Oluyor (412) Başarısız Oluyor (412)
İşlemler, kira belirtilmemiş Kullanılabilir, işlem başarılı olur Kiralanan (A), işlem başarılı olur Hata (A), işlem başarılı Bozuk (A), işlem başarılı Süresi doldu (A), işlem başarılı

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

Eylem Kullanılabilir Kiralanan (A) Hata (A) Bozuk (A) Süresi Doldu (A)
Acquire, önerilen kira kimliği yok Kiralanan (X) Başarısız Oluyor (409) Başarısız Oluyor (409) Kiralanan (X) Kiralanan (X)
Acquire (A) Kiralanan (A) Kiralanan (A), yeni süre Başarısız Oluyor (409) Kiralanan (A) Kiralanan (A)
Acquire (B) Kiralanan (B) Başarısız Oluyor (409) Başarısız Oluyor (409) Kiralanan (B) Kiralanan (B)
Break, nokta=0 Başarısız Oluyor (409) Bozuk (A) Bozuk (A) Bozuk (A) Bozuk (A)
Break, dönem>0 Başarısız Oluyor (409) Hata (A) Hata (A) Bozuk (A) Bozuk (A)
Change, (A) - (B) Başarısız Oluyor (409) Kiralanan (B) Başarısız Oluyor (409) Başarısız Oluyor (409) Başarısız Oluyor (409)
Change, (B) - (A) Başarısız Oluyor (409) Kiralanan (A) Başarısız Oluyor (409) Başarısız Oluyor (409) 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) Başarısız Oluyor (409) Başarısız Oluyor (409)
Renew (A) Başarısız Oluyor (409) Kiralanan (A), süre sonu saati sıfırlama Başarısız Oluyor (409) Başarısız Oluyor (409) Kiralanan (A)
Renew (B) Başarısız Oluyor (409) Başarısız Oluyor (409) Başarısız Oluyor (409) Başarısız (409) Başarısız (409)
Release (A) Başarısız (409) Kullanılabilir Kullanılabilir Kullanılabilir Kullanılabilir
Release (B) Başarısız (409) Başarısız (409) Başarısız (409) Başarısız (409) Başarısız (409)
Süre sona eriyor Kullanılabilir Süresi Doldu (A) Bozuk (A) Bozuk (A) Süresi Doldu (A)