Penguncian
API ini menyediakan semantik kunci dan buka kunci untuk sumber daya kunci-nilai. Ini mendukung operasi berikut:
- Kunci tempat
- Hapus kunci
Jika ada, label
harus berupa nilai label eksplisit (bukan karakter pengganti). Untuk semua operasi, parameter ini bersifat opsional. Jika dihilangkan, artinya tidak ada label.
Prasyarat
- Semua permintaan HTTP harus diautentikasi. Lihat bagian autentikasi.
- Semua permintaan HTTP harus menyediakan eksplisit
api-version
. Lihat bagian penerapan versi.
Kunci nilai utama
- Wajib diisi:
{key}
,{api-version}
- Opsional:
label
PUT /locks/{key}?label={label}&api-version={api-version} HTTP/1.1
Respons:
HTTP/1.1 200 OK
Content-Type: application/vnd.microsoft.appconfig.kv+json; charset=utf-8"
{
"etag": "4f6dd610dd5e4deebc7fbaef685fb903",
"key": "{key}",
"label": "{label}",
"content_type": null,
"value": "example value",
"created": "2017-12-05T02:41:26.4874615+00:00",
"locked": true,
"tags": []
}
Jika nilai kunci tidak ada, respons berikut akan ditampilkan:
HTTP/1.1 404 Not Found
Buka kunci nilai utama
- Wajib diisi:
{key}
,{api-version}
- Opsional:
label
DELETE /locks/{key}?label={label}?api-version={api-version} HTTP/1.1
Respons:
HTTP/1.1 200 OK
Content-Type: application/vnd.microsoft.appconfig.kv+json; charset=utf-8"
{
"etag": "4f6dd610dd5e4deebc7fbaef685fb903",
"key": "{key}",
"label": "{label}",
"content_type": null,
"value": "example value",
"created": "2017-12-05T02:41:26.4874615+00:00",
"locked": true,
"tags": []
}
Jika nilai kunci tidak ada, respons berikut akan ditampilkan:
HTTP/1.1 404 Not Found
Kunci dan buka kunci bersyarat
Untuk mencegah kondisi persaingan, gunakan header permintaan If-Match
atau If-None-Match
. Argumen etag
adalah bagian dari representasi kunci. Jika If-Match
atau If-None-Match
dihilangkan, operasi bersifat tidak bersyarat.
Permintaan berikut menerapkan operasi hanya jika representasi nilai utama saat ini cocok dengan etag
yang ditentukan:
PUT|DELETE /locks/{key}?label={label}&api-version={api-version} HTTP/1.1
If-Match: "4f6dd610dd5e4deebc7fbaef685fb903"
Permintaan berikut menerapkan operasi hanya jika terdapat representasi nilai utama saat ini, tetapi tidak cocok dengan etag
yang ditentukan:
PUT|DELETE /kv/{key}?label={label}&api-version={api-version} HTTP/1.1
If-None-Match: "4f6dd610dd5e4deebc7fbaef685fb903"