锁
此 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-Match
或 If-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"