共用方式為


上鎖

此 API (1.0 版) 提供機碼值資源的鎖定和解除鎖定語意。 其支援下列作業:

  • 放置鎖定
  • 移除鎖定

如果存在,label 必須是明確的標籤值 (不是萬用字元)。 針對所有作業,其是選用參數。 如果省略,則表示沒有標籤。

必要條件

  • 必須驗證所有 HTTP 要求。 請參閱驗證區段。
  • 所有 HTTP 要求都必須提供明確的 api-version。 請參閱版本設定區段。

鎖定機碼值

  • 必要:{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-MatchIf-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"