共用方式為


鎖定

此 API 提供索引鍵/值資源的鎖定和解除鎖定語意。 它支援下列作業:

  • 放置鎖定
  • 拿掉鎖定

如果存在, label 必須是明確的標籤(而非通配符)。 針對所有作業,它是選擇性參數。 如果省略,則表示沒有標籤。

必要條件

鎖定索引鍵/值

  • 必要: {key}{api-version}
  • 自選: label
PUT /locks/{key}?label={label}&api-version={api-version} HTTP/1.1

回應

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": []
}

如果機碼值不存在,則會傳回下列回應:

HTTP/1.1 404 Not Found

解除鎖定索引鍵/值

  • 必要: {key}{api-version}
  • 自選: label
DELETE /locks/{key}?label={label}?api-version={api-version} HTTP/1.1

回應

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": []
}

如果機碼值不存在,則會傳回下列回應:

HTTP/1.1 404 Not Found

條件式鎖定和解除鎖定

若要防止競爭狀況,請使用 If-MatchIf-None-Match 要求標頭。 自 etag 變數是索引鍵表示法的一部分。 如果 If-Match 省略 或 If-None-Match ,則作業是無條件的。

只有當目前的索引鍵/值表示符合指定的 etag時,下列要求才會套用作業:

PUT|DELETE /locks/{key}?label={label}&api-version={api-version} HTTP/1.1
If-Match: "4f6dd610dd5e4deebc7fbaef685fb903"

只有在目前的索引鍵/值表示存在,但不符合指定的 etag時,下列要求才會套用作業:

PUT|DELETE /kv/{key}?label={label}&api-version={api-version} HTTP/1.1
If-None-Match: "4f6dd610dd5e4deebc7fbaef685fb903"