Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Operasi ini Put Blob membuat blob blok, halaman, atau tambahan baru, atau memperbarui konten blob blok yang ada. Operasi akan Put Blob menimpa semua konten blob yang ada dengan nama yang sama.
Saat Anda memperbarui blob blok yang ada, Anda menimpa metadata yang ada pada blob. Konten blob yang ada ditimpa dengan konten blob baru. Pembaruan parsial tidak didukung dengan Put Blob. Untuk melakukan pembaruan parsial konten blob blok, gunakan operasi Put Block List .
Anda dapat membuat blob tambahan dalam versi 2015-02-21 dan yang lebih baru saja.
Panggilan ke a Put Blob untuk membuat blob halaman atau blob tambahan hanya menginisialisasi blob. Jika blob sudah ada, isinya akan dihapus. Untuk menambahkan konten ke blob halaman, panggil operasi Put Page . Untuk menambahkan konten ke blob penambahan, panggil operasi Blokir Tambahkan .
Permohonan
Anda dapat membuat permintaan Put Blob sebagai berikut. Kami menyarankan agar Anda menggunakan HTTPS. Ganti akun saya dengan nama akun penyimpanan Anda:
| URI permintaan metode PUT | Versi HTTP |
|---|---|
https://myaccount.blob.core.windows.net/mycontainer/myblob |
HTTP/1.1 |
Permintaan layanan penyimpanan yang ditimulasi
Saat Anda membuat permintaan terhadap layanan penyimpanan yang diemulasi, tentukan nama host emulator dan port layanan Blob sebagai 127.0.0.1:10000, diikuti dengan nama akun penyimpanan yang diemulasi:
| URI permintaan metode PUT | Versi HTTP |
|---|---|
http://127.0.0.1:10000/devstoreaccount1/mycontainer/myblob |
HTTP/1.1 |
Emulator penyimpanan hanya mendukung ukuran blob hingga 2 gibibyte (GiB).
Untuk informasi selengkapnya, lihat Menggunakan emulator Azurite untuk pengembangan Azure Storage lokal.
URI Parameter
Parameter tambahan berikut dapat ditentukan pada URI permintaan:
| Pengaturan | Description |
|---|---|
timeout |
Optional. Parameter dinyatakan timeout dalam detik. Untuk informasi selengkapnya, lihat Mengatur batas waktu untuk operasi layanan Blob. |
Header permintaan (semua jenis blob)
Header permintaan yang diperlukan dan opsional untuk semua jenis blob dijelaskan dalam tabel berikut:
| Tajuk permintaan | Description |
|---|---|
Authorization |
Dibutuhkan. Menentukan skema otorisasi, nama akun, dan tanda tangan. Untuk informasi selengkapnya, lihat Mengotorisasi permintaan ke Azure Storage. |
Date atau x-ms-date |
Dibutuhkan. 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. Menentukan versi operasi yang akan digunakan untuk permintaan ini. Untuk informasi selengkapnya, lihat Penerapan versi untuk layanan Azure Storage. |
Content-Length |
Dibutuhkan. Lamanya permintaan. Untuk blob halaman atau blob penambahan, nilai header ini harus diatur ke nol, karena Put Blob hanya digunakan untuk menginisialisasi blob. Untuk menulis konten ke blob halaman yang ada, panggil Put Page. Untuk menulis konten ke blob penambahan, panggil Blok Tambahkan. |
Content-Type |
Optional. Jenis konten MIME dari blob. Jenis defaultnya adalah application/octet-stream. |
Content-Encoding |
Optional. Menentukan pengodean konten mana yang telah diterapkan ke blob. Nilai ini dikembalikan ke klien saat operasi Get Blob dilakukan pada sumber daya blob. Saat nilai ini dikembalikan, klien dapat menggunakannya untuk memecahkan kode konten blob. |
Content-Language |
Optional. Menentukan bahasa alami yang digunakan oleh sumber daya ini. |
Content-MD5 |
Optional. Hash MD5 dari konten blob. Hash ini digunakan untuk memverifikasi integritas blob selama transportasi. Saat header ini ditentukan, layanan penyimpanan memeriksa hash yang telah tiba terhadap yang dikirim. Jika kedua hash tidak cocok, operasi gagal dengan kode kesalahan 400 (Permintaan Buruk). Ketika header dihilangkan dalam versi 2012-02-12 atau yang lebih baru, Blob Storage menghasilkan hash MD5. Hasil dari Get Blob, Get Blob Properties, dan List Blobs menyertakan hash MD5. |
x-ms-content-crc64 |
Optional. Hash CRC64 dari konten blob. Hash ini digunakan untuk memverifikasi integritas blob selama transportasi. Saat header ini ditentukan, layanan penyimpanan memeriksa hash yang telah tiba terhadap yang dikirim. Jika kedua hash tidak cocok, operasi gagal dengan kode kesalahan 400 (Permintaan Buruk). Header ini didukung dalam versi 02-02-2019 dan yang lebih baru. Jika header Content-MD5 dan x-ms-content-crc64 ada, permintaan gagal dengan 400 (Permintaan Buruk). |
Cache-Control |
Optional. Blob Storage menyimpan nilai ini tetapi tidak menggunakan atau memodifikasinya. |
x-ms-blob-content-type |
Optional. Atur jenis konten blob. |
x-ms-blob-content-encoding |
Optional. Atur pengkodean konten blob. |
x-ms-blob-content-language |
Optional. Atur bahasa konten blob. |
x-ms-blob-content-md5 |
Optional. Atur hash MD5 blob. Untuk BlockBlob, header ini lebih diutamakan Content-MD5 saat memverifikasi integritas blob selama transportasi. Untuk PageBlob dan AppendBlob, header ini secara langsung mengatur hash MD5 blob. |
x-ms-blob-cache-control |
Optional. Mengatur kontrol cache blob. |
x-ms-blob-type: <BlockBlob ¦ PageBlob ¦ AppendBlob> |
Dibutuhkan. Menentukan jenis blob yang akan dibuat: blob blok, blob halaman, atau blob tambah. Dukungan untuk membuat blob tambahan hanya tersedia dalam versi 2015-02-21 dan yang lebih baru. |
x-ms-meta-name:value |
Optional. Pasangan nama-nilai yang terkait dengan blob sebagai metadata. Catatan: Pada versi 2009-09-19, nama metadata harus mematuhi aturan penamaan untuk pengidentifikasi C#. |
x-ms-encryption-scope |
Optional. Menunjukkan cakupan enkripsi yang akan digunakan untuk mengenkripsi konten permintaan. Header ini didukung dalam versi 2019-02-02 dan yang lebih baru. |
x-ms-encryption-context |
Optional. Defaultnya adalah "Kosong". Jika nilainya ditetapkan, itu akan mengatur metadata sistem blob. Panjang maks-1024. Hanya valid saat Namespace Hierarki diaktifkan untuk akun tersebut. Header ini didukung dalam versi 2021-08-06 dan yang lebih baru. |
x-ms-tags |
Optional. Mengatur tag yang dikodekan string kueri yang diberikan pada blob. Lihat Keterangan untuk informasi tambahan. Didukung dalam versi 2019-12-12 dan yang lebih baru. |
x-ms-lease-id:<ID> |
Diperlukan jika blob memiliki sewa aktif. Untuk melakukan operasi ini pada blob dengan sewa aktif, tentukan ID sewa yang valid untuk header ini. |
x-ms-blob-content-disposition |
Optional. Mengatur header blob Content-Disposition . Tersedia untuk versi 2013-08-15 dan yang lebih baru.Bidang Content-Disposition header respons menyampaikan informasi tambahan tentang cara memproses payload respons, dan Anda dapat menggunakannya untuk melampirkan metadata tambahan. Misalnya, jika header diatur ke attachment, ini menunjukkan bahwa agen pengguna tidak boleh menampilkan respons. Sebagai gantinya, itu harus menampilkan dialog Simpan Sebagai dengan nama file selain nama blob yang ditentukan.Respons dari operasi Get Blob dan Get Blob Properties menyertakan content-disposition header. |
Origin |
Optional. Menentukan asal dari mana permintaan dikeluarkan. Kehadiran header ini menghasilkan header berbagi sumber daya lintas asal (CORS) pada respons. Untuk informasi selengkapnya, lihat Dukungan CORS untuk layanan Azure Storage. |
x-ms-client-request-id |
Optional. Menyediakan nilai buram yang dihasilkan klien dengan batas karakter 1 kibibyte (KiB) yang dicatat dalam log analitik saat pengelogan dikonfigurasi. Kami sangat menyarankan Anda menggunakan header ini untuk menghubungkan aktivitas sisi klien dengan permintaan yang diterima server. Untuk informasi selengkapnya, lihat Tentang pengelogan analitik Penyimpanan. |
x-ms-access-tier |
Optional. Tingkat yang akan diatur pada gumpalan. Untuk blob halaman pada akun Premium Storage hanya dengan versi 2017-04-17 dan yang lebih baru. Untuk daftar lengkap tingkat yang didukung blob halaman, lihat Penyimpanan premium performa tinggi dan disk terkelola untuk komputer virtual (VM). Untuk blob blok, didukung pada penyimpanan blob atau akun v2 tujuan umum hanya dengan versi 2018-11-09 dan yang lebih baru. Nilai yang valid adalah Hot, , CoolCold, Smart dan Archive. Catatan: tingkat Cold didukung untuk versi 2021-12-02 dan yang lebih baru.
Smart Tingkat didukung untuk versi 2026-02-06 dan yang lebih baru, dan saat ini dalam pratinjau publikUntuk informasi terperinci tentang tingkatan blob blok, lihat Tingkat penyimpanan blob. |
x-ms-immutability-policy-until-date |
Versi 2020-06-12 dan yang lebih baru. Menentukan tanggal retensi-sampai yang akan ditetapkan pada blob. Ini adalah tanggal hingga blob dapat dilindungi agar tidak dimodifikasi atau dihapus. Mengikuti format RFC1123. |
x-ms-immutability-policy-mode |
Versi 2020-06-12 dan yang lebih baru. Menentukan mode kebijakan kekekalan yang akan diatur pada blob. Nilai yang berlaku adalah unlocked atau locked.
unlockedDengan , pengguna dapat mengubah kebijakan dengan menambah atau mengurangi tanggal retensi.
lockedDengan , tindakan ini dilarang. |
x-ms-legal-hold |
Versi 2020-06-12 dan yang lebih baru. Menentukan pembekuan hukum yang akan diatur pada blob. Nilai yang berlaku adalah true atau false. |
x-ms-expiry-option |
Optional. Versi 2023-08-03 dan yang lebih baru. Menentukan opsi tanggal kedaluwarsa untuk permintaan. Untuk informasi selengkapnya, lihat ExpiryOption. Header ini valid untuk akun dengan namespace hierarkis diaktifkan. |
x-ms-expiry-time |
Optional. Versi 2023-08-03 dan yang lebih baru. Menentukan waktu ketika blob diatur untuk kedaluwarsa. Format tanggal kedaluwarsa bervariasi sesuai dengan x-ms-expiry-option. Untuk informasi selengkapnya, lihat ExpiryOption. Header ini valid untuk akun dengan namespace hierarkis diaktifkan. |
Operasi ini juga mendukung penggunaan header bersyarat untuk menulis blob hanya jika kondisi tertentu terpenuhi. Untuk informasi selengkapnya, lihat Menentukan header bersyarat untuk operasi Blob Storage.
Header permintaan (hanya blob halaman)
Header permintaan yang hanya berlaku untuk operasi pada blob halaman dijelaskan dalam tabel berikut:
| Tajuk permintaan | Description |
|---|---|
x-ms-blob-content-length: bytes |
Diperlukan untuk blob halaman. Header ini menentukan ukuran maksimum untuk blob halaman, hingga 8 tebibyte (TiB). Ukuran blob halaman harus disejajarkan ke batas 512 byte. Jika header ini ditentukan untuk blob blok atau blob penambahan, Blob Storage mengembalikan kode status 400 (Permintaan Buruk). |
x-ms-blob-sequence-number: <num> |
Optional. Atur untuk blob halaman saja. Nomor urut adalah nilai yang dikontrol pengguna yang dapat Anda gunakan untuk melacak permintaan. Nilai nomor urut harus dari 0 hingga 2^63 - 1. Nilai defaultnya adalah 0. |
x-ms-access-tier |
Versi 2017-04-17 dan yang lebih baru. Untuk blob halaman pada akun penyimpanan premium saja. Menentukan tingkat yang akan diatur pada blob. Untuk daftar lengkap tingkat yang didukung, lihat Penyimpanan premium performa tinggi dan disk terkelola untuk VM. |
x-ms-client-request-id |
Header ini dapat digunakan untuk memecahkan masalah permintaan dan respons yang sesuai. Nilai header ini sama dengan nilai header x-ms-client-request-id jika ada dalam permintaan dan nilai berisi tidak lebih dari 1.024 karakter ASCII yang terlihat. Jika header x-ms-client-request-id tidak ada dalam permintaan, header tersebut tidak akan ada dalam respons. |
Header permintaan (kunci enkripsi yang disediakan pelanggan)
Pada versi 2019-02-02, header berikut dapat ditentukan pada permintaan untuk mengenkripsi blob dengan kunci yang disediakan pelanggan. Enkripsi dengan kunci yang disediakan pelanggan (dan kumpulan header yang sesuai) bersifat opsional.
| Tajuk permintaan | Description |
|---|---|
x-ms-encryption-key |
Dibutuhkan. Kunci enkripsi AES-256 yang dikodekan Base64. |
x-ms-encryption-key-sha256 |
Dibutuhkan. Hash SHA256 yang dikodekan Base64 dari kunci enkripsi. |
x-ms-encryption-algorithm: AES256 |
Dibutuhkan. Menentukan algoritme yang akan digunakan untuk enkripsi. Nilai header ini harus .AES256 |
Header permintaan (isi terstruktur, blob blok saja)
Pada versi 05-01-2025, header berikut dapat ditentukan pada permintaan untuk memanfaatkan format isi terstruktur. Ini hanya berlaku untuk blob blok.
| Tajuk permintaan | Description |
|---|---|
Content-Length |
Dibutuhkan. Harus panjang permintaan yang dikodekan (tidak hanya panjang konten blob). Jika nilai header tidak cocok dengan panjang yang diharapkan dari permintaan yang dikodekan, operasi gagal dengan kode kesalahan 400 (Permintaan Buruk). |
x-ms-structured-body |
Dibutuhkan. Harus disertakan jika format pesan terstruktur. Nilai header ini berisi versi dan properti skema pesan. Saat ini, satu-satunya nilai yang didukung adalah XSM/1.0; properties=crc64, yang menunjukkan permintaan menggunakan segmen checksum crc64 dalam pesan yang dikodekan. Jika nilainya tidak cocok dengan ini, operasi gagal dengan kode kesalahan 400 (Permintaan Buruk). Permintaan juga akan gagal jika konten yang disediakan dalam permintaan tidak cocok dengan checksum yang disediakan untuk segmen tertentu. |
x-ms-structured-content-length |
Dibutuhkan. Harus disertakan jika format pesan terstruktur. Nilai header ini adalah panjang konten blob dan akan selalu lebih kecil dari Content-Length nilai header karena pengodean pesan. Jika nilai header tidak cocok dengan panjang konten blob yang disediakan dalam permintaan, operasi gagal dengan kode kesalahan 400 (Permintaan Buruk). |
Isi dari permintaan
Untuk blob blok, isi permintaan berisi konten blob.
Untuk blob halaman atau blob tambahan, isi permintaan kosong.
Permohonan sampel
Contoh berikut menunjukkan permintaan untuk membuat blob blok:
Request Syntax:
PUT https://myaccount.blob.core.windows.net/mycontainer/myblockblob HTTP/1.1
Request Headers:
x-ms-version: 2015-02-21
x-ms-date: <date>
Content-Type: text/plain; charset=UTF-8
x-ms-blob-content-disposition: attachment; filename="fname.ext"
x-ms-blob-type: BlockBlob
x-ms-meta-m1: v1
x-ms-meta-m2: v2
x-ms-expiry-option: RelativeToNow
x-ms-expiry-time: 30000
Authorization: SharedKey myaccount:YhuFJjN4fAR8/AmBrqBz7MG2uFinQ4rkh4dscbj598g=
Content-Length: 11
Request Body:
hello world
Permintaan sampel ini membuat blob halaman dan menentukan ukuran maksimumnya sebagai 1.024 byte. Untuk menambahkan konten ke blob halaman, Anda harus memanggil Put Page:
Request Syntax:
PUT https://myaccount.blob.core.windows.net/mycontainer/mypageblob HTTP/1.1
Request Headers:
x-ms-version: 2015-02-21
x-ms-date: <date>
Content-Type: text/plain; charset=UTF-8
x-ms-blob-type: PageBlob
x-ms-blob-content-length: 1024
x-ms-blob-sequence-number: 0
Authorization: SharedKey
Origin: http://contoso.com
Vary: Origin
myaccount:YhuFJjN4fAR8/AmBrqBz7MG2uFinQ4rkh4dscbj598g=
Content-Length: 0
Permintaan sampel ini membuat blob penambahan. Untuk menambahkan konten ke blob penambahan, Anda harus memanggil Blok Tambah:
Request Syntax:
PUT https://myaccount.blob.core.windows.net/mycontainer/myappendblob HTTP/1.1
Request Headers:
x-ms-version: 2015-02-21
x-ms-date: <date>
Content-Type: text/plain; charset=UTF-8
x-ms-blob-type: AppendBlob
Authorization: SharedKey myaccount:YhuFJjN4fAR8/AmBrqBz7MG2uFinQ4rkh4dscbj598g=
Origin: http://contoso.com
Vary: Origin
Content-Length: 0
Jawaban
Respons mencakup kode status HTTP dan sekumpulan header respons.
Kode status
Operasi yang berhasil mengembalikan kode status 201 (Dibuat).
Untuk informasi selengkapnya tentang kode status, lihat Status dan kode kesalahan.
Tajuk respons
Respons untuk operasi ini mencakup header berikut. Respons juga dapat menyertakan header HTTP standar tambahan. Semua header standar sesuai dengan spesifikasi protokol HTTP/1.1.
| Respons Header | Description |
|---|---|
ETag |
Berisi nilai yang dapat digunakan klien untuk melakukan operasi bersyarat PUT dengan menggunakan header permintaan If-Match . Jika versi permintaan adalah 2011-08-18 atau yang lebih baru, nilai ETag diapit dalam tanda kutip. |
Last-Modified |
Tanggal/waktu ketika blob terakhir diubah. Format tanggal mengikuti RFC 1123. Untuk informasi selengkapnya, lihat Mewakili nilai tanggal/waktu dalam header. Setiap operasi tulis pada blob (termasuk pembaruan pada metadata atau properti blob) mengubah waktu modifikasi terakhir blob. |
Content-MD5 |
Dikembalikan untuk blob blok sehingga klien dapat memeriksa integritas konten pesan. Nilai yang Content-MD5 dikembalikan dihitung oleh Blob Storage. Dalam versi 2012-02-12 dan yang lebih baru, header ini dikembalikan bahkan ketika permintaan tidak menyertakan Content-MD5 atau x-ms-blob-content-md5 header. |
x-ms-content-crc64 |
Dikembalikan untuk blob blok sehingga klien dapat memeriksa integritas konten pesan. Nilai yang x-ms-content-crc64 dikembalikan dihitung oleh Blob Storage. Header ini selalu dikembalikan pada versi 2019-02-02. |
x-ms-request-id |
Mengidentifikasi permintaan yang dibuat secara unik, dan Anda dapat menggunakannya untuk memecahkan masalah permintaan. Untuk informasi selengkapnya, lihat Memecahkan masalah operasi API. |
x-ms-version |
Menunjukkan versi Blob Storage yang digunakan untuk mengeksekusi permintaan. Dikembalikan untuk permintaan yang dibuat terhadap versi 2009-09-19 dan yang lebih baru. |
Date |
Nilai tanggal/waktu UTC yang dihasilkan oleh layanan, yang menunjukkan waktu ketika respons dimulai. |
Access-Control-Allow-Origin |
Dikembalikan jika permintaan menyertakan Origin header dan CORS diaktifkan dengan aturan yang cocok. Header ini mengembalikan nilai header permintaan asal jika ada kecocokan. |
Access-Control-Expose-Headers |
Dikembalikan jika permintaan menyertakan Origin header dan CORS diaktifkan dengan aturan yang cocok. Mengembalikan daftar header respons yang akan diekspos ke klien atau penerbit permintaan. |
Access-Control-Allow-Credentials |
Dikembalikan jika permintaan menyertakan Origin header dan CORS diaktifkan dengan aturan pencocokan yang tidak mengizinkan semua asal. Header ini diatur ke true. |
x-ms-request-server-encrypted: true/false |
Versi 2015-12-11 dan yang lebih baru. Nilai header ini diatur ke true jika konten permintaan berhasil dienkripsi dengan menggunakan algoritme yang ditentukan. Jika tidak, nilainya adalah false. |
x-ms-encryption-key-sha256 |
Versi 2019-02-02 dan yang lebih baru. Dikembalikan jika permintaan menggunakan kunci yang disediakan pelanggan untuk enkripsi, sehingga klien dapat memastikan bahwa konten permintaan berhasil dienkripsi dengan menggunakan kunci yang disediakan. |
x-ms-encryption-scope |
Versi 2019-02-02 dan yang lebih baru. Dikembalikan jika permintaan menggunakan cakupan enkripsi, sehingga klien dapat memastikan konten permintaan berhasil dienkripsi dengan menggunakan cakupan enkripsi. |
x-ms-version-id: <DateTime> |
Versi 2019-12-12 dan yang lebih baru. Header ini mengembalikan nilai buram DateTime yang secara unik mengidentifikasi blob. Nilai header ini menunjukkan versi blob, dan dapat digunakan dalam permintaan berikutnya untuk mengakses blob. |
x-ms-structured-body |
Dikembalikan jika permintaan diproses sebagai permintaan isi terstruktur. Nilai header ini sama dengan nilai yang dikirim dalam permintaan, yang saat ini harus .XSM/1.0; properties=crc64 |
Badan respons
Tidak ada.
Contoh tanggapan
Response Status:
HTTP/1.1 201 Created
Response Headers:
Transfer-Encoding: chunked
Content-MD5: sQqNsWTgdUEFt6mb5y4/5Q==
x-ms-content-crc64: 77uWZTolTHU
Date: <date>
ETag: "0x8CB171BA9E94B0B"
Last-Modified: <date>
Access-Control-Allow-Origin: http://contoso.com
Access-Control-Expose-Headers: Content-MD5
Access-Control-Allow-Credentials: True
Server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0
x-ms-version-id: <DateTime>
Authorization
Otorisasi diperlukan saat memanggil operasi akses data apa pun di Azure Storage. Anda dapat mengotorisasi operasi Put Blob seperti yang dijelaskan di bawah ini.
Jika permintaan menentukan tag dengan x-ms-tags header permintaan, pemanggil harus memenuhi persyaratan otorisasi operasi Set Blob Tags .
Penting
Microsoft merekomendasikan penggunaan ID Microsoft Entra dengan identitas terkelola untuk mengotorisasi permintaan ke Azure Storage. MICROSOFT Entra ID menyediakan keamanan yang unggul dan kemudahan penggunaan dibandingkan dengan otorisasi Kunci Bersama.
- ID Microsoft Entra (disarankan)
-
tanda tangan akses bersama (SAS)
-
kunci bersama
Azure Storage mendukung penggunaan ID Microsoft Entra 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 mungkin 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 layanan Blob.
Untuk mempelajari selengkapnya tentang otorisasi menggunakan ID Microsoft Entra, lihat Mengotorisasi akses ke blob menggunakan ID Microsoft Entra.
Permissions
Tercantum di bawah ini adalah tindakan RBAC yang diperlukan untuk pengguna, grup, identitas terkelola, atau perwakilan layanan Microsoft Entra untuk memanggil operasi Put Blob, dan peran Azure RBAC bawaan yang paling tidak istimewa yang mencakup tindakan ini:
-
Tindakan RBAC Azure:
- Membuat blob blok baru: Microsoft.Storage/storageAccounts/blobServices/containers/blobs/add/action
- Membuat blob blok baru atau menimpa yang ada: Microsoft.Storage/storageAccounts/blobServices/containers/blobs/write
- Peran bawaan dengan hak istimewa paling rendah:Kontributor Data Blob Penyimpanan
Untuk mempelajari selengkapnya tentang menetapkan peran menggunakan Azure RBAC, lihat Menetapkan peran Azure untuk akses ke data blob.
Komentar
Saat membuat blob, Anda harus menentukan apakah itu blob blok, blob tambah, atau blob halaman dengan menentukan nilai x-ms-blob-type header. Setelah blob dibuat, jenis blob tidak dapat diubah kecuali dihapus dan dibuat ulang.
Tabel berikut menjelaskan ukuran blok dan blob maksimum yang diizinkan, berdasarkan versi layanan:
| Versi layanan | Ukuran blok maksimum (melalui)Put Block |
Ukuran blob maksimum (melalui Put Block List) |
Ukuran blob maksimum melalui operasi tulis tunggal (melalui Put Blob) |
|---|---|---|---|
| Versi 2019-12-12 dan yang lebih baru | 4.000 mebibyte (MiB) | Sekitar 190,7 TiB (4.000 MiB × 50.000 blok) | 5.000 MiB |
| Versi 2016-05-31 hingga 2019-07-07 | 100 MiB | Sekitar 4,75 TiB (100 MiB × 50.000 blok) | 256 MiB |
| Versi lebih awal dari 31-05-2016 | 4 MiB | Sekitar 195 GiB (4 MiB × 50.000 blok) | 64 MiB |
Jika Anda mencoba mengunggah blob blok yang lebih besar dari ukuran maksimum yang diizinkan untuk versi layanan tersebut atau blob halaman yang lebih besar dari 8 TiB, layanan mengembalikan kode status 413 (Entitas Permintaan Terlalu Besar). Blob Storage juga mengembalikan informasi tambahan tentang kesalahan dalam respons, termasuk ukuran blob maksimum yang diizinkan, dalam byte.
Untuk membuat blob halaman baru, pertama-tama inisialisasi blob dengan memanggil Put Blob, lalu tentukan ukuran maksimumnya, hingga 8 TiB. Saat Anda membuat blob halaman, jangan sertakan konten dalam isi permintaan. Setelah blob dibuat, panggil Put Page untuk menambahkan konten ke blob atau untuk memodifikasinya.
Untuk membuat blob penambahan baru, panggil Put Blob untuk membuatnya dengan panjang konten 0 byte. Setelah blob penambahan dibuat, panggil Blok Tambahkan untuk menambahkan konten ke bagian akhirnya.
Jika Anda memanggil Put Blob untuk menimpa blob yang ada dengan nama yang sama, rekam jepret apa pun yang terkait dengan blob asli akan dipertahankan. Untuk menghapus rekam jepret terkait, pertama-tama panggil Hapus Blob, lalu panggil Put Blob untuk membuat ulang blob.
Properti kustom blob
Blob memiliki properti kustom (diatur melalui header) yang dapat Anda gunakan untuk menyimpan nilai yang terkait dengan header HTTP standar. Anda selanjutnya dapat membaca nilai-nilai ini dengan memanggil Dapatkan Properti Blob, atau memodifikasinya dengan memanggil Atur Properti Blob. Header properti kustom dan header HTTP standar yang sesuai tercantum dalam tabel berikut:
| Tajuk HTTP | Header properti blob kustom |
|---|---|
Content-Type |
x-ms-blob-content-type |
Content-Encoding |
x-ms-blob-content-encoding |
Content-Language |
x-ms-blob-content-language |
Content-MD5 |
x-ms-blob-content-md5 |
Cache-Control |
x-ms-blob-cache-control |
Semantik untuk mengatur atau mempertahankan nilai properti ini dengan blob adalah sebagai berikut:
Jika klien menentukan header properti kustom, seperti yang ditunjukkan oleh
x-ms-blobawalan, nilai ini disimpan dengan blob.Jika klien menentukan header HTTP standar, tetapi bukan header properti kustom, nilai tersebut disimpan dalam properti kustom yang terkait yang terkait dengan blob, dan dikembalikan oleh panggilan ke
Get Blob Properties. Misalnya, jika klien mengaturContent-Typeheader pada permintaan, nilai tersebut disimpan di properti blobx-ms-blob-content-type.Jika klien mengatur header HTTP standar dan header properti yang sesuai pada permintaan yang sama, permintaan PUT menggunakan nilai yang disediakan untuk header HTTP standar, tetapi nilai yang ditentukan untuk header properti kustom dipertahankan dengan blob dan dikembalikan oleh permintaan GET berikutnya.
Jika tag disediakan di x-ms-tags header, tag tersebut harus dikodekan string kueri. Kunci dan nilai tag harus sesuai dengan persyaratan penamaan dan panjang seperti yang ditentukan dalam Set Blob Tags. Selanjutnya, x-ms-tags header mungkin berisi hingga 2kb tag. Jika lebih banyak tag diperlukan, gunakan operasi Atur Tag Blob .
Jika blob memiliki sewa aktif, klien harus menentukan ID sewa yang valid pada permintaan untuk menimpa blob. Jika klien tidak menentukan ID sewa atau menentukan ID sewa yang tidak valid, Blob Storage mengembalikan kode status 412 (Prasyarat Gagal). Jika klien menentukan ID sewa tetapi blob tidak memiliki sewa aktif, Blob Storage juga mengembalikan kode status 412 (Prasyarat Gagal). Jika klien menentukan ID sewa pada blob yang belum ada, Blob Storage mengembalikan kode status 412 (Prasyarat Gagal) untuk permintaan yang dibuat terhadap versi 2013-08-15 dan yang lebih baru. Untuk versi yang lebih lama dari 2013-08-15, Blob Storage mengembalikan kode status 201 (Dibuat).
Jika blob yang ada dengan sewa aktif ditimpa oleh Put Blob operasi, sewa tetap ada pada blob yang diperbarui hingga kedaluwarsa atau dirilis.
Operasi Put Blob diizinkan 10 menit per MiB untuk diselesaikan. Jika operasi rata-rata memakan waktu lebih dari 10 menit per MiB, waktu operasi habis.
Menimpa blob archive gagal. Jika tidak, blob mewarisi tingkat dari blob lama jika x-ms-access-tier header tidak disediakan.
Opsi kedaluwarsa
Anda dapat mengirim nilai berikut sebagai x-ms-expiry-option header. Header ini tidak peka huruf besar/kecil.
| Opsi kedaluwarsa | Description |
|---|---|
RelativeToNow |
Mengatur tanggal kedaluwarsa relatif terhadap waktu saat ini.
x-ms-expiry-time harus ditentukan sebagai jumlah milidetik yang akan berlalu dari waktu sekarang. |
Absolute |
x-ms-expiry-time harus ditentukan sebagai waktu absolut, dalam format RFC 1123. |
NeverExpire |
Mengatur blob agar tidak pernah kedaluwarsa atau menghapus tanggal kedaluwarsa saat ini.
x-ms-expiry-time tidak boleh ditentukan. |
Semantik untuk mengatur tanggal kedaluwarsa pada blob adalah sebagai berikut:
-
Set ExpiryDapat diatur hanya pada blob dan bukan direktori. -
Set Expirydengan diexpiryTimemasa lalu tidak diperbolehkan. -
ExpiryTimetidak dapat ditentukan denganexpiryOptionnilaiNever.
Billing
Permintaan harga dapat berasal dari klien yang menggunakan API Blob Storage, baik langsung melalui REST API Blob Storage, atau dari pustaka klien Azure Storage. Permintaan ini menimbulkan biaya per transaksi. Jenis transaksi memengaruhi bagaimana akun ditagih. Misalnya, transaksi baca bertambah ke kategori penagihan yang berbeda dari transaksi tulis. Tabel berikut menunjukkan kategori penagihan untuk Put Blob permintaan berdasarkan jenis akun penyimpanan:
| Operasi | Jenis akun penyimpanan | Kategori penagihan |
|---|---|---|
| Letakkan Blob | Objek besar biner blok premium Standar tujuan umum versi 2 Tujuan umum standar v1 |
Operasi tulis |
Untuk mempelajari tentang harga untuk kategori penagihan yang ditentukan, lihat Harga Azure Blob Storage.
Lihat juga
Mengotorisasi permintaan ke Azure Storage
Status dan kode galat
Kode kesalahan layanan blob
Atur batas waktu untuk operasi layanan Blob