Condividi tramite


Locks

Questa API fornisce la semantica di blocco e sblocco per la risorsa chiave-valore. Supporta le operazioni seguenti:

  • Posizionare il blocco
  • Rimuovi blocco

Se presente, label deve essere un valore di etichetta esplicito (non un carattere jolly). Per tutte le operazioni, si tratta di un parametro facoltativo. Se omesso, non implica alcuna etichetta.

Prerequisiti

  • Tutte le richieste HTTP devono essere autenticate. Vedere la sezione relativa all'autenticazione.
  • Tutte le richieste HTTP devono fornire esplicitamente api-version. Vedere la sezione relativa al controllo delle versioni.

Blocca chiave-valore

  • Obbligatorio: {key}, {api-version}
  • Opzionale: label
PUT /locks/{key}?label={label}&api-version={api-version} HTTP/1.1

Risposte:

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": []
}

Se il valore chiave non esiste, viene restituita la risposta seguente:

HTTP/1.1 404 Not Found

Sbloccare il valore della chiave

  • Obbligatorio: {key}, {api-version}
  • Opzionale: label
DELETE /locks/{key}?label={label}?api-version={api-version} HTTP/1.1

Risposte:

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": []
}

Se il valore chiave non esiste, viene restituita la risposta seguente:

HTTP/1.1 404 Not Found

Blocco condizionale e sblocco

Per evitare race condition, usare If-Match o If-None-Match richiedere intestazioni. L'argomento etag fa parte della rappresentazione della chiave. Se If-Match o If-None-Match vengono omessi, l'operazione è incondizionato.

La richiesta seguente applica l'operazione solo se la rappresentazione chiave-valore corrente corrisponde all'oggetto specificato etag:

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

La richiesta seguente applica l'operazione solo se la rappresentazione chiave-valore corrente esiste, ma non corrisponde all'oggetto specificato etag:

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