Aracılığıyla paylaş


Blok Listesi Koy

İşlem, Put Block List blobu oluşturan blok kimliklerinin listesini belirterek bir blob yazar. Bir blobun parçası olarak yazılmak için, bir blok daha önceki bir Put Block işleminde sunucuya başarıyla yazılmış olmalıdır.

Put Block List Bir blob'u güncellemek için sadece değişen blokları yükleyip yeni ve mevcut blokları birleştirerek çağırabilirsiniz. Bunu, commit edilen blok listesinden mi yoksa commit edilmemiş engelleme listesinden mi yoksa en son yüklenen blok sürümünü, hangi listeye ait olursa olsun, commit mi yapacağınızı belirterek yapabilirsiniz.

İstek

Put Block List isteğini aşağıdaki gibi oluşturabilirsiniz. HTTPS kullanmanızı öneririz. Hesabımı depolama hesabınızın adıyla değiştirin:

PUT yöntemi istek URI'si HTTP sürümü
https://myaccount.blob.core.windows.net/mycontainer/myblob?comp=blocklist HTTP/1.1

Öykünmüş depolama hizmeti isteği

Emülasyon edilmiş depolama hizmetine karşı bir talep yaparken, emülatör ana bilgisayar adını ve Blob servis portunu , ardından emüle edilen depolama hesabı adını belirtin 127.0.0.1:10000:

PUT yöntemi istek URI'si HTTP sürümü
http://127.0.0.1:10000/devstoreaccount1/mycontainer/myblob?comp=blocklist HTTP/1.1

Depolama öykünücüsü yalnızca 2 gibibayta (GiB) kadar blob boyutlarını destekler.

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 parametreleri belirtebilirsiniz:

Parametre Açıklama
timeout Optional. timeout parametresi saniye cinsinden ifade edilir. Daha fazla bilgi için bkz. Blob servis işlemleri için zaman aşımını ayarlayın.

İstek başlıkları

Gerekli ve isteğe bağlı istek üst bilgileri aşağıdaki tabloda açıklanmıştır:

İstek başlığı 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 Tüm yetkili istekler için gereklidir. 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.
Content-Length Gerekli. İstek içeriğinin uzunluğu, bayt cinsinden. Bu başlık, blobun kendisinin değil, blok listesinin içerik uzunluğuna atıfta bulunur.
Content-MD5 Optional. İstek içeriğinin MD5 karması. Bu karma, aktarım sırasında istek içeriğinin bütünlüğünü doğrulamak için kullanılır. İki karma eşleşmezse, işlem 400 (Hatalı İstek) hata koduyla başarısız olur.

Bu başlık, talep içeriğiyle ilişkilendirilir, blobun içeriğiyle değil.
x-ms-content-crc64 Optional. İstek içeriğinin CRC64 hash'i. Bu karma, aktarım sırasında istek içeriğinin bütünlüğünü doğrulamak için kullanılır. İki karma eşleşmezse, işlem 400 (Hatalı İstek) hata koduyla başarısız olur.

Bu başlık, talep içeriğiyle ilişkilendirilir, blobun içeriğiyle değil.

Hem Content-MD5 hem de x-ms-content-crc64 üst bilgileri varsa, istek 400 (Hatalı İstek) ile başarısız olur.

Bu üst bilgi 2019-02-02 ve sonraki sürümlerde desteklenir.
x-ms-blob-cache-control Optional. Blobun önbellek kontrolünü ayarlar. Bu özellik belirtilmişse, blobla birlikte saklanır ve okuma isteği ile geri döner.

Eğer mülk istekte belirtilmemişse, talep başarılı olursa blob için temizlenir.
x-ms-blob-content-type Optional. Blobun içerik türünü belirler. Eğer belirtilmişse, bu özellik blobla birlikte saklanır ve okuma isteği ile geri döner.

Eğer içerik türü belirtilmemişse, varsayılan tipe ayarlanır, bu da .application/octet-stream
x-ms-blob-content-encoding Optional. Blobun içerik kodlamasını ayarlar. Eğer belirtilmişse, bu özellik blobla birlikte saklanır ve okuma isteği ile geri döner.

Eğer mülk istekte belirtilmemişse, talep başarılı olursa blob için temizlenir.
x-ms-blob-content-language Optional. Blobun içerik dilini belirler. Eğer belirtilmişse, bu özellik blobla birlikte saklanır ve okuma isteği ile geri döner.

Eğer mülk istekte belirtilmemişse, talep başarılı olursa blob için temizlenir.
x-ms-blob-content-md5 Optional. Blob içeriğinin MD5 karması. Bu hash doğrulanmaz, çünkü bireysel blokların hash'ları yüklendiğinde doğrulanmıştır.

Get Blob işlemi, Content-MD5 yanıt başlığındaki bu başlığın değerini döndürür.

Bu özellik istekte belirtilmemişse, istek başarılı olursa blob için temizlenir.
x-ms-meta-name:value Optional. Blobla ilişkilendirilen kullanıcı tanımlı isim-değer çiftleri.

2009-09-19 sürümünden itibaren, meta veri adları C# tanımlayıcıları için adlandırma kurallarına uymalıdır.
x-ms-encryption-scope Optional. Blob'u şifrelemek için kullanılacak şifreleme kapsamını gösterir. Bu değer, bağlanan tüm blokları şifrelemek için kullanılan şifreleme kapsamıyla eşleşmelidir. Bu üst bilgi 2019-02-02 ve sonraki sürümlerde desteklenir.
x-ms-encryption-context Optional. Varsayılan "Boş"tur. Değer ayarlanırsa, blob sistem meta verileri ayarlanır. Maksimum uzunluk-1024. Yalnızca hesap için Hiyerarşik Ad Alanı etkinleştirildiğinde geçerlidir. Bu başlık, 2021-08-06 ve sonraki sürümlerde desteklenmektedir.
x-ms-tags Optional. Blob'da belirtilen sorgu dizisi kodlanmış etiketleri ayarlar. Ek bilgi için Açıklamalar bölümüne bakınız. 2019-12-12 ve sonraki sürümlerde desteklenir.
x-ms-lease-id:<ID> Blob etkin bir kiraya sahipse gereklidir. Etkin kiralaması olan bir blob üzerinde bu işlemi gerçekleştirmek için bu üst bilgi için geçerli kira kimliğini belirtin.
x-ms-client-request-id Optional. Depolama analitik kayıtları yapılandırıldığında analitik kayıtlarında kaydedilen 1 kibibayt (KiB) karakter sınırı olan 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.
x-ms-blob-content-disposition Optional. Blob'un Content-Disposition üst bilgisini ayarlar. Sürüm 2013-08-15 ve üzeri için kullanılabilir.

Başlık Content-Disposition alanı, yanıt yükünün nasıl işleneceği hakkında ek bilgi verir ve ek meta veriler eklemek için kullanılabilir. Örneğin, eğer ayarlıysa attachment, bu başlık user-agent'in yanıtı göstermemesi, yerine Kaydet Olarak diyalogu göstermesi gerektiğini gösterir.

Get Blob ve Get Blob Properties işlemlerinden gelen yanıt, içerik-dağıtlama başlığını içerir.
x-ms-access-tier Optional. 2018-11-09 ve sonrası sürümler. Bir lekeye ayarlanacak seviyeyi gösterir. Blok bloblar için, bu başlık yalnızca blob depolama veya genel amaçlı v2 hesaplarında 2018-11-09 ve sonrasında olan sürümlerde desteklenmektedir. Blok blob katmanları Hotiçin geçerli değerler , Cool, Cold, ve SmartArchive.
Not:Cold katmanı sürüm 2021-12-02 ve üzeri için desteklenir. Smart Tier, 2026-02-06 ve sonrasında olan sürümler için desteklenmekte olup, şu anda halka açık önizleme aşamasındadır.
Blok blob katmanlama hakkında ayrıntılı bilgi için Blob depolama katmanlarına bakınız.
x-ms-immutability-policy-until-date Sürüm 2020-06-12 ve üzeri. Lebe üzerinde ayarlanacak saklama tarihini belirtir. Bu, blobun değiştirilmeye veya silinmeye karşı korunabileceği tarihtir. Formatı RFC1123 takip eder.
x-ms-immutability-policy-mode Sürüm 2020-06-12 ve üzeri. Blob'a ayarlanacak değişmezlik politikası modunu belirler. Geçerli değerler: unlocked ve locked. Bu unlocked değer, kullanıcıların saklama tarihini artırıp azaltarak politikayı değiştirebileceğini gösterir. Değer, locked bu eylemlerin yasak olduğunu gösterir.
x-ms-legal-hold Sürüm 2020-06-12 ve üzeri. Blob üzerinde ayarlanacak yasal tutma noktasını belirler. Geçerli değerler ve trueşeklindedirfalse.
x-ms-expiry-option Optional. Sürüm 2023-08-03 ve üzeri. İstek için son kullanma tarihi seçeneğini belirtir, bkz. Süresi Süresi Vardı. Bu üst bilgi, hiyerarşik ad alanı etkinleştirilmiş hesaplar için geçerlidir.
x-ms-expiry-time Optional. Sürüm 2023-08-03 ve üzeri. Blob süresinin dolmak üzere ayarlandığı zamanı belirtir. Son kullanma tarihi biçimi x-ms-expiry-optiongöre değişir. Daha fazla bilgi için bkz. ExpiryOption. Bu üst bilgi, hiyerarşik ad alanı etkinleştirilmiş hesaplar için geçerlidir.

Bir blob'ta zaten bulunan şey expiryTime , istek yeni bir değer içermiyorsa temizlenmez expiryTime

Bu işlem ayrıca, belirli bir koşul sağlandığında blok listesini bağlamak için koşullu başlıkların kullanılmasını destekler. Daha fazla bilgi için bkz. Blob Depolama işlemleri için koşullu üst bilgileri belirtme.

İstek üst bilgileri (müşteri tarafından sağlanan şifreleme anahtarları)

2019-02-02 sürümünden itibaren, müşteri tarafından sağlanan bir anahtarla bir blob şifreleme isteğinde aşağıdaki başlıkları belirtebilirsiniz. Müşteri tarafından sağlanan bir anahtarla (ve karşılık gelen üst bilgi kümesiyle) şifreleme isteğe bağlıdır.

İstek başlığı Açıklama
x-ms-encryption-key Gerekli. Base64 kodlu AES-256 şifreleme anahtarı.
x-ms-encryption-key-sha256 Gerekli. Şifreleme anahtarının Base64 ile kodlanmış SHA256 karması.
x-ms-encryption-algorithm: AES256 Gerekli. Şifreleme için kullanılacak algoritmayı belirtir. Bu başlığın değeri AES256 olmalıdır.

İstek içeriği

İstek gövdesinde, Blob Storage'ın istenen blok için kontrol etmesi gereken engelleme listesini belirtebilirsiniz. Bu şekilde, mevcut blob'u tek tek blokları ekleyerek, değiştirerek veya silerek güncelleyebiliyorsunuz; tüm blob'u yeniden yüklemek yerine. Değişen blokları veya blokları yükledikten sonra, yeni blokları mevcut bloklarla birlikte biriktirerek blobun yeni bir versiyonunu commit edebilirsiniz.

Bir blob'u güncellemek için, hizmetin önce taahhüt edilen blok listesinden, taahhüt edilmemiş blok listesinden veya önce taahhüt edilmemiş blok listesinden ve ardından taahhüt edilen blok listesinde bir blok kimliği araması gerektiğini belirtebilirsiniz. Hangi yaklaşımın kullanılacağını belirtmek için, istek gövdesinde uygun XML öğesi içindeki blok kimliğini aşağıdaki gibi belirtin:

  • Blob Storage'ın yalnızca adlandırılmış blok listesinde arama yapması gerektiğini belirtmek için öğe içindeki Committed blok kimliğini belirtin. Eğer blok belirlenmiş blok listesinde bulunmazsa, blobun bir parçası olarak yazılmaz, Blob Storage durum kodu 400 (Kötü İstek) döndürür.

  • Blob Storage'ın yalnızca adlandırılmış blok için bağlanmamış blok listesinde arama yapması gerektiğini belirtmek Uncommitted için öğe içindeki blok kimliğini belirtin. Eğer blok, belirlenmemiş blok listesinde bulunmazsa, blobun bir parçası olarak yazılmazdır ve Blob Storage durum kodu 400 (Kötü İstek) döndürür.

  • Blob Storage'ın önce bağlanmamış blok listesinde arama yapması gerektiğini belirtmek için Latest öğe içindeki blok kimliğini belirtin. Eğer blok belirlenmemiş listede bulunursa, o blok sürümü en yenisidir ve bloba yazılmalıdır. Eğer blok belirlenmemiş listede bulunmazsa, hizmet belirlenmiş blok listesinde adlandırılmış bloku aramalı ve bululursa blob'a o bloba yazmalıdır.

Bu sürüm Put Block List için istek gövdesi aşağıdaki XML formatını kullanır:

<?xml version="1.0" encoding="utf-8"?>  
<BlockList>  
  <Committed>first-base64-encoded-block-id</Committed>  
  <Uncommitted>second-base64-encoded-block-id</Uncommitted>  
  <Latest>third-base64-encoded-block-id</Latest>  
  ...  
</BlockList>  
  

Numune isteği

Bunu göstermek Put Block Listiçin, şimdi yapmak istediğiniz üç bloğu yüklediğinizi varsayın. Aşağıdaki örnek, listelenen her blokun en son sürümünün kullanılması gerektiğini belirterek yeni bir blob oluşturur. Bu blokların zaten yapılıp yapılmadığını bilmek gerekmez.

Request Syntax:  
PUT https://myaccount.blob.core.windows.net/mycontainer/myblob?comp=blocklist HTTP/1.1  
  
Request Headers:  
x-ms-date: Wed, 31 Aug 2011 00:17:43 GMT  
x-ms-version: 2011-08-18  
Content-Type: text/plain; charset=UTF-8  
Authorization: SharedKey myaccount:DJ5QZSVONZ64vAhnN/wxcU+Pt5HQSLAiLITlAU76Lx8=  
Content-Length: 133  
  
Request Body:  
<?xml version="1.0" encoding="utf-8"?>  
<BlockList>  
  <Latest>AAAAAA==</Latest>  
  <Latest>AQAAAA==</Latest>  
  <Latest>AZAAAA==</Latest>  
</BlockList>  
  

Sonra, blob'u güncellemek istediğinizi varsayalım. Yeni blob'da aşağıdaki değişiklikler var:

  • Kimliği ANAAAA==olan yeni bir blok. Bu blok önce Put Block çağrısıyla yüklenmelidir ve çağrı yapılana kadar belirlenmemiş engelleme listesinde Put Block Listgörünür.

  • Bloğun AZAAAA==ID'li güncellenmiş bir versiyonu. Bu blok önce Put Block çağrısıyla yüklenmelidir ve çağrı yapılana kadar belirlenmemiş engelleme listesinde Put Block Listgörünür.

  • Kimliği AAAAAA==olan blokun kaldırılması . Bu blok bir sonraki çağrıda Put Block Listdahil olmadığı için, blok fiilen blob'tan kaldırılır.

Aşağıdaki örnek, blob'u güncelleyen çağrıyı Put Block List göstermektedir:

Request Syntax:  
PUT https://myaccount.blob.core.windows.net/mycontainer/myblob?comp=blocklist HTTP/1.1  
  
Request Headers:  
x-ms-date: Wed, 31 Aug 2009 00:17:43 GMT  
x-ms-version: 2011-08-18  
Content-Type: text/plain; charset=UTF-8  
x-ms-expiry-option: RelativeToNow
x-ms-expiry-time: 30000
Authorization: SharedKey myaccount:DJ5QZSVONZ64vAhnN/wxcU+Pt5HQSLAiLITlAU76Lx8=  
Content-Length: 133  
  
Request Body:  
<?xml version="1.0" encoding="utf-8"?>  
<BlockList>  
  <Uncommitted>ANAAAA==</Uncommitted>  
  <Committed>AQAAAA==</Committed>  
  <Uncommitted>AZAAAA==</Uncommitted>  
</BlockList>  
  

Yanıt

Yanıt bir HTTP durum kodu ve bir dizi yanıt üst bilgisi içerir.

Durum kodu

Başarılı bir işlem 201 (Oluşturuldu) durum kodunu döndürür.

Durum kodları hakkında daha fazla bilgi için bkz. Durum ve hata kodları.

Yanıt başlıkları

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.

Yanıt Açıklamalar
ETag Varlık etiketi, istemcinin istek başlığını kullanarak koşullu GET/PUT işlemler If-Match gerçekleştirebileceği bir değer içerir. İstek sürümü 2011-08-18 veya üzeriyse, ETag değeri tırnak içine alınır.
Last-Modified Blobun en son değiştirildiği tarih/saat. Tarih biçimi RFC 1123'e uyar. Daha fazla bilgi için bkz. üst bilgilerde tarih/saat değerlerini temsil edin.

Blobun meta verilerinin veya özelliklerinin güncelleştirilmesi de dahil olmak üzere blobu değiştiren herhangi bir işlem, blobun son değiştirilme zamanını değiştirir.
Content-MD5 İstemcinin mesaj içeriğinin bütünlüğünü kontrol edebilmesi için geri gönderildi. Bu başlık, talebin içeriğini ifade eder (bu durumda blobun içeriği değil, bloklar listesi). 2019-02-02 ve sonrasında olan sürüm için, bu başlık yalnızca istek bu başlığa sahip olduğunda geri döner.
x-ms-content-crc64 2019-02-02 ve sonrasında olan sürümler için, istemcinin mesaj içeriği bütünlüğünü kontrol edebilmesi için bu başlık geri döner. Bu başlık, talebin içeriğini ifade eder (bu durumda blobun içeriği değil, bloklar listesi).

Bu başlık, başlık istekte bulunmadığında geri Content-md5 döner.
x-ms-request-id Yapılan isteği benzersiz olarak tanımlar ve isteği gidermek için kullanabilirsiniz. Daha fazla bilgi için bkz. API işlem sorunlarını giderme.
x-ms-version İsteği çalıştırmak için kullanılan Blob Storage versiyonu. Bu üst bilgi, 2009-09-19 ve sonraki sürümlere karşı yapılan istekler için döndürülür.
Date Hizmet tarafından oluşturulan ve yanıtın ne zaman başlatıldığını gösteren bir UTC tarih/saat değeri.
x-ms-request-server-encrypted: true/false Sürüm 2015-12-11 ve üzeri. Bu başlığın true değeri, isteğin içeriği belirtilen algoritma kullanılarak başarıyla şifrelenmişse ayarlanır. Aksi takdirde, değeri falseolarak ayarlanır.
x-ms-encryption-key-sha256 Sürüm 2019-02-02 ve üzeri. Bu başlık, istemcinin müşteri tarafından sağlanan bir anahtarı şifreleme için kullandığı durumlarda geri döner; böylece istemci verilen anahtarla isteğin içeriğinin başarıyla şifrelendiğinden emin olabilir.
x-ms-encryption-scope Sürüm 2019-02-02 ve üzeri. Bu başlık, istek şifreleme kapsamı kullandıysa geri döner, böylece istemci şifreleme kapsamını kullanarak isteğin içeriğinin başarıyla şifrelendiğinden emin olabilir.
x-ms-version-id: <DateTime> Sürüm 2019-12-12 ve üzeri. Blobu benzersiz olarak tanımlayan opak bir DateTime değeri döndürür. Bu başlığın değeri, blobun sürümünü gösterir ve bloba erişim için sonraki isteklerde kullanılabilir.
x-ms-client-request-id İstekleri ve ilgili yanıtlarını gidermek için kullanılabilir. bu üst bilginin değeri, istekte mevcutsa ve değer 1.024'ten fazla görünür ASCII karakteri içermiyorsa x-ms-client-request-id üst bilgisinin değerine eşittir. İstekte x-ms-client-request-id üst bilgisi yoksa yanıtta bulunmaz.

Örnek yanıt

Response Status:  
HTTP/1.1 201 Created  
  
Response Headers:  
Transfer-Encoding: chunked  
x-ms-content-crc64: 77uWZTolTHU  
Date: Sun, 25 Sep 2011 00:17:44 GMT  
ETag: “0x8CB172A360EC34B”  
Last-Modified: Sun, 25 Sep 2011 00:17:43 GMT  
x-ms-version: 2011-08-18  
Server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0  
x-ms-version-id: <DateTime>  

Yetkilendirme

Azure Depolama'da herhangi bir veri erişim işlemi çağrılırken yetkilendirme gereklidir. aşağıda açıklandığı gibi Put Block List işlemini yetkileyebilirsiniz.

bir istek istek üst bilgisine sahip etiketleri belirtirse, çağıranın blob etiketlerini ayarlama işleminin yetkilendirme gereksinimlerini karşılaması gerekir.

Önemli

Microsoft, Azure Depolama'ya yönelik istekleri yetkilendirmek için Yönetilen kimliklerle Microsoft Entra Id kullanılmasını önerir. Microsoft Entra ID, Paylaşılan Anahtar yetkilendirmesine kıyasla üstün güvenlik ve kullanım kolaylığı sağlar.

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. Daha sonra belirteç, Blob hizmetine 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

Aşağıda bir Microsoft Entra kullanıcısı, grubu, yönetilen kimliği veya hizmet sorumlusunun Put Block List işlemini çağırması için gereken RBAC eylemi ve bu eylemi içeren en az ayrıcalıklı yerleşik Azure RBAC rolü verilmiştir:

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

İşlem, Put Block List blokların birleştirilerek bir blob oluşturulması sırasını uygular.

Aynı blok kimliği, bloklar listesinde birden fazla kez belirtilebilir. Bir blok kimliği birden fazla kez belirtilirse, bu blok listedeki her bir konumdaki bayt aralığını temsil eder. Bir blok kimliği listede birden fazla kez görünürse, blok kimliğinin her iki örneği de aynı blok listesinde belirtilmelidir. Başka bir deyişle, her iki örnek de Committed eleman, eleman Uncommitted veya Latest eleman içinde belirtilmelidir.

Ile Put Block List, mevcut blobu tek tek blokları ekleyerek, güncelleyerek veya silerek değiştirebilirsiniz, böylece tüm blobu tekrar yüklemenize gerek kalmaz. Mevcut taahhüt edilen engelleme listesinden ve taahhüt edilmemiş engelleme listesinden blok kimliklerini belirleyerek yeni bir blob oluşturabilir veya mevcut bir blobun içeriğini güncelleyebiliyorsunuz. Bu şekilde, bir blob'u commit edilmemiş blok listesinden birkaç yeni blok ve zaten mevcut blobun parçası olan committed block listesinden kalan blob belirleyerek güncelleyebiliyorsunuz.

Elemanda bir blok kimliği belirtilirse Latest ve aynı blok kimliği hem taahhüt edilmemiş blok listelerinde bulunursa, Put Block List blok belirlenmemiş blok listesinden commit edilir. Eğer blok kimliği taahhüt edilen blok listesinde varsa ancak taahhüt edilmemiş blok listesinde değilse, Put Block List blok bağlanmış blok listesinden commit edilir.

Bir blok blob'taki her blok farklı boyutta olabilir. Bir blok blobu en fazla 50.000 taahhüt edilmiş blok içerebilir. Bir blobla ilişkilendirilebilecek maksimum taahhüt edilmemiş blok sayısı 100.000'dir.

Aşağıdaki tablo, hizmet versiyonlarına göre izin verilen maksimum blok ve blob boyutlarını açıklar:

Hizmet sürümü Maksimum blok boyutu (via Put Block) Maksimum blob boyutu (via Put Block List) Tek yazma işlemiyle maksimum blob boyutu (via Put Blob)
Sürüm 2019-12-12 ve üzeri 4.000 mebibayt (MiB) Yaklaşık 190,7 tebibayt (TiB) (4.000 MiB × 50.000 blok) 5.000 MiB
2016-05-31'den 2019-07-07'ye kadar olan versiyonlar 100 MiB Yaklaşık 4.75 TiB (100 MiB × 50.000 blok) 256 MiB
2016-05-31 tarihinden önceki sürümler 4 MiB Yaklaşık 195 GiB (4 MiB × 50.000 blok) 64 MiB

Mevcut bir blobu güncellemek için çağrı Put Block List yaptığınızda, blobun mevcut özellikleri ve meta verileri üzerine yazılır. Ancak, mevcut anlık görüntüler blobla birlikte korunur. Koşullu istek başlıklarını yalnızca belirli bir koşul sağlandığında işlemi gerçekleştirmek için kullanabilirsiniz.

Eğer eksik bir blok nedeniyle işlem Put Block List başarısız olursa, eksik bloğu yüklemeniz gerekir.

Belirlenmemiş bloklar, son başarılı Put Block işlemden sonraki bir hafta içinde blob'a veya Put Block List üzerinde başarılı çağrılar Put Block yapılmazsa çöp olarak toplanır. Eğer blob'a Put Blob çağrılırsa, bağlanmamış bloklar çöp toplanır.

Başlıkta etiketler sağlanıyorsa x-ms-tags , sorgu dizisi ile kodlanmış olmalıdır. Etiket anahtarları ve değerleri, belirtildiği Set Blob Tagsgibi adlandırma ve uzunluk gereksinimlerine uygun olmalıdır. Ayrıca, x-ms-tags başlık 2 KiB'e kadar boyutta etiketler içerebilir. Daha fazla etiket gerekiyorsa, Set Blob Tags işlemini kullanın.

Blobun aktif bir kira sözleşmesi varsa, istemci engelleme listesini bağlamak için istekte geçerli bir kira kimliği belirtmelidir. İstemci ya kira kimliği belirtmezse ya da geçersiz bir kira kimliği belirtirse, Blob Storage durum kodu 412'yi (Ön Koşul Başarısız Oldu) döndürür. İstemci bir kira kimliği belirtiyorsa ama blobun aktif bir kiralaması yoksa, Blob Storage ayrıca 412 (Ön Koşul Başarısız Oldu) durum kodu döndürür. İstemci henüz var olmayan bir blob için bir kiralama kimliği belirtirse, Blob Storage 2013-08-15 veya daha sonraki sürümlere yönelik talepler için durum kodu 412 (Ön Koşul Başarısız oldu) döner. Önceki sürümler için Blob Storage durum kodu 201 (Oluşturuldu) döndürür.

Eğer blobun aktif bir kira sözleşmesi varsa ve blob'u güncellemek için ararsanız Put Block List , kira sözleşmesi güncellenmiş blob'da korunur.

Put Block List sadece blok lekeleri için geçerlidir. Bir sayfa blobunda çağrı Put Block List yapmak durum kodu 400 (Kötü İstek) ile sonuçlanır.

Bir archive blobun üzerine yazmak başarısız olur. Aksi takdirde, bir top, başlık x-ms-access-tier sağlanmazsa eski blob'tan seviyeyi miras alır.

Faturalandırma

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 ücretlendirilma şeklini etkiler. Ö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 Put Block List istekleri için faturalama kategorisi gösterilmektedir:

Operation Depolama hesabı türü Faturalama kategorisi
Blok Listesi Koy Premium blob bloğu
Standart Genel Amaçlı Versiyon 2
Standart Genel Amaçlı v1
Yazma işlemleri

Belirtilen faturalama kategorisinin fiyatlandırması hakkında bilgi edinmek için bkz. azure blob depolama fiyatlandırması.

Ayrıca bakınız

Blok bloblarını, ekle bloblarını ve sayfa bloblarını anlayın
azure depolama istekleri yetkilendirmeyi
Durum ve hata kodları
Blob servis hata kodları
Blob servis işlemleri için zaman aşımlarını ayarla