Bagikan melalui


Dapatkan Daftar Blokir

Operasi ini Get Block List mengambil daftar blok yang telah diunggah sebagai bagian dari blob blok.

Ada dua daftar blokir yang dipertahankan untuk blob:

  • Daftar Blok berkomitmen: Daftar blok yang telah berhasil diterapkan ke blob tertentu dengan menggunakan Put Block List.

  • Daftar Blokir yang Tidak Diterapkan: Daftar blok yang telah diunggah untuk blob dengan menggunakan Put Block, tetapi itu belum dilakukan. Blok ini disimpan di Azure dalam kaitannya dengan blob, tetapi belum membentuk bagian dari blob.

Anda dapat memanggil Get Block List untuk mengembalikan daftar blokir yang diterapkan, daftar blokir yang tidak diterapkan, atau kedua daftar. Anda juga dapat memanggil operasi ini untuk mengambil daftar blokir yang diterapkan untuk rekam jepret.

Minta

Permintaan Get Block List dapat dibuat sebagai berikut. Kami menyarankan agar Anda menggunakan HTTPS. Ganti myaccount dengan nama akun penyimpanan Anda:

URI permintaan metode GET Versi HTTP
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

Permintaan layanan penyimpanan yang ditimulasi

Saat membuat permintaan terhadap layanan penyimpanan yang ditimulasi, tentukan nama host emulator dan port layanan Blob sebagai 127.0.0.1:10000, diikuti dengan nama akun penyimpanan yang ditimulasikan:

URI permintaan metode GET Versi HTTP
http://127.0.0.1:10000/devstoreaccount1/mycontainer/myblob?comp=blocklist HTTP/1.1

Untuk informasi selengkapnya, lihat Gunakan emulator Azurite untuk pengembangan Microsoft Azure Storage lokal.

Parameter URI

Anda dapat menentukan parameter tambahan berikut pada permintaan URI:

Parameter URI Deskripsi
snapshot Opsional. Parameter rekam jepret adalah nilai buram DateTime yang, saat ada, menentukan daftar blob untuk diambil. Untuk informasi selengkapnya tentang bekerja dengan rekam jepret blob, lihat Create rekam jepret blob.
versionid Opsional untuk versi 2019-12-12 dan yang lebih baru. Parameter versionid adalah nilai buram DateTime yang, ketika ada, menentukan versi blob yang akan diambil.
blocklisttype Menentukan apakah akan mengembalikan daftar blok yang diterapkan, daftar blok yang tidak diterapkan, atau kedua daftar bersama-sama. Nilai yang valid adalah committed, uncommitted, atau all. Jika Anda menghilangkan parameter ini, Get Block List mengembalikan daftar blok yang diterapkan.
timeout Pilihan. Parameter timeout dinyatakan dalam hitung detik. Untuk informasi selengkapnya, lihat Mengatur waktu habis untuk operasi Blob Storage.

Header permintaan

Tabel berikut ini menjelaskan header permintaan yang diperlukan dan opsional.

Meminta kop Deskripsi
Authorization Wajib diisi. Menentukan skema otorisasi, nama akun, dan tanda tangan. Untuk informasi selengkapnya, lihat Mengotorisasi permintaan ke Azure Storage.
Date atau x-ms-date Wajib diisi. Menentukan Waktu Universal Terkoordinasi (UTC) untuk permintaan tersebut. Untuk informasi selengkapnya, lihat Mengotorisasi permintaan ke Azure Storage.
x-ms-version Diperlukan untuk semua permintaan resmi, opsional untuk permintaan anonim. Menentukan versi operasi yang akan digunakan untuk permintaan ini. Untuk informasi selengkapnya, lihat Penerapan versi untuk layanan Azure Storage.
x-ms-lease-id:<ID> Opsional. Jika header ini ditentukan, operasi akan dilakukan hanya jika kedua kondisi berikut terpenuhi:

- Sewa blob saat ini aktif.
- ID sewa yang ditentukan dalam permintaan cocok dengan blob.

Jika header ini ditentukan dan salah satu kondisi tidak terpenuhi, permintaan gagal, dan operasi gagal dengan kode status 412 (Prasyarat Gagal).
x-ms-client-request-id Pilihan. Menyediakan nilai buram yang dihasilkan klien dengan batas karakter 1 kibibyte (KiB) yang dicatat dalam log saat pengelogan dikonfigurasi. Kami sangat menyarankan Anda menggunakan header ini untuk menghubungkan aktivitas sisi klien dengan permintaan yang diterima server. Untuk informasi selengkapnya, lihat Memantau Azure Blob Storage.

Operasi ini juga mendukung penggunaan header bersyar untuk menjalankan operasi hanya jika kondisi tertentu terpenuhi. Untuk informasi selengkapnya, lihat Menentukan header kondisional untuk operasi Blob Storage.

Isi permintaan

Tidak ada.

Permintaan sampel

Contoh permintaan URI berikut mengembalikan daftar blokir yang diterapkan untuk blob bernama MOV1.avi:

GET http://myaccount.blob.core.windows.net/movies/MOV1.avi?comp=blocklist&blocklisttype=committed HTTP/1.1

Contoh permintaan URI berikut mengembalikan daftar blokir yang diterapkan dan yang tidak diterapkan:

GET http://myaccount.blob.core.windows.net/movies/MOV1.avi?comp=blocklist&blocklisttype=all HTTP/1.1

Contoh permintaan URI berikut mengembalikan daftar blokir yang diterapkan untuk rekam jepret. Rekam jepret hanya terdiri dari blok yang diterapkan, sehingga tidak ada blok yang tidak diterapkan yang terkait dengannya.

GET http://myaccount.blob.core.windows.net/mycontainer/myblob?comp=blocklist&snapshot=2009-09-30T20%3a11%3a15.2735974Z

Respons

Respons mencakup kode status HTTP, sekumpulan header respons, dan isi respons yang berisi daftar blok.

Kode status

Operasi yang berhasil mengembalikan kode status 200 (OK).

Untuk informasi tentang kode status, lihat Status dan kode kesalahan.

Header respons

Respons untuk operasi ini mencakup header berikut. Respons mungkin juga menyertakan header HTTP standar tambahan. Semua header standar sesuai dengan spesifikasi protokol HTTP/1.1.

Header respons Deskripsi
Last-Modified Tanggal/waktu ketika blob terakhir diubah. Format tanggal mengikuti RFC 1123. Untuk informasi selengkapnya, lihat Mewakili nilai tanggal/waktu di header. Dikembalikan hanya jika blob telah menerapkan blok.

Setiap operasi yang memodifikasi blob, termasuk pembaruan pada metadata atau properti blob, mengubah waktu terakhir blob yang dimodifikasi.
ETag ETag untuk blob. Dikembalikan hanya jika blob telah menerapkan blok.
Content-Type Jenis konten MIME dari blob. Nilai defaultnya adalah application/xml.
x-ms-blob-content-length Ukuran blob dalam byte.
x-ms-request-id Header ini secara unik mengidentifikasi permintaan yang dibuat, dan dapat digunakan untuk memecahkan masalah permintaan. Untuk informasi selengkapnya, lihat Memecahkan masalah operasi API.
x-ms-version Menunjukkan versi layanan yang digunakan untuk menjalankan permintaan. Header ini dikembalikan untuk permintaan yang dibuat terhadap versi 2009-09-19 dan yang lebih baru.

Header ini juga dikembalikan untuk permintaan anonim tanpa versi yang ditentukan jika kontainer ditandai untuk akses publik dengan menggunakan Blob Storage versi 2009-09-19. Catatan: Hanya daftar blokir yang diterapkan yang dapat dikembalikan melalui permintaan anonim.
Date Nilai tanggal/waktu UTC yang dihasilkan oleh layanan, yang menunjukkan waktu ketika respons dimulai.
x-ms-client-request-id Dapat digunakan untuk memecahkan masalah permintaan dan respons yang sesuai. Nilai header ini sama dengan nilai x-ms-client-request-id header jika ada dalam permintaan dan nilai berisi tidak lebih dari 1.024 karakter ASCII yang terlihat. x-ms-client-request-id Jika header tidak ada dalam permintaan, header tidak ada dalam respons.

Operasi ini juga mendukung penggunaan header bersyar untuk mendapatkan daftar blokir hanya jika kondisi tertentu terpenuhi. Untuk informasi selengkapnya, lihat Menentukan header kondisional untuk operasi Blob Storage.

Isi Respons

Format isi respons untuk permintaan yang hanya mengembalikan blok yang diterapkan adalah sebagai berikut:

<?xml version="1.0" encoding="utf-8"?>
<BlockList>
  <CommittedBlocks>
    <Block>
      <Name>base64-encoded-block-id</Name>
      <Size>size-in-bytes</Size>
    </Block>
  <CommittedBlocks>
</BlockList>

Format isi respons untuk permintaan yang mengembalikan blok yang diterapkan dan tidak diterapkan adalah sebagai berikut:


<?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>

Respons sampel

Dalam contoh berikut, blocklisttype parameter diatur ke committed, sehingga hanya blok yang diterapkan blob yang dikembalikan dalam respons.

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>

Dalam contoh ini, blocklisttype parameter diatur ke all, dan blok yang diterapkan dan tidak diterapkan blob dikembalikan dalam respons.

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>

Dalam contoh berikutnya, blocklisttype parameter diatur ke all, tetapi blob belum diterapkan, sehingga CommittedBlocks elemen kosong.

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>

Authorization

Otorisasi diperlukan saat memanggil operasi akses data apa pun di Azure Storage. Anda dapat mengotorisasi operasi seperti yang Get Block List dijelaskan di bawah ini.

Penting

Microsoft merekomendasikan penggunaan Microsoft Entra ID dengan identitas terkelola untuk mengotorisasi permintaan ke Azure Storage. Microsoft Entra ID memberikan keamanan yang unggul dan kemudahan penggunaan dibandingkan dengan otorisasi Kunci Bersama.

Azure Storage mendukung penggunaan Microsoft Entra ID untuk mengotorisasi permintaan ke data blob. Dengan Microsoft Entra ID, Anda dapat menggunakan kontrol akses berbasis peran Azure (Azure RBAC) untuk memberikan izin kepada prinsip keamanan. Prinsip keamanan dapat berupa pengguna, grup, perwakilan layanan aplikasi, atau identitas terkelola Azure. Prinsip keamanan diautentikasi oleh Microsoft Entra ID untuk mengembalikan token OAuth 2.0. Token kemudian dapat digunakan untuk mengotorisasi permintaan terhadap Blob service.

Untuk mempelajari selengkapnya tentang otorisasi menggunakan Microsoft Entra ID, lihat Mengotorisasi akses ke blob menggunakan Microsoft Entra ID.

Izin

Tercantum di bawah ini adalah tindakan RBAC yang diperlukan untuk pengguna Microsoft Entra, grup, identitas terkelola, atau perwakilan layanan untuk memanggil Get Block List operasi, dan peran Azure RBAC bawaan yang paling tidak istimewa yang mencakup tindakan ini:

Untuk mempelajari selengkapnya tentang menetapkan peran menggunakan Azure RBAC, lihat Menetapkan peran Azure untuk akses ke data blob.

Keterangan

Panggil Get Block List untuk mengembalikan daftar blok yang telah diterapkan ke blob blok, daftar blok yang belum diterapkan, atau kedua daftar. blocklisttype Gunakan parameter untuk menentukan daftar blok mana yang akan dikembalikan. Daftar blok yang diterapkan dikembalikan dalam urutan yang sama dengan yang dilakukan oleh operasi Put Block List .

Anda dapat menggunakan daftar blokir yang tidak dikomit untuk menentukan blok mana yang hilang dari blob jika panggilan ke Put Block atau Put Block List telah gagal. Daftar blok yang tidak dikomit dikembalikan dalam urutan alfabet. Jika ID blok telah diunggah lebih dari sekali, hanya blok yang terakhir diunggah yang muncul dalam daftar.

Catatan

Ketika blob belum diterapkan, memanggil Get Block List dengan blocklisttype=all mengembalikan blok yang tidak dikomit, dan CommittedBlocks elemen kosong.

Get Block List tidak mendukung konkurensi saat membaca daftar blok yang tidak diterapkan. Panggilan ke Get Block List tempat blocklisttype=uncommitted atau blocklisttype=all memiliki tingkat permintaan maksimum yang lebih rendah daripada operasi baca lainnya. Untuk detail tentang throughput target untuk operasi baca, lihat Skalabilitas Azure Storage dan target performa.

Pada versi 2019-12-12, blob blok dapat berisi blok hingga 4000 mebibyte (MiB). Untuk melindungi aplikasi yang menggunakan bilangan bulat 32-bit yang ditandatangani untuk mewakili ukuran blok, panggilan Get Block List pada blob blok yang berisi blok yang lebih besar dari 100 MiB dengan versi REST yang lebih lama dari 2019-12-12 menghasilkan kode status 409 (Konflik).

Get Block List hanya berlaku untuk blob blok. Get Block List Panggilan pada blob halaman menghasilkan kode status 400 (Permintaan Buruk).

Get Block List pada blob blok yang diarsipkan akan gagal.

Billing

Permintaan harga dapat berasal dari klien yang menggunakan API Blob Storage, baik langsung melalui Blob Storage REST API, atau dari pustaka klien Azure Storage. Permintaan ini mengumpulkan biaya per transaksi. Jenis transaksi memengaruhi cara akun ditagih. Misalnya, transaksi baca bertambah ke kategori penagihan yang berbeda dari transaksi tulis. Tabel berikut ini memperlihatkan kategori penagihan untuk Get Block List permintaan berdasarkan jenis akun penyimpanan:

Operasi Jenis akun penyimpanan Kategori penagihan
Dapatkan Daftar Blokir Objek besar biner blok premium
Tujuan umum standar v2
Operasi lainnya
Dapatkan Daftar Blokir Tujuan umum standar v1 Membacakan operasi

Untuk mempelajari tentang harga untuk kategori penagihan yang ditentukan, lihat harga Azure Blob Storage.

Lihat juga

Mengotorisasi permintaan ke Status Azure Storagedan kode kesalahan kode kesalahanBlob StorageMengatur waktu habis untuk operasi Blob Storage