Dapatkan Rentang Halaman

Operasi Dapatkan Rentang Halaman mengembalikan daftar rentang halaman yang valid untuk blob halaman atau rekam jepret blob halaman.

Minta

Permintaan Dapatkan Rentang Halaman dapat dibuat sebagai berikut. HTTPS disarankan. Ganti myaccount dengan nama akun penyimpanan Anda:

URI Permintaan Metode GET Versi HTTP
https://myaccount.blob.core.windows.net/mycontainer/myblob?comp=pagelist

https://myaccount.blob.core.windows.net/mycontainer/myblob?comp=pagelist&snapshot=<DateTime>

https://myaccount.blob.core.windows.net/mycontainer/myblob?comp=pagelist&snapshot=<DateTime>&prevsnapshot=<DateTime>
HTTP/1.1

URI layanan penyimpanan yang ditimulasi

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

URI Permintaan Metode GET Versi HTTP
http://127.0.0.1:10000/devstoreaccount1/mycontainer/myblob?comp=pagelist HTTP/1.1

Untuk informasi selengkapnya, lihat Menggunakan emulator Azure Storage untuk Pengembangan dan Pengujian.

Parameter URI

Parameter tambahan berikut dapat ditentukan pada URI permintaan.

Parameter Deskripsi
marker Opsional dalam versi 2020-10-02 dan yang lebih baru. Parameter marker mengidentifikasi bagian rentang yang akan dikembalikan dengan operasi GetPageRanges berikutnya. Operasi mengembalikan nilai penanda dalam isi respons jika rentang yang dikembalikan tidak selesai. Nilai penanda kemudian dapat digunakan dalam panggilan berikutnya untuk meminta serangkaian rentang berikutnya.

Nilai penanda buram untuk klien.
maxresults Opsional dalam versi 2020-10-02 dan yang lebih baru. Parameter maxresults menentukan jumlah maksimum rentang halaman yang akan dikembalikan. Jika permintaan menentukan nilai yang lebih besar dari 10000, server akan mengembalikan hingga 10000 item. Jika ada hasil tambahan yang harus dikembalikan, layanan mengembalikan token kelanjutan di elemen respons NextMarker.

Mengatur maxresult ke nilai yang kurang dari atau sama dengan nol menghasilkan kode respons kesalahan 400 (Permintaan Buruk).
snapshot Opsional. Parameter rekam jepret adalah nilai DateTime buram yang, saat ada, menentukan rekam jepret blob untuk mengambil informasi. Untuk informasi selengkapnya tentang bekerja dengan rekam jepret blob, lihat Membuat Rekam Jepret Blob.
timeout Opsional. Parameter timeout dinyatakan dalam hitung detik. Untuk informasi selengkapnya, lihat Mengatur Batas Waktu untuk Operasi Blob Service.
prevsnapshot Opsional dalam versi 2015-07-08 dan yang lebih baru. Parameter prevsnapshot adalah nilai DateTime yang menentukan bahwa respons hanya akan berisi halaman yang diubah antara blob target dan rekam jepret sebelumnya. Halaman yang diubah mencakup halaman yang diperbarui dan dihapus. Blob target mungkin rekam jepret, selama rekam jepret yang ditentukan oleh prevsnapshot adalah yang lebih lama dari keduanya.

Perhatikan bahwa rekam jepret inkremental saat ini hanya didukung untuk blob yang dibuat pada atau setelah 1 Januari 2016.

Judul Permintaan

Tabel berikut ini menjelaskan header permintaan yang diperlukan dan opsional.

Header Permintaan 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.
Range Opsional. Menentukan rentang byte untuk mencantumkan rentang, secara inklusif. Jika dihilangkan, maka semua rentang untuk blob dikembalikan.
x-ms-range Opsional. Menentukan rentang byte untuk mencantumkan rentang, secara inklusif. Jika dan Rangex-ms-range ditentukan, layanan menggunakan nilai x-ms-range. Lihat Menentukan Header Rentang untuk Operasi Blob Service untuk informasi selengkapnya.
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 kedua kondisi ini tidak terpenuhi, permintaan akan gagal dan operasi akan gagal dengan kode status 412 (Prasyarat Gagal).
x-ms-previous-snapshot-url Opsional dalam versi 2019-07-07 dan yang lebih baru. previous-snapshot-url menentukan bahwa respons hanya akan berisi halaman yang diubah antara blob target dan rekam jepret yang terletak di URI yang ditentukan. Halaman yang diubah mencakup halaman yang diperbarui dan dihapus. Blob target mungkin rekam jepret, selama rekam jepret yang ditentukan oleh header ini adalah yang lebih lama dari keduanya.

Perhatikan bahwa rekam jepret inkremental saat ini hanya didukung untuk blob yang dibuat pada atau setelah 1 Januari 2016 dan bahwa header ini hanya boleh digunakan dalam skenario Disk Terkelola. Jika tidak, gunakan prevsnapshot parameter .
x-ms-client-request-id Opsional. Menyediakan nilai buram yang dihasilkan klien dengan batas karakter 1 KiB yang dicatat dalam log analitik saat pengelogan analitik penyimpanan diaktifkan. Menggunakan header ini sangat direkomendasikan untuk mengkorelasi aktivitas sisi klien dengan permintaan yang diterima oleh server. Untuk informasi selengkapnya, lihat Tentang Pengelogan Storage Analytics dan Pengelogan Azure: Menggunakan Log untuk Melacak Permintaan Storage.

Operasi ini juga mendukung penggunaan header bersyar untuk mendapatkan rentang halaman hanya jika kondisi tertentu terpenuhi. Untuk informasi selengkapnya, lihat Menentukan Header Kondisional untuk Operasi Blob Service.

Isi Permintaan

Tidak ada.

Respons

Respons mencakup kode status HTTP, sekumpulan header respons, dan isi respons.

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 juga dapat mencakup header HTTP standar tambahan. Semua header standar sesuai dengan spesifikasi protokol HTTP/1.1.

Sintaks Deskripsi
Last-Modified Tanggal/waktu blob terakhir diubah. Format tanggal mengikuti RFC 1123.

Setiap operasi yang memodifikasi blob, termasuk pembaruan metadata atau properti blob, mengubah waktu modifikasi terakhir blob.
ETag ETag berisi nilai yang dapat digunakan klien untuk melakukan operasi secara kondisional. Jika versi permintaan adalah 2011-08-18 atau yang lebih baru, nilai ETag akan berada dalam tanda kutip.
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 Pemecahan Masalah Operasi API.
x-ms-version Menunjukkan versi blob service 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 menggunakan blob service versi 2009-09-19.
Date Nilai tanggal/waktu UTC yang dihasilkan oleh layanan yang menunjukkan waktu dimulainya respons.
x-ms-client-request-id Header ini 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 nilainya paling banyak 1024 karakter ASCII yang terlihat. x-ms-client-request-id Jika header tidak ada dalam permintaan, header ini tidak akan ada dalam respons.

Isi Respons

Isi respons menyertakan daftar rentang halaman yang valid yang tidak tumpang tindih, diurutkan berdasarkan peningkatan rentang halaman alamat. Format isi respons adalah sebagai berikut.

<?xml version="1.0" encoding="utf-8"?>  
<PageList>  
   <PageRange>  
      <Start>Start Byte</Start>  
      <End>End Byte</End>  
   </PageRange>  
   <PageRange>  
      <Start>Start Byte</Start>  
      <End>End Byte</End>  
   </PageRange>  
</PageList>  

Jika seluruh set halaman blob telah dibersihkan, isi respons tidak akan menyertakan rentang halaman apa pun.

prevsnapshot Jika parameter ditentukan, respons hanya akan menyertakan halaman yang berbeda antara rekam jepret atau blob target dan rekam jepret sebelumnya. Halaman yang dikembalikan mencakup kedua halaman yang diperbarui atau yang dibersihkan. Format isi respons ini adalah sebagai berikut:

<?xml version="1.0" encoding="utf-8"?>  
<PageList>  
   <PageRange>  
      <Start>Start Byte</Start>  
      <End>End Byte</End>  
   </PageRange>  
   <ClearRange>  
      <Start>Start Byte</Start>  
      <End>End Byte</End>  
   </ClearRange>  
   <PageRange>  
      <Start>Start Byte</Start>  
      <End>End Byte</End>  
   </PageRange>  
</PageList>  
  

Jika seluruh set halaman blob telah dibersihkan dan prevsnapshot parameter tidak ditentukan, isi respons tidak akan menyertakan rentang halaman apa pun.

maxresults Jika parameter ditentukan, respons hanya akan menyertakan jumlah rentang yang ditentukan dengan token kelanjutan dalam NextMarker tag. Token kelanjutan akan kosong jika tidak ada lagi rentang yang tertunda, jika tidak, token tersebut akan berisi nilai buram yang perlu dikirim sebagai marker parameter dalam permintaan berikutnya. Format isi respons ini adalah sebagai berikut:

<?xml version="1.0" encoding="utf-8"?>  
<PageList>  
   <PageRange>  
      <Start>Start Byte</Start>  
      <End>End Byte</End>  
   </PageRange>  
   <ClearRange>  
      <Start>Start Byte</Start>  
      <End>End Byte</End>  
   </ClearRange>  
   <PageRange>  
      <Start>Start Byte</Start>  
      <End>End Byte</End>  
   </PageRange>
   <NextMarker/>
</PageList>  
  

Authorization

Operasi ini dapat dilakukan oleh pemilik akun atau oleh siapa pun yang menggunakan Tanda Tangan Akses Bersama yang memiliki izin untuk membaca blob. Jika ACL kontainer diatur untuk mengizinkan akses anonim, klien apa pun dapat memanggil operasi ini.

Keterangan

Offset byte awal dan akhir untuk setiap rentang halaman bersifat inklusif.

Dalam blob halaman yang sangat terfragmentasi dengan sejumlah besar penulisan, Get Page Ranges permintaan dapat gagal karena waktu server internal habis. Aplikasi yang mengambil rentang blob halaman dengan sejumlah besar operasi tulis harus mengambil subset rentang halaman pada satu waktu. Untuk informasi selengkapnya, lihat Mendapatkan Rentang Halaman Blob Halaman Besar di Segmen.

Dimulai dengan versi 2015-07-08, Anda dapat memanggil Get Page Ranges dengan prevsnapshot parameter untuk mengembalikan halaman yang berbeda antara blob dasar dan rekam jepret, atau di antara dua rekam jepret blob. Dengan menggunakan perbedaan halaman ini, Anda dapat menyimpan rekam jepret bertahap dari blob halaman. Rekam jepret inkremental adalah cara hemat biaya untuk mencadangkan disk komputer virtual jika Anda ingin menerapkan solusi pencadangan Anda sendiri.

Memanggil Get Page Ranges dengan prevsnapshot parameter mengembalikan halaman yang telah diperbarui atau dibersihkan sejak rekam jepret yang ditentukan oleh prevsnapshot diambil. Anda kemudian dapat menyalin halaman yang dikembalikan ke blob halaman cadangan di akun penyimpanan lain, menggunakan Letakkan Halaman.

Dimulai dengan versi 2019-07-07, x-ms-previous-snapshot-url header dapat digunakan untuk menentukan rekam jepret di akun Disk Terkelola untuk rekam jepret inkremental. Jika tidak menggunakan Disk Terkelola, prevsnapshot parameter kueri harus digunakan.

Operasi tertentu pada blob akan menyebabkan Get Page Ranges gagal ketika dipanggil untuk mengembalikan rekam jepret inkremental. Get Pages Ranges akan gagal dengan kode kesalahan 409 (Konflik) jika dipanggil pada blob yang merupakan target permintaan Put Blob atau Copy Blob setelah rekam jepret yang ditentukan oleh prevsnapshot diambil. Jika target Get Page Ranges operasi itu sendiri adalah rekam jepret, maka panggilan akan berhasil selama rekam jepret yang ditentukan lebih prevsnapshot lama, dan tidak ada Put Blob atau Copy Blob operasi yang dipanggil dalam interval antara dua rekam jepret.

Catatan

Rekam jepret inkremental saat ini hanya didukung untuk blob yang dibuat pada atau setelah 1 Januari 2016. Mencoba menggunakan fitur ini pada blob yang lebih lama akan mengakibatkan BlobOverwritten kesalahan, yaitu kode kesalahan HTTP 409 (Konflik).

Lihat juga

Mengotorisasi permintaan ke Azure Storage
Kode Status dan Kesalahan
Mengatur Batas Waktu untuk Operasi Blob Service
Mendapatkan Rentang Halaman Blob Halaman Besar di Segmen