Teilen über


Sperren

Diese API stellt die Sperr- und Entsperrungssemantik für die Schlüsselwertressource bereit. Sie unterstützt die folgenden Vorgänge:

  • Sperre platzieren
  • Sperre entfernen

Wenn vorhanden, muss label ein expliziter Bezeichnungswert sein (kein Platzhalter). Dies ist ein optionaler Parameter für alle Vorgänge. Ohne Angabe dieses Parameters wird impliziert, dass keine Bezeichnung vorhanden ist.

Voraussetzungen

  • Alle HTTP-Anforderungen müssen authentifiziert werden. Informationen dazu erhalten Sie im Abschnitt Authentifizierung.
  • Alle HTTP-Anforderungen müssen explizit die api-version angeben. Informationen dazu erhalten Sie im Abschnitt Versionsverwaltung.

Sperren eines Schlüssel-Wert-Paars

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

Antworten:

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

Wenn das Schlüssel-Wert-Paar nicht vorhanden ist, wird folgende Antwort zurückgegeben:

HTTP/1.1 404 Not Found

Entsperren des Schlüssel-Wert-Paars

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

Antworten:

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

Wenn das Schlüssel-Wert-Paar nicht vorhanden ist, wird folgende Antwort zurückgegeben:

HTTP/1.1 404 Not Found

Bedingtes Sperren und Entsperren

Um Racebedingungen zu verhindern, verwenden Sie Anforderungsheader vom Typ If-Match oder If-None-Match. Das etag-Argument gehört zur Schlüsseldarstellung. Wenn If-Match oder If-None-Match ausgelassen werden, ist der Vorgang nicht bedingt.

Die folgende Anforderung wendet den Vorgang nur an, wenn die aktuelle Schlüssel-Wert-Darstellung mit dem angegebenen etag übereinstimmt:

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

Die folgende Anforderung wendet den Vorgang nur an, wenn die aktuelle Schlüssel-Wert-Darstellung vorhanden ist, aber nicht mit dem angegebenen etag übereinstimmt:

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