Sewa Kontainer
Operasi menetapkan Lease Container dan mengelola kunci pada kontainer untuk operasi penghapusan. Durasi penguncian bisa 15 hingga 60 detik, atau bisa tak terbatas.
Operasi Lease Container ini dapat dipanggil dalam salah satu dari lima mode:
Acquire, untuk meminta sewa baru.Renew, untuk memperbarui sewa yang ada.Change, untuk mengubah ID sewa yang ada.Release, untuk membebaskan sewa jika tidak lagi diperlukan sehingga klien lain dapat segera memperoleh sewa terhadap kontainer.Break, untuk mengakhiri sewa tetapi pastikan bahwa klien lain tidak dapat memperoleh sewa baru sampai periode sewa saat ini telah kedaluwarsa.
Catatan
Operasi Lease Container ini tersedia dalam versi 2012-02-12 dan yang lebih baru.
Minta
Permintaan Lease Container dapat dibuat sebagai berikut. HTTPS disarankan. Ganti myaccount dengan nama akun penyimpanan Anda:
| Metode | Meminta URI | Versi HTTP |
|---|---|---|
PUT |
https://myaccount.blob.core.windows.net/mycontainer?comp=lease&restype=container |
HTTP/1.1 |
Untuk menentukan kontainer akar, masukkan $root sebagai nama kontainer.
URI 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:
| Metode | Meminta URI | Versi HTTP |
|---|---|---|
PUT |
http://127.0.0.1:10000/mycontainer?comp=lease&restype=container |
HTTP/1.0 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 |
|---|---|
timeout |
Opsional. Parameter timeout dinyatakan dalam hitung detik. Untuk informasi selengkapnya, lihat Mengatur Batas Waktu untuk Operasi Blob Service. |
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 |
Opsional. Menentukan versi operasi yang akan digunakan untuk permintaan ini. Untuk informasi selengkapnya, lihat Penerapan versi untuk layanan Azure Storage. |
x-ms-lease-id: <ID> |
Diperlukan untuk memperbarui, mengubah, atau melepaskan sewa. Nilai x-ms-lease-id dapat ditentukan dalam format string GUID yang valid. Lihat Konstruktor Guid (String) untuk daftar format string GUID yang valid. |
x-ms-lease-action: <acquire | renew | change | release | break> |
acquire: Meminta sewa baru. Jika kontainer tidak memiliki sewa aktif, Blob service membuat sewa pada kontainer dan mengembalikan ID sewa baru. Jika kontainer memiliki sewa aktif, Anda hanya dapat meminta sewa baru menggunakan ID sewa aktif, tetapi Anda dapat menentukan yang baru x-ms-lease duration, termasuk yang negatif (-1) untuk sewa yang tidak pernah kedaluwarsa.renew: Memperbarui sewa. Sewa dapat diperbarui jika ID sewa yang ditentukan pada permintaan cocok dengan yang terkait dengan kontainer. Perhatikan bahwa sewa dapat diperpanjang bahkan jika telah kedaluwarsa selama kontainer belum disewa lagi sejak kedaluwarsa sewa tersebut. Saat Anda memperbarui sewa, jam durasi sewa direset.change: Ubah ID sewa sewa aktif. change harus menyertakan ID sewa saat ini dalam x-ms-lease-id dan ID sewa baru di x-ms-proposed-lease-id.release: Lepaskan sewa. Sewa dapat dirilis jika ID sewa yang ditentukan pada permintaan cocok dengan yang terkait dengan kontainer. Melepaskan sewa memungkinkan klien lain untuk segera memperoleh sewa untuk kontainer segera setelah rilis selesai.break: Putuskan sewa, jika kontainer memiliki sewa aktif. Setelah sewa rusak, sewa tidak dapat diperpanjang. Setiap permintaan yang diotorisasi dapat melanggar sewa; permintaan tidak diperlukan untuk menentukan ID sewa yang cocok. Ketika sewa rusak, periode jeda sewa diizinkan untuk berlalu, selama waktu itu tidak ada operasi sewa kecuali break dan release dapat dilakukan pada kontainer. Ketika sewa berhasil rusak, respons menunjukkan interval dalam hitungan detik sampai sewa baru dapat diperoleh.Sewa yang telah rusak juga dapat dilepaskan. Klien dapat segera memperoleh sewa kontainer yang telah dirilis. |
x-ms-lease-break-period: N |
Opsional. break Untuk operasi, durasi yang diusulkan, sewa harus dilanjutkan sebelum rusak, dalam detik, antara 0 dan 60. Periode istirahat ini hanya digunakan jika lebih pendek dari waktu yang tersisa pada sewa. Jika lebih lama, waktu yang tersisa pada sewa digunakan. Sewa baru tidak akan tersedia sebelum periode istirahat berakhir, tetapi sewa dapat ditahan lebih lama dari periode istirahat. Jika header ini tidak muncul dengan break operasi, sewa durasi tetap berhenti setelah periode sewa yang tersisa berlalu, dan sewa tak terbatas segera berhenti. |
x-ms-lease-duration: -1 | N |
Diperlukan untuk acquire. Menentukan durasi sewa, dalam detik, atau negatif satu (-1) untuk sewa yang tidak pernah kedaluwarsa. Sewa yang tidak terbatas bisa antara 15 dan 60 detik. Durasi sewa tidak dapat diubah menggunakan renew atau change. |
x-ms-proposed-lease-id: <ID> |
Opsional untuk acquire, diperlukan untuk change. ID sewa yang diusulkan, dalam format string GUID. Blob service mengembalikan 400 (Invalid request) jika ID sewa yang diusulkan tidak dalam format yang benar. Lihat Konstruktor Guid (String) untuk daftar format string GUID yang valid. |
Origin |
Opsional. Menentukan asal dari mana permintaan dikeluarkan. Kehadiran header ini menghasilkan header berbagi sumber daya lintas asal pada respons. Lihat Dukungan CORS untuk Layanan Storage untuk detailnya. |
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 menjalankan operasi hanya jika kondisi tertentu terpenuhi. Untuk informasi selengkapnya, lihat Menentukan Header Kondisional untuk Operasi Blob Service.
Isi Permintaan
Tidak ada.
Permintaan Sampel
Contoh permintaan berikut menunjukkan cara memperoleh sewa:
Request Syntax:
PUT https://myaccount.blob.core.windows.net/mycontainer?restype=container&comp=lease HTTP/1.1
Request Headers:
x-ms-version: 2012-02-12
x-ms-lease-action: acquire
x-ms-lease-duration: -1
x-ms-proposed-lease-id: 1f812371-a41d-49e6-b123-f4b542e851c5
x-ms-date: Thu, 26 Jan 2012 23:30:18 GMT
Authorization: SharedKey testaccount1:esSKMOYdK4o+nGTuTyeOLBI+xqnqi6aBmiW4XI699+o=
Respons
Respons mencakup kode status HTTP dan sekumpulan header respons.
Kode Status
Kode status keberhasilan yang dikembalikan untuk operasi sewa adalah sebagai berikut:
Acquire: Operasi yang berhasil mengembalikan kode status 201 (Dibuat).Renew: Operasi yang berhasil mengembalikan kode status 200 (OK).Change: Operasi yang berhasil mengembalikan kode status 200 (OK).Release: Operasi yang berhasil mengembalikan kode status 200 (OK).Break: Operasi yang berhasil mengembalikan kode status 202 (Diterima).
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 |
|---|---|
ETag |
ETag untuk kontainer. Header ini dikembalikan untuk permintaan yang dibuat terhadap versi 2013-08-15 dan yang lebih baru, dan nilai ETag akan berada dalam tanda kutip. Lease Container operasi yang dibuat terhadap versi 2013-08-15 dan yang lebih baru tidak mengubah properti ini, tetapi versi sebelumnya akan. |
Last-Modified |
Header ini dikembalikan untuk permintaan yang dibuat terhadap versi 2013-08-15 dan yang lebih baru. Mengembalikan tanggal dan waktu kontainer terakhir diubah. Format tanggal mengikuti RFC 1123. Untuk informasi selengkapnya, lihat Representasi Nilai Date-Time di Header. Setiap operasi yang memodifikasi kontainer atau properti atau metadatanya memperbarui waktu yang terakhir dimodifikasi, termasuk mengatur izin kontainer. Operasi pada blob tidak memengaruhi waktu terakhir dimodifikasi kontainer. Lease Container operasi yang dibuat terhadap versi 2013-08-15 dan yang lebih baru tidak mengubah properti ini, tetapi versi sebelumnya. |
x-ms-lease-id: <id> |
Saat Anda meminta sewa, blob service mengembalikan ID sewa yang unik. Saat sewa aktif, Anda harus menyertakan ID sewa dengan permintaan apa pun untuk menghapus kontainer, atau untuk memperbarui, mengubah, atau melepaskan sewa. Operasi perpanjangan yang berhasil juga mengembalikan ID sewa untuk sewa aktif. |
x-ms-lease-time: seconds |
Perkiraan waktu yang tersisa dalam periode sewa, dalam detik. Header ini dikembalikan hanya untuk permintaan yang berhasil untuk memutuskan sewa. Jika istirahat segera, 0 dikembalikan. |
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. |
| Tanggal | Nilai tanggal/waktu UTC yang dihasilkan oleh layanan yang menunjukkan waktu dimulainya respons. |
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 terjadi 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 yang cocok yang tidak mengizinkan semua asal. Header ini akan diatur ke true. |
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
Tidak ada.
Respons Sampel
Berikut ini adalah respons sampel untuk permintaan untuk memperoleh sewa:
Response Status:
HTTP/1.1 201 Created
Response Headers:
Server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0
x-ms-request-id: cc6b209a-b593-4be1-a38a-dde7c106f402
x-ms-version: 2012-02-12
x-ms-lease-id: 1f812371-a41d-49e6-b123-f4b542e851c5
Date: Thu, 26 Jan 2012 23:30:18 GMT
Authorization
Hanya pemilik akun yang dapat memanggil operasi ini.
Keterangan
Sewa pada kontainer menyediakan akses penghapusan eksklusif ke kontainer. Sewa kontainer hanya mengontrol kemampuan untuk menghapus kontainer menggunakan operasi Hapus Kontainer . Untuk menghapus kontainer dengan sewa aktif, klien harus menyertakan ID sewa aktif dengan permintaan penghapusan. Jika ID sewa tidak disertakan, operasi gagal dengan 412 (Prasyarat gagal). Semua operasi kontainer lainnya berhasil pada kontainer sewaan tanpa menyertakan ID sewa. Sewa diberikan selama durasi yang ditentukan ketika sewa diperoleh, yang bisa antara 15 detik dan satu menit, atau durasi tak terbatas.
Ketika klien memperoleh sewa, ID sewa dikembalikan. Blob service akan menghasilkan ID sewa jika tidak ditentukan dalam permintaan peroleh. Klien dapat menggunakan ID sewa ini untuk memperbarui sewa, mengubah ID sewanya, atau melepaskan sewa. Diagram berikut menunjukkan lima status sewa, dan perintah atau peristiwa yang menyebabkan perubahan status sewa.
Diagram berikut menunjukkan lima status sewa, dan perintah atau peristiwa yang menyebabkan perubahan status sewa.

Status Sewa
Sewa dapat berada di 5 negara bagian, berdasarkan apakah sewa dikunci atau tidak terkunci, dan apakah sewa dapat diperpanjang dalam keadaan tersebut. Tindakan sewa di atas menyebabkan transisi status.
| Status perpanjangan | Sewa terkunci | Sewa tidak terkunci |
|---|---|---|
| Sewa yang dapat diperpanjang | Disewakan | Kedaluwarsa |
| Sewa yang tidak dapat diperpanjang | Pelanggaran | Rusak, Tersedia |
Available, sewa tidak terkunci dan dapat diperoleh. Tindakan yang diizinkan:acquire.Leased, sewa dikunci. Tindakan yang diizinkan:acquire(hanya ID sewa yang sama),renew, ,releasechange, danbreak.Expired, durasi sewa telah kedaluwarsa. Tindakan yang diizinkan:acquire,renew,release, danbreak.Breaking, sewa telah rusak, tetapi sewa akan terus dikunci sampai periode istirahat telah kedaluwarsa. Tindakan yang diizinkan:releasedanbreak.Broken, sewa telah rusak, dan periode istirahat telah kedaluwarsa. Tindakan yang diizinkan:acquire,release, danbreak.
ID sewa dikelola oleh Blob service setelah sewa kontainer kedaluwarsa. Klien dapat memperbarui atau merilis sewa mereka menggunakan ID sewa yang kedaluwarsa. Jika klien mencoba memperbarui atau merilis sewa yang kedaluwarsa dengan ID sewa mereka sebelumnya dan permintaan gagal, klien kemudian tahu bahwa kontainer disewakan lagi atau dihapus sejak sewa mereka terakhir aktif. Jika sewa kedaluwarsa daripada dirilis secara eksplisit, klien mungkin perlu menunggu hingga satu menit sebelum sewa baru dapat diperoleh untuk kontainer. Namun, klien dapat segera memperbarui sewa dengan ID sewa yang kedaluwarsa.
Properti kontainer Last-Modified-Time tidak diperbarui oleh panggilan ke Lease Container.
Tabel berikut menunjukkan hasil tindakan pada kontainer dengan sewa di berbagai status sewa. Huruf (A), (B), dan (C) mewakili ID sewa, dan (X) mewakili ID sewa yang dihasilkan oleh layanan Blob.
Hasil upaya penggunaan pada kontainer berdasarkan status sewa
| Tindakan | Tersedia | Sewaan (A) | Melanggar (A) | Rusak (A) | Kedaluwarsa (A) |
|---|---|---|---|---|---|
| Hapus menggunakan (A) | Gagal (412) | Leased (A), penghapusan berhasil | Pemutusan (A), penghapusan berhasil | Gagal (412) | Gagal (412) |
| Hapus menggunakan (B) | Gagal (412) | Gagal (409) | Gagal (412) | Gagal (412) | Gagal (412) |
| Hapus, tidak ada sewa yang ditentukan | Tersedia, penghapusan berhasil | Gagal (412) | Gagal (412) | Tersedia, penghapusan berhasil | Tersedia, penghapusan berhasil |
| Operasi lain menggunakan (A) | Gagal (412) | Leased (A), operasi berhasil | Melanggar (A), operasi berhasil | Gagal (412) | Gagal (412) |
| Operasi lain menggunakan (B) | Gagal (412) | Gagal (409) | Gagal (409) | Gagal (412) | Gagal (412) |
| perasi, tidak ada sewa yang ditentukan | Tersedia, operasi berhasil | Leased (A), operasi berhasil | Melanggar (A), operasi berhasil | Rusak (A), operasi berhasil | Kedaluwarsa (A), operasi berhasil |
Hasil operasi sewa pada kontainer berdasarkan status sewa
| Tindakan | Tersedia | Sewaan (A) | Melanggar (A) | Rusak (A) | Kedaluwarsa (A) |
|---|---|---|---|---|---|
Acquire, tidak ada ID sewa yang diusulkan |
Sewaan (X) | Gagal (409) | Gagal (409) | Sewaan (X) | Sewaan (X) |
Acquire (A) |
Sewaan (A) | Sewa (A), durasi baru | Gagal (409) | Sewaan (A) | Sewaan (A) |
Acquire (B) |
Sewa (B) | Gagal (409) | Gagal (409) | Sewa (B) | Sewa (B) |
Break, period=0 |
Gagal (409) | Rusak (A) | Rusak (A) | Rusak (A) | Rusak (A) |
Break, periode>0 |
Gagal (409) | Melanggar (A) | Melanggar (A) | Rusak (A) | Rusak (A) |
Change, (A) ke (B) |
Gagal (409) | Sewa (B) | Gagal (409) | Gagal (409) | Gagal (409) |
Change, (B) ke (A) |
Gagal (409) | Sewaan (A) | Gagal (409) | Gagal (409) | Gagal (409) |
Change, (B) ke (C) |
Gagal (409) | Gagal (409) | Gagal (409) | Gagal (409) | Gagal (409) |
Renew (A) |
Gagal (409) | Reset jam sewaan (A), kedaluwarsa | Gagal (409) | Gagal (409) | Sewaan (A) |
Renew (B) |
Gagal (409) | Gagal (409) | Gagal (409) | Gagal (409) | Gagal (409) |
Release (A) |
Gagal (409) | Tersedia | Tersedia | Tersedia | Tersedia |
Release (B) |
Gagal (409) | Gagal (409) | Gagal (409) | Gagal (409) | Gagal (409) |
| Durasi kedaluwarsa | Tersedia | Kedaluwarsa (A) | Rusak (A) | Rusak (A) | Kedaluwarsa (A) |
Lihat juga
Fitur Sewa Blob Baru: Sewa Tak Terbatas, Waktu Sewa Yang Lebih Kecil, dan Banyak Lagi
Mengotorisasi permintaan ke Azure Storage
Status dan Kode Kesalahan
Kode Kesalahan Layanan Blob
Menyewa Blob