Blob Rekam Jepret

Operasi ini Snapshot Blob membuat rekam jepret baca-saja dari blob.

Minta

Anda dapat membuat Snapshot Blob permintaan sebagai berikut. HTTPS disarankan. Ganti myaccount dengan nama akun penyimpanan Anda:

URI permintaan metode PUT Versi HTTP
https://myaccount.blob.core.windows.net/mycontainer/myblob?comp=snapshot HTTP/1.1

URI layanan penyimpanan yang ditimulasikan

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

URI permintaan metode PUT Versi HTTP
http://127.0.0.1:10000/devstoreaccount1/mycontainer/myblob?comp=snapshot 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 URI permintaan.

Parameter Deskripsi
timeout Opsional. Parameter timeout dinyatakan dalam hitung detik. Untuk informasi selengkapnya, lihat Mengatur batas waktu 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 yang diotorisasi. Menentukan versi operasi yang akan digunakan untuk permintaan ini. Untuk informasi selengkapnya, lihat Penerapan versi untuk layanan Azure Storage.
x-ms-meta-name:value Opsional. Menentukan pasangan nama-nilai yang ditentukan pengguna yang terkait dengan blob. Jika Anda tidak menentukan pasangan nama-nilai apa pun, operasi menyalin metadata blob dasar ke rekam jepret. Jika Anda menentukan satu atau beberapa pasangan nilai nama, rekam jepret dibuat dengan metadata yang ditentukan, dan metadata tidak disalin dari blob dasar.

Perhatikan bahwa dimulai dengan versi 2009-09-19, nama metadata harus mematuhi aturan penamaan untuk pengidentifikasi C#. Lihat Penamaan dan referensi kontainer, blob, dan metadata untuk informasi selengkapnya.
If-Modified-Since Pilihan. Nilai DateTime. Tentukan header kondisional ini untuk mengambil rekam jepret blob, hanya jika telah dimodifikasi sejak tanggal/waktu yang ditentukan. Jika blob dasar belum dimodifikasi, Blob Storage mengembalikan kode status 412 (Prasyarat Gagal).
If-Unmodified-Since Opsional. Nilai DateTime. Tentukan header kondisional ini untuk mengambil rekam jepret blob, hanya jika belum dimodifikasi sejak tanggal/waktu yang ditentukan. Jika blob dasar telah dimodifikasi, Blob Storage mengembalikan kode status 412 (Prasyarat Gagal).
If-Match Opsional. Sebuah nilai ETag. ETag Tentukan nilai untuk header kondisional ini untuk mengambil rekam jepret blob, hanya jika nilainya ETag cocok dengan nilai yang ditentukan. Jika nilai tidak cocok, Blob Storage mengembalikan kode status 412 (Prasyarat Gagal).
If-None-Match Pilihan. Sebuah nilai ETag.

ETag Tentukan nilai untuk header kondisional ini untuk mengambil rekam jepret blob, hanya jika nilainya ETag tidak cocok dengan nilai yang ditentukan. Jika nilainya identik, Blob Storage mengembalikan kode status 412 (Prasyarat Gagal).
x-ms-encryption-scope Pilihan. Menunjukkan cakupan enkripsi yang akan digunakan untuk mengenkripsi konten permintaan. Header ini didukung dalam versi 2019-02-02 dan yang lebih baru.
x-ms-lease-id:<ID> Pilihan. Jika Anda menentukan header ini, operasi 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 ini tidak terpenuhi, permintaan gagal. Operasi Snapshot Blob 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 kondisional untuk menjalankan operasi, hanya jika kondisi tertentu terpenuhi. Untuk informasi selengkapnya, lihat Menentukan header kondisional untuk operasi Blob Storage.

Header permintaan (kunci enkripsi yang disediakan pelanggan)

Dimulai dengan versi 2019-02-02, Anda dapat menentukan header berikut pada permintaan untuk mengenkripsi blob dengan kunci yang disediakan pelanggan. Enkripsi dengan kunci yang disediakan pelanggan (dan set header yang sesuai) bersifat opsional. Jika blob sebelumnya telah dienkripsi dengan kunci yang disediakan pelanggan, header ini harus disertakan pada permintaan untuk menyelesaikan operasi baca dengan sukses.

Meminta kop Deskripsi
x-ms-encryption-key Wajib diisi. Kunci enkripsi AES-256 yang dikodekan Base64.
x-ms-encryption-key-sha256 Wajib diisi. Hash SHA256 yang dikodekan Base64 dari kunci enkripsi.
x-ms-encryption-algorithm: AES256 Wajib diisi. Menentukan algoritma yang akan digunakan untuk enkripsi. Nilai header ini harus AES256.

Isi permintaan

Tidak ada.

Respons

Respons mencakup kode status HTTP dan sekumpulan header respons.

Kode status

Operasi yang berhasil mengembalikan kode status 201 (Dibuat). Untuk informasi tentang kode status, lihat Kode status dan 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
x-ms-snapshot: <DateTime> Mengembalikan DateTime nilai yang secara unik mengidentifikasi rekam jepret. Nilai header ini menunjukkan versi rekam jepret, dan Anda dapat menggunakannya dalam permintaan berikutnya untuk mengakses rekam jepret. Perhatikan bahwa nilai ini buram.
ETag ETag dari rekam jepret. Jika versi permintaan adalah 2011-08-18 atau yang lebih baru, nilainya ETag akan berada dalam tanda kutip. Perhatikan bahwa rekam jepret tidak dapat ditulis, sehingga ETag rekam jepret tertentu tidak pernah berubah. Namun, ETag rekam jepret akan berbeda dari blob dasar jika metadata baru disediakan dengan Snaphot Blob permintaan. Jika tidak ada metadata yang ditentukan dengan permintaan, ETag rekam jepret akan identik dengan blob dasar, pada saat rekam jepret diambil.
Last-Modified Waktu terakhir yang dimodifikasi dari rekam jepret. Untuk informasi selengkapnya, lihat Representasi nilai tanggal-waktu di header.

Perhatikan bahwa rekam jepret tidak dapat ditulis, sehingga waktu terakhir yang dimodifikasi dari rekam jepret tertentu tidak pernah berubah. Namun, waktu terakhir yang dimodifikasi dari rekam jepret akan berbeda dari blob dasar jika metadata baru disediakan dengan Snaphot Blob permintaan. Jika tidak ada metadata yang ditentukan dengan permintaan, waktu terakhir rekam jepret yang dimodifikasi akan identik dengan blob dasar, pada saat rekam jepret diambil.
x-ms-request-id 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 Storage yang digunakan untuk menjalankan permintaan. Header ini dikembalikan untuk permintaan yang dibuat terhadap versi 2009-09-19 dan yang lebih baru.
Date Nilai tanggal/waktu UTC yang menunjukkan waktu di mana respons dimulai. Layanan menghasilkan nilai ini.
x-ms-request-server-encrypted: true/false Versi 2019-02-02 atau yang lebih baru. Nilai header ini diatur ke true, jika konten permintaan berhasil dienkripsi dengan menggunakan algoritma yang ditentukan. Jika tidak, nilai diatur ke false.
x-ms-encryption-key-sha256 Versi 2019-02-02 atau yang lebih baru. Dikembalikan jika permintaan menggunakan kunci yang disediakan pelanggan untuk enkripsi. Klien dapat memastikan bahwa konten permintaan berhasil dienkripsi dengan menggunakan kunci yang disediakan.
x-ms-encryption-scope Versi 2019-02-02 atau yang lebih baru. Dikembalikan jika permintaan menggunakan cakupan enkripsi. Klien dapat memastikan bahwa konten permintaan berhasil dienkripsi dengan menggunakan cakupan enkripsi.
x-ms-version-id: <DateTime> Versi 2019-12-12 dan yang lebih baru. Mengembalikan nilai buram DateTime yang secara unik mengidentifikasi blob. Nilai header ini menunjukkan versi blob, dan Anda dapat menggunakannya dalam permintaan berikutnya untuk mengakses blob.
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. Nilainya paling banyak 1.024 karakter ASCII yang terlihat. x-ms-client-request-id Jika header tidak ada dalam permintaan, header tidak akan ada dalam respons.

Isi Respons

Tidak ada.

Authorization

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

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 bagi pengguna, grup, atau perwakilan layanan Microsoft Entra untuk memanggil Snapshot Blob operasi, dan peran Azure RBAC bawaan 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

Rekam jepret menyediakan versi blob baca-saja. Setelah membuat rekam jepret, Anda dapat membaca, menyalin, atau menghapusnya, tetapi Anda tidak dapat mengubahnya.

Rekam jepret menyediakan cara mudah untuk mencadangkan data blob. Anda dapat menggunakan rekam jepret untuk memulihkan blob ke versi yang lebih lama dengan memanggil Salin Blob, untuk menimpa blob dasar dengan rekam jepretnya.

Saat Anda membuat rekam jepret, Blob Storage mengembalikan DateTime nilai yang secara unik mengidentifikasi rekam jepret relatif terhadap blob dasarnya. Anda dapat menggunakan nilai ini untuk melakukan operasi lebih lanjut pada rekam jepret. Perhatikan bahwa Anda harus memperlakukan nilai ini DateTime sebagai buram.

Nilai DateTime mengidentifikasi rekam jepret pada URI. Misalnya, blob dasar dan rekam jepretnya memiliki URI yang mirip dengan yang berikut ini:

  • Blob dasar: http://myaccount.blob.core.windows.net/mycontainer/myblob

  • Snapshot: http://myaccount.blob.core.windows.net/mycontainer/myblob?snapshot=<DateTime>

Perhatikan bahwa setiap kali Anda memanggil Snapshot Blob operasi, Anda membuat rekam jepret baru, dengan nilai unik DateTime . Blob dapat mendukung sejumlah rekam jepret. Rekam jepret yang ada tidak pernah ditimpa. Anda menghapusnya secara eksplisit dengan memanggil Hapus Blob, dan mengatur x-ms-include-snapshots header ke nilai yang sesuai.

Panggilan yang berhasil untuk Snapshot Blob mengembalikan DateTime nilai di x-ms-snapshot header respons. Anda kemudian dapat menggunakan nilai ini DateTime untuk melakukan operasi baca, hapus, atau salin pada versi rekam jepret tertentu. Anda dapat memanggil operasi Blob Storage apa pun yang valid untuk rekam jepret dengan menentukan ?snapshot=<DateTime> setelah nama blob.

Saat Anda membuat rekam jepret blob, properti sistem berikut disalin ke rekam jepret dengan nilai yang sama:

  • Content-Type

  • Content-Encoding

  • Content-Language

  • Content-Length

  • Cache-Control

  • Content-MD5

  • x-ms-blob-sequence-number (hanya untuk blob halaman)

  • x-ms-blob-committed-block-count (hanya untuk blob tambahan)

  • x-ms-copy-id (versi 2012-02-12 dan yang lebih baru)

  • x-ms-copy-status (versi 2012-02-12 dan yang lebih baru)

  • x-ms-copy-source (versi 2012-02-12 dan yang lebih baru)

  • x-ms-copy-progress (versi 2012-02-12 dan yang lebih baru)

  • x-ms-copy-completion-time (versi 2012-02-12 dan yang lebih baru)

  • x-ms-copy-status-description (versi 2012-02-12 dan yang lebih baru)

Daftar blokir yang diterapkan blob dasar juga disalin ke rekam jepret, jika blob adalah blob blok. Setiap blok yang tidak dikomit tidak disalin.

Blob rekam jepret selalu berukuran sama dengan blob dasar pada saat rekam jepret diambil. Nilai Content-Length header untuk blob rekam jepret akan sama dengan blob dasar.

Anda dapat menentukan satu atau beberapa nilai metadata baru untuk rekam jepret dengan menentukan x-ms-meta-name:value header pada permintaan. Jika header ini tidak ditentukan, metadata yang terkait dengan blob dasar disalin ke rekam jepret.

Tag apa pun yang terkait dengan blob dasar disalin ke rekam jepret. Tidak dimungkinkan untuk mengatur nilai tag baru untuk rekam jepret.

Anda dapat menentukan header kondisional pada permintaan untuk mengambil rekam jepret blob hanya jika kondisi terpenuhi. Jika kondisi yang ditentukan tidak terpenuhi, rekam jepret tidak dibuat. Layanan mengembalikan kode status 412 (Prasyarat Gagal), bersama dengan informasi kesalahan tambahan tentang kondisi yang tidak terpenuhi.

Jika blob dasar memiliki sewa aktif, Anda dapat mengambil rekam jepret blob selama salah satu kondisi berikut benar dari permintaan:

  • Header kondisional x-ms-lease-id ditentukan, dan ID sewa aktif untuk blob dasar disertakan dalam permintaan. Kondisi ini menentukan bahwa rekam jepret dibuat hanya jika sewa aktif, dan ID sewa yang ditentukan cocok dengan yang terkait dengan blob.

  • Header x-ms-lease-id tidak ditentukan sama sekali, dalam hal ini sewa eksklusif-tulis diabaikan.

Perhatikan bahwa sewa yang terkait dengan blob dasar tidak disalin ke rekam jepret. Rekam jepret tidak dapat disewakan.

Saat Anda menyalin blob dasar dengan menggunakan operasi Salin Blob , rekam jepret apa pun dari blob dasar tidak disalin ke blob tujuan. Ketika blob tujuan ditimpa dengan salinan, rekam jepret apa pun yang terkait dengan blob tujuan tetap utuh dengan namanya.

Anda dapat menyalin blob rekam jepret melalui blob dasarnya untuk memulihkan versi blob yang lebih lama. Rekam jepret tetap ada, tetapi blob dasar ditimpa dengan salinan yang dapat dibaca dan ditulis.

Catatan

Mempromosikan rekam jepret tidak dikenakan biaya tambahan untuk sumber daya penyimpanan. Ini karena blok atau halaman dibagikan antara rekam jepret dan blob dasar.

Anda dapat mengatur tingkat blob pada rekam jepret, dimulai dengan REST versi 2019-12-12. Jika tingkat diatur pada blob akar, semua rekam jepret mewarisi tingkat dari blob dasar. Mengambil rekam jepret pada blob yang diarsipkan akan gagal. Secara eksplisit mengatur tingkat pada objek menghasilkan penagihan untuk ukuran penuh objek. Mengambil rekam jepret blob yang memiliki set tingkat menghasilkan penagihan salinan lengkap blob akar dan rekam jepret. Untuk informasi terperinci tentang tingkatan tingkat blob blok, lihat Tingkat penyimpanan panas, dingin, dan arsip.

Ada beberapa perbedaan antara akun Azure Premium Storage dan akun penyimpanan standar, dalam hal rekam jepret:

  • Jumlah rekam jepret per blob halaman di akun Penyimpanan Premium dibatasi hingga 100. Jika batas tersebut terlampaui, Snapshot Blob operasi mengembalikan kode kesalahan 409 (Jumlah Rekam Jepret Terlampaui).

  • Anda dapat mengambil rekam jepret blob halaman di akun Penyimpanan Premium setiap sepuluh menit sekali. Jika laju tersebut terlampaui, Snapshot Blob operasi mengembalikan kode kesalahan 409 (Tingkat Operasi Rekam Jepret Terlampaui).

  • Anda tidak dapat membaca rekam jepret blob halaman di akun Penyimpanan Premium dengan menggunakan Get Blob. Dalam situasi ini, layanan mengembalikan kode kesalahan 400 (Operasi Tidak Valid). Namun, Anda dapat memanggil Dapatkan Properti Blob dan Dapatkan Metadata Blob terhadap rekam jepret.

    Untuk membaca rekam jepret, Anda dapat menggunakan operasi Salin Blob untuk menyalin rekam jepret ke blob halaman lain di akun. Blob tujuan untuk operasi salin tidak boleh memiliki rekam jepret yang ada. Jika blob tujuan memang memiliki rekam jepret, maka Copy Blob mengembalikan kode kesalahan 409 (SnapshotsPresent).

Untuk informasi selengkapnya, lihat Menggunakan operasi Blob Storage dengan Azure Premium Storage.

Saat penerapan versi diaktifkan, membuat rekam jepret blob juga menghasilkan versi baru dan menyimpan versi blob dasar sebelumnya. Parameter x-ms-version-id mengembalikan nilai buram DateTime untuk versi baru blob.

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 Snapshot Blob permintaan berdasarkan jenis akun penyimpanan:

Operasi Jenis akun penyimpanan Kategori penagihan
Blob Rekam Jepret Objek besar biner blok premium
Tujuan umum standar v2
Tujuan umum standar v1
Membacakan operasi

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

Lihat juga

Membuat rekam jepret dari blob

Mengotorisasi permintaan ke Azure Storage

Status dan kode galat

Kode kesalahan Blob Storage