Kira Kapsayıcısı

İşlem, Lease Container silme işlemleri için bir kapsayıcı üzerinde kilit oluşturur ve yönetir. Kilit süresi 15 ile 60 saniye veya sonsuz olabilir.

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

  • Acquireögesini seçin.

  • Renewö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 kapsayıcıya karşı hemen bir kira alabilir.

  • Break, kiralamayı sonlandırmak için, ancak geçerli kiralama süresi dolana kadar başka bir istemcinin yeni kira alamadığından emin olun.

Not

İşlem Lease Container 2012-02-12 ve sonraki sürümlerde kullanılabilir.

İstek

İsteği aşağıdaki gibi oluşturabilirsiniz Lease Container . 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.blob.core.windows.net/mycontainer?comp=lease&restype=container HTTP/1.1

Kök kapsayıcıyı belirtmek için kapsayıcı adı olarak girin $root .

Öykünmüş depolama hizmeti URI'si

Öykünülen depolama hizmetine yönelik bir istekte bulunurken öykünücü ana bilgisayar adını ve Azure Blob Depolama bağlantı noktasını olarak 127.0.0.1:10000belirtin ve ardından öykünülen depolama hesabı adını belirtin.

Yöntem İstek URI'si HTTP sürümü
PUT http://127.0.0.1:10000/mycontainer?comp=lease&restype=container HTTP/1.0

HTTP/1.1

Daha fazla bilgi için bkz . Yerel Azure Depolama geliştirmesi için Azurite öykünücüsü kullanma.

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 . Blob Depolama 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 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: <acquire ¦ renew ¦ change ¦ release ¦ break> acquire: Yeni bir kira isteğinde bulunur. Kapsayıcının etkin bir kirası yoksa, Blob Depolama kapsayıcıda bir kira oluşturur ve yeni bir kira kimliği döndürür. Kapsayıcı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 kapsayıcıyla ilişkiliyle eşleşiyorsa kirayı yenileyebilirsiniz. Kapsayıcının süresi dolduğundan bu yana yeniden kiralanmamış olması durumunda kira süresi dolmuş olsa bile kiranın yenilenebileceğini 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 kapsayıcı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 kapsayıcının kirasını hemen almasını sağlar.

break: Kapsayıcının etkin bir kirası varsa kirayı sonlandırın. Kira bozulduktan sonra yenilenemez. Herhangi bir yetkili istek kirayı bozabilir. İstek, eşleşen bir kira kimliği belirtmek için gerekli değildir. Kira kesildiğinde, kira kesme süresinin geçmesine izin verilir. Kapsayıcı üzerinde yalnızca bu süre içinde işlem gerçekleştirebilir break ve release kiralayabilirsiniz. Kira başarıyla kesildiğinde, yanıt yeni bir kira alınıncaya kadar saniye cinsinden aralığı gösterir.

Bozulan bir kiralama da serbest bırakılabilir. bir istemci, serbest bırakılmış bir kapsayıcı kiralamayı hemen alabilir.
x-ms-lease-break-period: N İsteğe bağlı. break Bir işlem için bu üst bilgi, kiranın bozulmadan önce 0 ile 60 saniye arasında devam etmesi gereken ö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 ¦ n seconds 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 dizesi biçiminde önerilen kira kimliği. Önerilen kira kimliği doğru biçimde değilse Blob Depolama döndürür 400 (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 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 Blob Depolama.

Bu işlem, yalnızca belirtilen bir koşul karşılandığında işlemi çalıştırmak için koşullu üst bilgilerin kullanımını da destekler. Daha fazla bilgi için bkz. Blob Depolama işlemleri için koşullu üst bilgileri belirtme.

İstek gövdesi

Yok.

Örnek istek

Aşağıdaki örnek istekte kiralama alma işlemi gösterilmektedir:

  
Request Syntax:  
PUT https://myaccount.blob.core.windows.net/mycontainer?restype=container&comp=lease HTTP/1.1  
  
Request Headers:  
x-ms-version: 2012-02-12  
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 bir dizi yanıt üst bilgisi 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 Kapsayıcı için. Bu üst bilgi, 2013-08-15 ve sonraki sürümlerde yapılan istekler için döndürülür ve ETag değer tırnak içindedir. Lease Container 2013-08-15 ve sonraki sürümlerde yapılan işlemler bu özelliği değiştirmez, ancak önceki sürümler değiştirir.
Last-Modified Sürüm 2013-08-15 ve üzeri için yapılan istekler için döndürüldü. Kapsayıcı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.

Kapsayıcıyı veya kapsayıcının özelliklerini ya da meta verilerini değiştiren tüm işlemler son değiştirme zamanını güncelleştirir. Bu, kapsayıcının izinlerini ayarlamayı içerir. Bloblardaki işlemler kapsayıcının son değiştirme zamanını etkilemez. Lease Container 2013-08-15 ve sonraki sürümlerde yapılan işlemler bu özelliği değiştirmez, ancak önceki sürümler değiştirir.
x-ms-lease-id: <id> Kiralama istediğinizde, Blob Depolama benzersiz bir kira kimliği döndürür. Kira etkinken, kapsayıcıyı 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 başarılı bir isteğin kirayı bozması için döndürülür. Kesme anında gerçekleşirse 0 döndürülür.
x-ms-request-id Bu üst bilgi, 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 Blob Depolama sürümünü gösterir. Bu üst bilgi, 2009-09-19 ve sonraki sürümlerde yapılan istekler için döndürülür.
Tarih 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 İsteklerde ve karşılık gelen yanıtlarda sorun gidermek için bu üst bilgiyi kullanabilirsiniz. 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-Blob/1.0 Microsoft-HTTPAPI/2.0  
x-ms-request-id: cc6b209a-b593-4be1-a38a-dde7c106f402  
x-ms-version: 2012-02-12  
x-ms-lease-id: 1f812371-a41d-49e6-b123-f4b542e851c5  
Date: Thu, 26 Jan 2012 23:30:18 GMT  
  

Yetkilendirme

Azure Depolama'da herhangi bir veri erişim işlemini çağırırken yetkilendirme gereklidir. İşlemi aşağıdaki bölümlerde açıklandığı gibi yetkilendirilebilirsiniz Lease Container .

Azure Depolama, blob verilerine yönelik istekleri yetkilendirmek için Microsoft Entra ID kullanılmasını destekler. Microsoft Entra ID ile Azure rol tabanlı erişim denetimini (Azure RBAC) kullanarak bir güvenlik sorumlusuna izin vekleyebilirsiniz. Güvenlik sorumlusu bir kullanıcı, grup, uygulama hizmet sorumlusu veya Azure yönetilen kimliği olabilir. OAuth 2.0 belirtecini döndürmek için güvenlik sorumlusunun kimliği Microsoft Entra ID tarafından doğrulanır. Belirteç daha sonra Blob Depolama'ya karşı bir isteği yetkilendirmek için kullanılabilir.

Microsoft Entra ID kullanarak yetkilendirme hakkında daha fazla bilgi edinmek için bkz. Microsoft Entra ID kullanarak bloblara erişimi yetkilendirme.

İzinler

Microsoft Entra kullanıcı, grup veya hizmet sorumlusunun Lease Container işlemi çağırması ve bu eylemi içeren en az ayrıcalıklı yerleşik Azure RBAC rolü için aşağıdaki RBAC eylemleri gereklidir:

Azure RBAC kullanarak rol atama hakkında daha fazla bilgi edinmek için bkz. Blob verilerine erişim için Azure rolü atama.

Açıklamalar

Kapsayıcıdaki kiralama, kapsayıcıya özel silme erişimi sağlar. Kapsayıcı kiralaması yalnızca Kapsayıcıyı Sil işlemini kullanarak kapsayıcıyı silme özelliğini denetler. Etkin kiralaması olan bir kapsayıcıyı silmek için, istemcinin silme isteğiyle etkin kira kimliğini içermesi gerekir. Kira kimliği dahil değilse, işlem 412 ile başarısız olur (Önkoşul başarısız oldu). Kira kimliği dahil edilmeden kiralanmış bir kapsayıcıda diğer tüm kapsayıcı işlemleri başarılı olur. Kira, kira elde edildiğinde belirtilen süre boyunca verilir; bu süre 15 ile 60 saniye arasında veya sonsuz bir süre olabilir.

bir istemci kiralama aldığında, bir kira kimliği döndürülür. Alma isteğinde belirtilmemişse Blob Depolama 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 olası durumları ve kiralama durumu değişikliklerine neden olan komutlar veya olaylar gösterilmektedir.

Kapsayıcı kiralama durumlarının ve durum değişikliği tetikleyicilerinin diyagramı.

Kiranın kilitlenip kilitlenmediğine ve kiranın bu durumda yenilenebilir olup olmamasına bağlı olarak, kiralama beş durumdan 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.

Blob Depolama, bir kapsayıcı 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, istemcinin kiralaması son etkin olduğundan kapsayıcı yeniden kiralanmış veya silinmiştir.

Bir kiranın süresi açıkça yayımlanmak yerine sona eriyorsa, kapsayıcı için yeni bir kiranın alınabilmesi için istemcinin bir dakika kadar beklemesi gerekebilir. Ancak istemci, süresi dolan kira kimliğiyle kiralamayı hemen yenileyebilir.

Kapsayıcının Last-Modified-Time özelliği çağrısıyla Lease Containergü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, (X) ise Blob Depolama tarafından oluşturulan kiralama kimliğini temsil eder.

Kira durumuna göre kapsayıcılarda 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 kapsayıcılardaki 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 Oluyor (409) Başarısız Oluyor (409)
Release (A) Başarısız Oluyor (409) Kullanılabilir Kullanılabilir Kullanılabilir Kullanılabilir
Release (B) 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)
Süre sona eriyor Kullanılabilir Süresi Doldu (A) Bozuk (A) Bozuk (A) Süresi Doldu (A)

Faturalama

Fiyatlandırma istekleri, Blob Depolama API'lerini kullanan istemcilerden, doğrudan Blob Depolama REST API'si aracılığıyla veya bir Azure Depolama istemci kitaplığından kaynaklanabilir. Bu istekler işlem başına ücret tahakkuk eder. İşlem türü, hesabın nasıl ücretlendirildiğinden etkilenir. Örneğin, okuma işlemleri yazma işlemlerinden farklı bir faturalama kategorisine tahakkuk eder. Aşağıdaki tabloda, depolama hesabı türüne göre istekler için Lease Container faturalama kategorisi gösterilmektedir:

İşlem Depolama hesabı türü Faturalama kategorisi
Kira Kapsayıcısı (alma, bırakma, yenileme) Premium blok blobu
Standart genel amaçlı v2
Diğer işlemler
Kira Kapsayıcısı (alma, bırakma, yenileme) Standart genel amaçlı v1 Okuma işlemleri
Kira Kapsayıcısı (kesme, değiştirme) Premium blok blobu
Standart genel amaçlı v2
Diğer işlemler
Kira Kapsayıcısı (kesme, değiştirme) Standart genel amaçlı v1 Yazma işlemleri

Belirtilen faturalama kategorisinin fiyatlandırması hakkında bilgi edinmek için bkz. fiyatlandırma Azure Blob Depolama.

Ayrıca bkz.

Azure Depolama'ya yönelik istekleri yetkilendirme
Durum ve hata kodları
Blob Depolama hata kodları
Blob Kiralama