Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
This API provides lock and unlock semantics for the key-value resource. It supports the following operations:
- Place lock
- Remove lock
If present, label
must be an explicit label value (not a wildcard). For all operations, it's an optional parameter. If omitted, it implies no label.
Prerequisites
- All HTTP requests must be authenticated. See the authentication section.
- All HTTP requests must provide explicit
api-version
. See the versioning section.
Lock key-value
- Required:
{key}
,{api-version}
- Optional:
label
PUT /locks/{key}?label={label}&api-version={api-version} HTTP/1.1
Responses:
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": []
}
If the key-value doesn't exist, the following response is returned:
HTTP/1.1 404 Not Found
Unlock key-value
- Required:
{key}
,{api-version}
- Optional:
label
DELETE /locks/{key}?label={label}?api-version={api-version} HTTP/1.1
Responses:
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": []
}
If the key-value doesn't exist, the following response is returned:
HTTP/1.1 404 Not Found
Conditional lock and unlock
To prevent race conditions, use If-Match
or If-None-Match
request headers. The etag
argument is part of the key representation. If If-Match
or If-None-Match
are omitted, the operation is unconditional.
The following request applies the operation only if the current key-value representation matches the specified etag
:
PUT|DELETE /locks/{key}?label={label}&api-version={api-version} HTTP/1.1
If-Match: "4f6dd610dd5e4deebc7fbaef685fb903"
The following request applies the operation only if the current key-value representation exists, but doesn't match the specified etag
:
PUT|DELETE /kv/{key}?label={label}&api-version={api-version} HTTP/1.1
If-None-Match: "4f6dd610dd5e4deebc7fbaef685fb903"