Share via


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:10000belirtin 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 , uncommittedveya alldeğ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 committedayarlanmış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 allve 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 allayarlanmış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 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 Listblocklisttype=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