Bloqueos
Esta API proporciona semántica de bloqueo y desbloqueo para el recurso clave-valor. Admite las siguientes operaciones:
- Establecer bloqueo
- Eliminar bloqueo
Si está presente, label
debe ser un valor de etiqueta explícito (no un carácter comodín). Es un parámetro opcional para todas las operaciones. Si se omite, significa que no hay etiqueta.
Requisitos previos
- Se deben autenticar todas las solicitudes HTTP. Consulte la sección Autenticación.
- Todas las solicitudes HTTP deben proporcionar parámetros
api-version
explícitos. Consulte la sección Control de versiones.
Bloqueo de clave y valor
- Obligatorio:
{key}
,{api-version}
- Opcional:
label
PUT /locks/{key}?label={label}&api-version={api-version} HTTP/1.1
Respuestas:
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": []
}
Si el elemento de clave y valor no existe, se devuelve la respuesta siguiente:
HTTP/1.1 404 Not Found
Desbloqueo de clave y valor
- Obligatorio:
{key}
,{api-version}
- Opcional:
label
DELETE /locks/{key}?label={label}?api-version={api-version} HTTP/1.1
Respuestas:
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": []
}
Si el elemento de clave y valor no existe, se devuelve la respuesta siguiente:
HTTP/1.1 404 Not Found
Bloqueo y desbloqueo condicionales
Para evitar condiciones de carrera, use los encabezados de solicitud If-Match
o If-None-Match
. El argumento etag
forma parte de la representación de la clave. Si se omiten If-Match
o If-None-Match
, la operación es incondicional.
La siguiente solicitud aplica la operación solo si la representación de clave y valor actual coincide con el elemento etag
especificado:
PUT|DELETE /locks/{key}?label={label}&api-version={api-version} HTTP/1.1
If-Match: "4f6dd610dd5e4deebc7fbaef685fb903"
La siguiente solicitud aplica la operación solo si la representación de clave y valor actual existe pero no coincide con el elemento etag
especificado:
PUT|DELETE /kv/{key}?label={label}&api-version={api-version} HTTP/1.1
If-None-Match: "4f6dd610dd5e4deebc7fbaef685fb903"