Put Block List

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

Yalnızca değiştirilen blokları karşıya yükleyip yeni ve mevcut blokları birlikte işleyerek blobu güncelleştirmeyi çağırabilirsiniz Put Block List . Bunu yapmak için, kaydedilmiş blok listesinden veya kaydedilmemiş blok listesinden bir bloğun işlenmesini veya bloğun en son karşıya yüklenen sürümünün (hangi listeye aitse) işlenmesini belirtebilirsiniz.

İstek

İsteği aşağıdaki gibi oluşturabilirsiniz Put Block List . HTTPS kullanmanızı öneririz. myaccount değerini 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ünülmüş depolama hizmeti isteği

Öykünülen depolama hizmetine karşı istekte bulunulduğunda öykünücü konak adını ve Blob hizmeti bağlantı noktasını olarak 127.0.0.1:10000ve ardından öykünülen depolama hesabı adını belirtin:

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 İsteğe bağlı. timeout parametresi saniye cinsinden ifade edilir. Daha fazla bilgi için bkz. Blob hizmeti işlemleri için zaman aşımlarını ayarlama.

İstek üst bilgileri

Gerekli ve isteğe bağlı istek üst bilgileri aşağıdaki tabloda açıklanmıştı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 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 Gereklidir. İstek içeriğinin bayt cinsinden uzunluğu. Bu üst bilgi, blobun kendisini değil blok listesinin içerik uzunluğunu ifade eder.
Content-MD5 İsteğe bağlı. İ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 üst bilgi, blobun içeriğiyle değil istek içeriğiyle ilişkilendirilir.
x-ms-content-crc64 İsteğe bağlı. İstek içeriğinin CRC64 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 üst bilgi, blobun içeriğiyle değil istek içeriğiyle ilişkilendirilir.

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 İsteğe bağlı. Blob'un önbellek denetimini ayarlar. Bu özellik belirtilirse blob ile birlikte depolanır ve bir okuma isteğiyle döndürülür.

özellik istekle belirtilmezse, istek başarılı olursa blob için temizlenir.
x-ms-blob-content-type İsteğe bağlı. Blob'un içerik türünü ayarlar. Belirtilirse, bu özellik blob ile birlikte depolanır ve bir okuma isteğiyle döndürülür.

İçerik türü belirtilmezse, varsayılan türe (olan application/octet-stream) ayarlanır.
x-ms-blob-content-encoding İsteğe bağlı. Blob'un içerik kodlamasını ayarlar. Belirtilirse, bu özellik blob ile birlikte depolanır ve bir okuma isteğiyle döndürülür.

özellik istekle belirtilmezse, istek başarılı olursa blob için temizlenir.
x-ms-blob-content-language İsteğe bağlı. Blob'un içerik dilini ayarlar. Belirtilirse, bu özellik blob ile birlikte depolanır ve bir okuma isteğiyle döndürülür.

özellik istekle belirtilmezse, istek başarılı olursa blob için temizlenir.
x-ms-blob-content-md5 İsteğe bağlı. Blob içeriğinin MD5 karması. Her biri karşıya yüklendiğinde tek tek blokların karmaları doğrulandığından bu karma doğrulanmaz.

Blob Al işlemi, Content-MD5 yanıt üst bilgisinde bu üst bilginin değerini döndürür.

Bu özellik istekle belirtilmezse, istek başarılı olursa blob için temizlenir.
x-ms-meta-name:value İsteğe bağlı. Blobla ilişkilendirilmiş kullanıcı tanımlı ad-değer çiftleri.

Sürüm 2009-09-19 itibarıyla meta veri adları C# tanımlayıcıları için adlandırma kurallarına uymalıdır.
x-ms-encryption-scope İsteğe bağlı. Blobu şifrelemek için kullanılacak şifreleme kapsamını gösterir. Bu değer, işlenen 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 İsteğe bağlı. Varsayılan değer "Boş" şeklindedir. Değer ayarlanırsa blob sistemi meta verilerini ayarlar. Maksimum uzunluk-1024. Yalnızca hesap için Hiyerarşik Ad Alanı etkinleştirildiğinde geçerlidir. Bu üst bilgi 2021-08-06 ve sonraki sürümlerde desteklenir.
x-ms-tags İsteğe bağlı. Blobda belirtilen sorgu dizesi kodlanmış etiketlerini ayarlar. Ek bilgi için Açıklamalar bölümüne bakın. 2019-12-12 ve sonraki sürümlerde desteklenir.
x-ms-lease-id:<ID> Blob etkin bir kiraya sahipse gereklidir. Etkin kiralaması olan bir blobda bu işlemi gerçekleştirmek için bu üst bilgi için geçerli kira kimliğini belirtin.
x-ms-client-request-id İsteğe bağlı. Depolama analizi günlüğü yapılandırıldığında analiz günlüklerine kaydedilen 1 kibibaytlık (KiB) karakter sınırına sahip 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 İsteğe bağlı. Blob Content-Disposition üst bilgisini ayarlar. Sürüm 2013-08-15 ve üzeri için kullanılabilir.

Üst Content-Disposition bilgi alanı, yanıt yükünü işleme hakkında ek bilgiler sağlar ve ek meta veriler eklemek için kullanılabilir. Örneğin, olarak ayarlandıysa attachment, bu üst bilgi kullanıcı aracısının yanıtı görüntülememesi gerektiğini, bunun yerine farklı kaydet iletişim kutusunu göstermesi gerektiğini gösterir.

Blob Al ve BlobÖzelliklerini Al işlemlerinden alınan yanıt, content-disposition üst bilgisini içerir.
x-ms-access-tier İsteğe bağlı. Sürüm 2018-11-09 ve üzeri. Blobda ayarlanacak katmanı gösterir. Blok blobları için bu üst bilgi yalnızca 2018-11-09 ve sonraki sürümlere sahip blob depolama veya genel amaçlı v2 hesaplarında desteklenir. Blok blobu katmanları için geçerli değerler : Hot, Cool, Coldve Archive. Not: Cold katman, sürüm 2021-12-02 ve üzeri için desteklenir. Blok blobu katmanlama hakkında ayrıntılı bilgi için bkz . Sık erişimli, seyrek erişimli ve arşiv depolama katmanları.
x-ms-immutability-policy-until-date Sürüm 2020-06-12 ve üzeri. Blobda ayarlanacak saklama tarihine kadar olan tarihi belirtir. Bu, blob'un değiştirilmeye veya silinmeye karşı korunabileceği tarihtir. RFC1123 biçimi izler.
x-ms-immutability-policy-mode Sürüm 2020-06-12 ve üzeri. Blobda ayarlanacak değişmezlik ilkesi modunu belirtir. Geçerli değerler ve lockeddeğerleridirunlocked. unlocked değeri, kullanıcıların bekletme tarihine kadar olan saklama süresini artırarak veya azaltarak ilkeyi değiştirebileceğini gösterir. locked değeri, bu eylemlerin yasaklandığını gösterir.
x-ms-legal-hold Sürüm 2020-06-12 ve üzeri. Blobda ayarlanacak yasal saklamayı belirtir. Geçerli değerler ve falsedeğerleridirtrue.
x-ms-expiry-option İsteğe bağlı. Sürüm 2023-08-03 ve üzeri. İsteğin sona erme tarihi seçeneğini belirtir, bkz . ExpirationyOption. Bu üst bilgi hiyerarşik ad alanı etkinleştirilmiş hesaplar için geçerlidir.
x-ms-expiry-time İsteğe bağlı. Sürüm 2023-08-03 ve üzeri. Blob süresinin dolmak üzere ayarlandığı zamanı belirtir. Süre sonu tarihi biçimi'ne 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.

expiryTime İstek yeni bir değer içermiyorsa blobda zaten var olan temizlenmezexpiryTime

Bu işlem, yalnızca belirtilen bir koşul karşılandığında blok listesini işlemek 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 ü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 blobu şifreleme isteğinde aşağıdaki üst bilgileri belirtebilirsiniz. Müşteri tarafından sağlanan anahtarla (ve ilgili üst bilgi kümesiyle) şifreleme isteğe bağlıdır.

İstek üst bilgisi Açıklama
x-ms-encryption-key Gereklidir. Base64 kodlu AES-256 şifreleme anahtarı.
x-ms-encryption-key-sha256 Gereklidir. Şifreleme anahtarının Base64 kodlamalı SHA256 karması.
x-ms-encryption-algorithm: AES256 Gereklidir. Şifreleme için kullanılacak algoritmayı belirtir. Bu üst bilginin değeri olmalıdır AES256.

İstek gövdesi

İstek gövdesinde Blob Depolama'nın istenen bloğu denetlemesi gereken blok listesini belirtebilirsiniz. Bu şekilde, tüm blobu yeniden yüklemek yerine tek tek blokları ekleyerek, değiştirerek veya silerek mevcut blobu güncelleştirebilirsiniz. Değiştirilen bloğu veya blokları karşıya yükledikten sonra, yeni blokları tutmak istediğiniz mevcut bloklarla birlikte işleyerek blobun yeni bir sürümünü işleyebilirsiniz.

Bir blobu güncelleştirmek için, hizmetin işlenen blok listesinde, kaydedilmemiş blok listesinde veya önce kaydedilmemiş blok listesinde, sonra da kaydedilmiş blok listesinde bir blok kimliği araması gerektiğini belirtebilirsiniz. Hangi yaklaşımın kullanılacağını belirtmek için, istek gövdesindeki uygun XML öğesinin içindeki blok kimliğini aşağıdaki gibi belirtin:

  • Blob Depolama'nın Committed adlandırılmış blok için yalnızca kaydedilmiş blok listesinde arama yapması gerektiğini belirtmek için öğesi içindeki blok kimliğini belirtin. Blok, kaydedilmiş blok listesinde bulunmazsa blobun bir parçası olarak yazılamaz ve Blob Depolama 400 (Hatalı İstek) durum kodunu döndürür.

  • Blob Depolama'nın adlandırılmış blok için yalnızca kaydedilmemiş blok listesinde arama yapması gerektiğini belirtmek için öğesi içindeki Uncommitted blok kimliğini belirtin. Blok, kaydedilmemiş blok listesinde bulunmazsa blobun bir parçası olarak yazılmaz ve Blob Depolama 400 (Hatalı İstek) durum kodunu döndürür.

  • Blob Depolama'nın Latest önce kaydedilmemiş blok listesinde arama yapması gerektiğini belirtmek için öğesi içindeki blok kimliğini belirtin. Blok, kaydedilmemiş listede bulunursa, bloğun bu sürümü en son sürümüdür ve bloba yazılmalıdır. Blok, kaydedilmemiş listede bulunmazsa, hizmet adlandırılmış blok için kaydedilmiş blok listesinde arama yapmalı ve bulunursa bu bloğu bloba yazmalıdır.

bu sürümü Put Block List için istek gövdesi aşağıdaki XML biçimini 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>  
  

Örnek istek

göstermek Put Block Listiçin, şimdi işlemek istediğiniz üç bloğu karşıya yüklediğinizi varsayalım. Aşağıdaki örnek, listelenen her bloğun en son sürümünün kullanılması gerektiğini belirterek yeni bir blob işler. Bu blokların önceden işlenip işlenmediğini bilmek gerekli değildir.

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>  
  

Şimdi blobu güncelleştirmek istediğinizi varsayalım. Yeni blobda aşağıdaki değişiklikler vardır:

  • Kimliğine ANAAAA==sahip yeni bir blok. Bu bloğun önce Blok Koy çağrısıyla karşıya yüklenmesi gerekir ve çağrısı yapılana Put Block Listkadar kaydedilmemiş blok listesinde görünür.

  • Kimliğine AZAAAA==sahip bloğun güncelleştirilmiş sürümü. Bu bloğun önce Blok Koy çağrısıyla karşıya yüklenmesi gerekir ve çağrısı yapılana Put Block Listkadar kaydedilmemiş blok listesinde görünür.

  • Kimliğine AAAAAA==sahip bloğun kaldırılması. Bu blok bir sonraki çağrısına Put Block Listdahil olmadığından blok blobdan etkili bir şekilde kaldırılır.

Aşağıdaki örnekte blobu güncelleştiren çağrısı Put Block List gösterilmektedir:

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 yanıt üst bilgileri kümesi 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 ü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.

Yanıt Açıklamalar
ETag Varlık etiketi, istemcinin istek üst bilgisini kullanarak If-Match koşullu GET/PUT işlemler gerçekleştirmek için kullanabileceğ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 Blob'un son değiştirildiği tarih/saat. Tarih biçimi RFC 1123'e göredir. Daha fazla bilgi için bkz. Üst bilgilerde tarih/saat değerlerini temsil edin.

Blobun meta verilerinin veya özelliklerinin güncelleştirilmiş olması da dahil olmak üzere blobu değiştiren tüm işlemler, blobun son değiştirme zamanını değiştirir.
Content-MD5 İstemcinin ileti içerik bütünlüğünü denetleyebilmesi için döndürüldü. Bu üst bilgi, isteğin içeriğine başvurur (bu durumda blobun içeriğini değil blokların listesi). Sürüm 2019-02-02 ve üzeri için, bu üst bilgi yalnızca istekte bu üst bilgi olduğunda döndürülür.
x-ms-content-crc64 2019-02-02 ve sonraki sürümlerde, istemcinin ileti içeriği bütünlüğünü denetleyebilmesi için bu üst bilgi döndürülür. Bu üst bilgi, isteğin içeriğine başvurur (bu durumda blobun içeriğini değil blokların listesi).

İstekte üst bilgi olmadığında Content-md5 bu üst bilgi döndürülür.
x-ms-request-id Yapılan isteği benzersiz olarak tanımlar ve istekle ilgili sorunları gidermek için bunu kullanabilirsiniz. Daha fazla bilgi için bkz . API işlemleriyle ilgili sorunları giderme.
x-ms-version İsteği yürütmek için kullanılan Blob Depolama sürümü. Bu üst bilgi, 2009-09-19 ve sonraki sürümlerde 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 UTC tarih/saat değeri.
x-ms-request-server-encrypted: true/false Sürüm 2015-12-11 ve üzeri. İsteğin içeriği belirtilen algoritma kullanılarak başarıyla şifrelenirse bu üst bilginin değeri olarak ayarlanır true . Aksi takdirde, değer olarak falseayarlanır.
x-ms-encryption-key-sha256 Sürüm 2019-02-02 ve üzeri. İstek şifreleme için müşteri tarafından sağlanan bir anahtar kullandıysa bu üst bilgi döndürülür, böylece istemci isteğin içeriğinin sağlanan anahtar kullanılarak başarıyla şifrelendiğinden emin olabilir.
x-ms-encryption-scope Sürüm 2019-02-02 ve üzeri. İstek bir şifreleme kapsamı kullandıysa bu üst bilgi döndürülür, böylece istemci şifreleme kapsamı kullanılarak isteğin içeriğinin başarıyla şifrelenmesini sağlayabilir.
x-ms-version-id: <DateTime> Sürüm 2019-12-12 ve üzeri. Blobu benzersiz olarak tanımlayan opak DateTime bir değer döndürür. Bu üst bilginin değeri blobun sürümünü gösterir ve bloba erişmek için sonraki isteklerde kullanılabilir.
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 ve değer 1.024'ten fazla görünür ASCII karakteri içermiyorsa üst bilginin değerine x-ms-client-request-id eşittir. x-ms-client-request-id Üst bilgi istekte yoksa yanıtta mevcut değildir.

Ö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. İşlemi aşağıda açıklandığı gibi yetki Put Block List verebilirsiniz.

İstek, istek üst bilgisine x-ms-tags sahip etiketleri belirtirse çağıranın Blob Etiketlerini Ayarla işleminin yetkilendirme gereksinimlerini karşılaması gerekir.

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 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ı, grup veya hizmet sorumlusunun işlemi çağırması Put Block List 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 bir blob oluşturmak için birleştirilmeleri için sırayı zorlar.

Blok listesinde aynı blok kimliği birden çok kez belirtilebilir. Bir blok kimliği birden fazla kez belirtilirse, son işlenen blob için blok listesindeki bu konumların her birinde bayt aralığını temsil eder. Blok kimliği listede birden çok kez görünüyorsa, blok kimliğinin her iki örneği de aynı blok listesinde belirtilmelidir. Başka bir deyişle, her iki örnek de öğesinde, öğesinde Uncommitted veya öğesinde Latest belirtilmelidirCommitted.

ile Put Block List, tüm blobu yeniden karşıya yüklemek zorunda kalmadan blokları tek tek ekleyerek, güncelleştirerek veya silerek mevcut bir blobu değiştirebilirsiniz. Yeni bir blob oluşturmak veya mevcut bir blobun içeriğini güncelleştirmek için hem geçerli yürütülen blok listesinden hem de kaydedilmemiş blok listesinden blok kimlikleri belirtebilirsiniz. Bu şekilde, kaydedilmemiş blok listesinden birkaç yeni blok ve zaten var olan blobun parçası olan kaydedilmiş blok listesinden kalan blokları belirterek blobu güncelleştirebilirsiniz.

öğesinde Latest bir blok kimliği belirtilirse ve hem işlenen hem de işlenmeyen blok listelerinde aynı blok kimliği varsa, Put Block List bloğu kaydedilmemiş blok listesinden işler. Blok kimliği yürütülen blok listesinde yer alıyorsa ancak kaydedilmemiş blok listesinde yoksa, Put Block List bloğu yürütülen blok listesinden işler.

Blok blobundaki her blok farklı bir boyutta olabilir. Blok blobu en fazla 50.000 işlenen blok içerebilir. Blobla ilişkilendirilebilen en fazla kaydedilmemiş blok sayısı 100.000'dir.

Aşağıdaki tabloda hizmet sürümüne göre izin verilen en fazla blok ve blob boyutu açıklanmaktadır:

Hizmet sürümü En büyük blok boyutu (aracılığıyla Put Block) En büyük blob boyutu (aracılığıyla Put Block List) Tek yazma işlemiyle (aracılığıyla Put Blob) maksimum blob boyutu
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
Sürümler 2016-05-31 - 2019-07-07 100 MiB Yaklaşık 4,75 TiB (100 MiB × 50.000 blok) 256 MiB
2016-05-31'den önceki sürümler 4 MiB Yaklaşık 195 GiB (4 MiB × 50.000 blok) 64 MiB

Var olan bir blobu güncelleştirmek için çağrısı Put Block List yaptığınızda, blob'un mevcut özellikleri ve meta verilerinin üzerine yazılır. Ancak, mevcut anlık görüntüler blob ile korunur. koşullu istek üst bilgilerini kullanarak işlemi yalnızca belirtilen bir koşul karşılandığında gerçekleştirebilirsiniz.

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

Son başarılı Put Block işlemi izleyen bir hafta içinde bloba Put Block veya Put Block List blob üzerinde başarılı çağrı yapılmazsa, kaydedilmemiş bloklar çöp olarak toplanır. Blobu Yerleştir blobda çağrılırsa, kaydedilmemiş bloklar çöp olarak toplanır.

Etiketler üst bilgide x-ms-tags sağlanıyorsa, bunların sorgu dizesi kodlanmış olması gerekir. Etiket anahtarları ve değerleri, içinde Set Blob Tagsbelirtildiği gibi adlandırma ve uzunluk gereksinimlerine uygun olmalıdır. Ayrıca üst x-ms-tags bilgi en fazla 2 KiB boyutunda etiketler içerebilir. Daha fazla etiket gerekiyorsa Blob Etiketlerini Ayarla işlemini kullanın.

Blob etkin bir kiraya sahipse, istemcinin blok listesini işlemek için istekte geçerli bir kira kimliği belirtmesi gerekir. İstemci kiralama kimliği belirtmezse veya geçersiz bir kira kimliği belirtirse, Blob Depolama 412 (Önkoşul Başarısız) durum kodunu döndürür. İstemci bir kira kimliği belirtiyorsa ancak blob etkin bir kiraya sahip değilse, Blob Depolama 412 durum kodunu da döndürür (Önkoşul Başarısız oldu). İstemci henüz var olmayan bir blob üzerinde kira kimliği belirtirse, Blob Depolama 2013-08-15 veya sonraki bir sürüme yönelik istekler için 412 (Önkoşul Başarısız) durum kodunu döndürür. Önceki sürümler için Blob Depolama, 201 (Oluşturuldu) durum kodunu döndürür.

Blob etkin bir kiraya sahipse ve blobu güncelleştirmek için çağrısı Put Block List yaparsanız, kira güncelleştirilmiş blobda korunur.

Put Block List yalnızca blok blobları için geçerlidir. Sayfa blobunda çağrılması Put Block List 400 (Hatalı İstek) durum koduyla sonuçlanmıştır.

Arşivlenen blob'un üzerine yazma işlemi başarısız olur ve x-ms-access-tier üst bilgisi sağlanmazsa veya cool blobunun üzerine yazılması hot katmanı eski blobdan devralır.

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 Put Block List faturalama kategorisi gösterilmektedir:

İşlem Depolama hesabı türü Faturalama kategorisi
Put Block List Premium blok blobu
Standart genel amaçlı v2
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.

Blok bloblarını, ekleme bloblarını ve sayfa bloblarını anlama
Azure Depolama'ya yönelik istekleri yetkilendirme
Durum ve hata kodları
Blob hizmeti hata kodları
Blob hizmeti işlemleri için zaman aşımlarını ayarlama