Verrous
Cette API fournit une sémantique de verrouillage et de déverrouillage pour la ressource clé-valeur. Elle prend en charge les opérations suivantes :
- Placer un verrou
- Retirer un verrou
Si le paramètre label
est présent, il doit s’agir d’une valeur d’étiquette explicite (et non d’un caractère générique). Pour toutes les opérations, il est facultatif. Son omission implique l’absence d’étiquette.
Prérequis
- Toutes les requêtes HTTP doivent être authentifiées. Consultez la section Authentification.
- Toutes les requêtes HTTP doivent fournir des
api-version
explicites. Consultez la section Contrôle de version.
Verrouillage de la clé-valeur
- Obligatoire :
{key}
,{api-version}
- Facultatif :
label
PUT /locks/{key}?label={label}&api-version={api-version} HTTP/1.1
Réponses :
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 la clé-valeur n’existe pas, la réponse suivante est retournée :
HTTP/1.1 404 Not Found
Déverrouillage de la clé-valeur
- Obligatoire :
{key}
,{api-version}
- Facultatif :
label
DELETE /locks/{key}?label={label}?api-version={api-version} HTTP/1.1
Réponses :
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 la clé-valeur n’existe pas, la réponse suivante est retournée :
HTTP/1.1 404 Not Found
Verrouillage et déverrouillage conditionnel
Pour éviter les conditions de concurrence, utilisez les en-têtes de demande If-Match
ou If-None-Match
. L’argument etag
fait partie de la représentation clé. Si If-Match
et If-None-Match
sont omis, l’opération est inconditionnelle.
La requête suivante applique l’opération uniquement si la représentation de la clé-valeur actuelle correspond à l’etag
spécifié :
PUT|DELETE /locks/{key}?label={label}&api-version={api-version} HTTP/1.1
If-Match: "4f6dd610dd5e4deebc7fbaef685fb903"
La requête suivante applique l’opération uniquement si la représentation de la clé-valeur actuelle existe, mais ne correspond pas à l’etag
spécifié :
PUT|DELETE /kv/{key}?label={label}&api-version={api-version} HTTP/1.1
If-None-Match: "4f6dd610dd5e4deebc7fbaef685fb903"