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"