Bagikan melalui


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"