Compartir vía


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 etagespecificado:

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 etagespecificado:

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