Blok Listesini Al
İşlem, Get Block List
bir blok blobunun parçası olarak karşıya yüklenen blokların listesini alır.
Blob için tutulan iki blok listesi vardır:
Kaydedilmiş Blok Listesi: Blok Listesini Koy kullanılarak belirtilen bloba başarıyla kaydedilmiş blokların listesi.
Kaydedilmemiş Blok Listesi: Blok Koy kullanılarak blob için karşıya yüklenen ancak henüz işlenmemiş blokların listesi. Bu bloklar Bir blob ile ilişkili olarak Azure'da depolanır, ancak henüz blobun bir parçasını oluşturmaz.
Kaydedilmiş blok listesini, kaydedilmemiş blok listesini veya her iki listeyi de döndürmek için öğesini çağırabilirsiniz Get Block List
. Anlık görüntü için işlenen blok listesini almak için de bu işlemi çağırabilirsiniz.
İstek
İstek Get Block List
aşağıdaki gibi oluşturulabilir. HTTPS kullanmanızı öneririz.
myaccount değerini depolama hesabınızın adıyla değiştirin:
GET yöntemi istek URI'si | HTTP sürümü |
---|---|
https://myaccount.blob.core.windows.net/mycontainer/myblob?comp=blocklist https://myaccount.blob.core.windows.net/mycontainer/myblob?comp=blocklist&snapshot=<DateTime> https://myaccount.blob.core.windows.net/mycontainer/myblob?comp=blocklist&versionid=<DateTime> |
HTTP/1.1 |
Öykünülmüş depolama hizmeti isteği
Öykünülmüş depolama hizmetinde istekte bulunulduğunda öykünücü konak adını ve Blob hizmeti bağlantı noktasını olarak 127.0.0.1:10000
belirtin ve ardından öykünülen depolama hesabı adını belirtin:
GET yöntemi istek URI'si | HTTP sürümü |
---|---|
http://127.0.0.1:10000/devstoreaccount1/mycontainer/myblob?comp=blocklist |
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 parametreleri belirtebilirsiniz:
URI parametresi | Description |
---|---|
snapshot |
İsteğe bağlı. Snapshot parametresi, mevcut olduğunda alınacak blob listesini belirten opak DateTime bir değerdir. Blob anlık görüntüleriyle çalışma hakkında daha fazla bilgi için bkz. Blobun anlık görüntüsünü İçerik Oluşturucu. |
versionid |
2019-12-12 ve sonraki sürümler için isteğe bağlı.
versionid parametresi, mevcut olduğunda alınacak blobun sürümünü belirten opak DateTime bir değerdir. |
blocklisttype |
yürütülen bloklar listesinin, kaydedilmemiş blokların listesinin veya her iki listenin birlikte döndürülerek döndürülmeyeceğini belirtir. Geçerli değerler , uncommitted veya all değerleridircommitted . Bu parametreyi atlarsanız, Get Block List işlenen blokların listesini döndürür. |
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'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 |
Anonim istekler için isteğe bağlı olarak 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. |
x-ms-lease-id:<ID> |
İsteğe bağlı. Bu üst bilgi belirtilirse, işlem yalnızca aşağıdaki koşulların her ikisi de karşılandığında gerçekleştirilir: - Blob'un kirası şu anda etkin. - İstekte belirtilen kira kimliği blobunkiyle eşleşir. Bu üst bilgi belirtilirse ve iki koşul da karşılanmazsa istek başarısız olur ve işlem 412 durum koduyla başarısız olur (Önkoşul Başarısız oldu). |
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 Blob Depolama. |
Bu işlem, yalnızca belirtilen bir koşul karşılandığında işlemi yürütmek 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 istek URI'si, MOV1.avi adlı bir blob için yürütülen blok listesini döndürür:
GET http://myaccount.blob.core.windows.net/movies/MOV1.avi?comp=blocklist&blocklisttype=committed HTTP/1.1
Aşağıdaki örnek istek URI'sinde hem kaydedilmiş hem de kaydedilmemiş blok listesi döndürülür:
GET http://myaccount.blob.core.windows.net/movies/MOV1.avi?comp=blocklist&blocklisttype=all HTTP/1.1
Aşağıdaki örnek istek URI'sinde anlık görüntü için kaydedilmiş blok listesi döndürülür. Anlık görüntü yalnızca kaydedilmiş bloklardan oluşur, bu nedenle onunla ilişkilendirilmiş kaydedilmemiş bloklar yoktur.
GET http://myaccount.blob.core.windows.net/mycontainer/myblob?comp=blocklist&snapshot=2009-09-30T20%3a11%3a15.2735974Z
Yanıt
Yanıt bir HTTP durum kodu, bir dizi yanıt üst bilgisi ve blok listesini içeren bir yanıt gövdesi içerir.
Durum kodu
Başarılı bir işlem 200 (Tamam) 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.
Yanıt üst bilgisi | Description |
---|---|
Last-Modified |
Blob'un en 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. Yalnızca blobda işlenen bloklar varsa döndürülür. Blobun meta verilerine veya özelliklerine yönelik güncelleştirmeler de dahil olmak üzere blobu değiştiren tüm işlemler, blobun son değiştirme zamanını değiştirir. |
ETag |
Blob için ETag. Yalnızca blobda işlenen bloklar varsa döndürülür. |
Content-Type |
Blobun MIME içerik türü.
application/xml varsayılan değerdir. |
x-ms-blob-content-length |
Blobun bayt cinsinden boyutu. |
x-ms-request-id |
Bu üst bilgi, yapılan isteği benzersiz olarak tanımlar ve isteğin sorunlarını gidermek için kullanılabilir. Daha fazla bilgi için bkz . API işlemleriyle ilgili sorunları giderme. |
x-ms-version |
İsteği yürütmek için kullanılan hizmet 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. Kapsayıcı Blob Depolama sürüm 2009-09-19 kullanılarak genel erişim için işaretlendiyse, bu üst bilgi belirtilen sürüm olmadan anonim istekler için de döndürülür. Not: Anonim bir istek aracılığıyla yalnızca yürütülen blok listesi döndürülebilir. |
Date |
Hizmet tarafından oluşturulan ve yanıtın başlatıldığı saati gösteren UTC tarih/saat değeri. |
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. |
Bu işlem, yalnızca belirtilen bir koşul karşılandığında blok listesini almak 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.
Yanıt gövdesi
Yalnızca işlenen blokları döndüren bir isteğin yanıt gövdesinin biçimi aşağıdaki gibidir:
<?xml version="1.0" encoding="utf-8"?>
<BlockList>
<CommittedBlocks>
<Block>
<Name>base64-encoded-block-id</Name>
<Size>size-in-bytes</Size>
</Block>
<CommittedBlocks>
</BlockList>
Hem işlenen hem de kaydedilmemiş blokları döndüren bir isteğin yanıt gövdesinin biçimi aşağıdaki gibidir:
<?xml version="1.0" encoding="utf-8"?>
<BlockList>
<CommittedBlocks>
<Block>
<Name>base64-encoded-block-id</Name>
<Size>size-in-bytes</Size>
</Block>
</CommittedBlocks>
<UncommittedBlocks>
<Block>
<Name>base64-encoded-block-id</Name>
<Size>size-in-bytes</Size>
</Block>
</UncommittedBlocks>
</BlockList>
Örnek yanıt
Aşağıdaki örnekte parametresi olarak committed
ayarlanmıştır, blocklisttype
bu nedenle yanıtta yalnızca blob'un işlenen blokları döndürülür.
HTTP/1.1 200 OK
Transfer-Encoding: chunked
Content-Type: application/xml
Server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0
x-ms-request-id: 42da571d-34f4-4d3e-b53e-59a66cb36f23
Date: Sun, 25 Sep 2011 00:33:19 GMT
<?xml version="1.0" encoding="utf-8"?>
<BlockList>
<CommittedBlocks>
<Block>
<Name>BlockId001</Name>
<Size>4194304</Size>
</Block>
<Block>
<Name>BlockId002</Name>
<Size>4194304</Size>
</Block>
</CommittedBlocks>
</BlockList>
Bu örnekte blocklisttype
parametresi olarak ayarlanmıştır all
ve yanıtta hem blob'un işlenen hem de kaydedilmemiş blokları döndürülür.
HTTP/1.1 200 OK
Transfer-Encoding: chunked
Content-Type: application/xml
Server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0
x-ms-request-id: 42da571d-34f4-4d3e-b53e-59a66cb36f23
Date: Sun, 25 Sep 2011 00:35:56 GMT
<?xml version="1.0" encoding="utf-8"?>
<BlockList>
<CommittedBlocks>
<Block>
<Name>BlockId001</Name>
<Size>4194304</Size>
</Block>
<Block>
<Name>BlockId002</Name>
<Size>4194304</Size>
</Block>
</CommittedBlocks>
<UncommittedBlocks>
<Block>
<Name>BlockId003</Name>
<Size>4194304</Size>
</Block>
<Block>
<Name>BlockId004</Name>
<Size>1024000</Size>
</Block>
</UncommittedBlocks>
</BlockList>
Bu sonraki örnekte blocklisttype
parametresi olarak all
ayarlanmıştır, ancak blob henüz işlenmediğinden CommittedBlocks
öğe boş olur.
HTTP/1.1 200 OK
Transfer-Encoding: chunked
Content-Type: application/xml
Server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0
x-ms-request-id: 42da571d-34f4-4d3e-b53e-59a66cb36f23
Date: Wed, 14 Sep 2011 00:40:22 GMT
<?xml version="1.0" encoding="utf-8"?>
<BlockList>
<CommittedBlocks />
<UncommittedBlocks>
<Block>
<Name>BlockId001</Name>
<Size>1024</Size>
</Block>
<Block>
<Name>BlockId002</Name>
<Size>1024</Size>
</Block>
<Block>
<Name>BlockId003</Name>
<Size>1024</Size>
</Block>
<Block>
<Name>BlockId004</Name>
<Size>1024</Size>
</Block>
</UncommittedBlocks>
</BlockList>
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 Get Block List
verebilirsiniz.
Ö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. 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, Microsoft Entra kullanıcı, grup, yönetilen kimlik veya hizmet sorumlusunun işlemi çağırması Get 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 eylemi:Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read
- En az ayrıcalıklı yerleşik rol:Depolama Blob Veri Okuyucusu
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
Bir blok bloba kaydedilmiş blokların listesini, henüz işlenmemiş blokların listesini veya her iki listeyi döndürmek için çağrısı Get Block List
.
blocklisttype
Döndürülecek blok listesini belirtmek için parametresini kullanın. İşlenmiş blokların listesi, Blok Listesini Koy işlemi tarafından işlendikleri sırayla döndürülür.
Çağrıların başarısız olduğu veya Put Block List
başarısız olduğu durumlarda blobda eksik olan blokları belirlemek için Put Block
kaydedilmemiş blok listesini kullanabilirsiniz. Kaydedilmemiş blokların listesi alfabetik sırada döndürülür. Bir blok kimliği birden çok kez karşıya yüklendiyse, listede yalnızca en son karşıya yüklenen blok görüntülenir.
Not
Bir blob henüz işlenmediğinde, ile blocklisttype=all
çağrısı Get Block List
kaydedilmemiş blokları döndürür ve CommittedBlocks
öğe boş olur.
Get Block List
, kaydedilmemiş blokların listesini okurken eşzamanlılığı desteklemez. Diğer okuma işlemlerinden daha düşük maksimum istek oranına sahip olan veya blocklisttype=all
bu değere Get Block List
blocklisttype=uncommitted
yapılan çağrılar. Okuma işlemleri için hedef aktarım hızı hakkında ayrıntılı bilgi için bkz. Azure Depolama ölçeklenebilirlik ve performans hedefleri.
2019-12-12 sürümünden itibaren blok blobu 4000 mebibayta (MiB) kadar blok içerebilir. Blok boyutunu temsil etmek için imzalı 32 bit tamsayı kullanan uygulamaları korumak için, 2019-12-12'den önceki bir REST sürümüne sahip 100 MiB'den büyük bir blok içeren blok blobunda çağrılması Get Block List
durum kodu 409(Çakışma) ile sonuçlanmıştır.
Get Block List
yalnızca blok blobları için geçerlidir. Sayfa blobunda çağrılması Get Block List
durum kodu 400 (Hatalı İstek) ile sonuçlanmıştır.
Get Block List
arşivlenmiş bir blok blobu başarısız olur.
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 ücretlendirilmeyi 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 istekler için Get Block List
faturalama kategorisi gösterilmektedir:
İşlem | Depolama hesabı türü | Faturalama kategorisi |
---|---|---|
Blok Listesini Al | Premium blok blobu Standart genel amaçlı v2 |
Diğer işlemler |
Blok Listesini Al | Standart genel amaçlı v1 | Okuma işlemleri |
Belirtilen faturalama kategorisinin fiyatlandırması hakkında bilgi edinmek için bkz. fiyatlandırma Azure Blob Depolama.
Ayrıca bkz.
Azure Depolama Durumu ve hata kodlarınayönelik istekleri yetkilendirmeBlob Depolama hata kodlarıBlob Depolama işlemleri için zaman aşımlarını ayarlama