Locks
Essa API fornece semântica de bloqueio e desbloqueio para o recurso de chave-valor. Ela é compatível com as seguintes operações:
- Posicionar bloqueio
- Remover bloqueio
Se presente, label
deve ser um valor de rótulo explícito (não um caractere curinga). Para todas as operações, é um parâmetro opcional. Caso seja omitido, isso significará que não há etiqueta.
Pré-requisitos
- Todas as solicitações HTTP deverão ser autenticadas. Confira a seção autenticação.
- Todas as solicitações HTTP deverão fornecer uma
api-version
explícita. Confira a seção controle de versão.
Bloquear chave-valor
- Obrigatório:
{key}
,{api-version}
- Opcional:
label
PUT /locks/{key}?label={label}&api-version={api-version} HTTP/1.1
Respostas:
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 a chave-valor não existir, a seguinte resposta será retornada:
HTTP/1.1 404 Not Found
Desbloquear chave-valor
- Obrigatório:
{key}
,{api-version}
- Opcional:
label
DELETE /locks/{key}?label={label}?api-version={api-version} HTTP/1.1
Respostas:
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 a chave-valor não existir, a seguinte resposta será retornada:
HTTP/1.1 404 Not Found
Bloqueio e desbloqueio condicional
Para evitar condições de corrida, use os cabeçalhos de solicitação If-Match
ou If-None-Match
. O argumento etag
faz parte da representação de chave. Se If-Match
ou If-None-Match
forem omitidos, a operação é incondicional.
A solicitação a seguir se aplica à operação somente se a representação chave-valor atual corresponder ao etag
especificado:
PUT|DELETE /locks/{key}?label={label}&api-version={api-version} HTTP/1.1
If-Match: "4f6dd610dd5e4deebc7fbaef685fb903"
A solicitação a seguir se aplica à operação somente se a representação chave-valor atual existir, mas não corresponder ao etag
especificado:
PUT|DELETE /kv/{key}?label={label}&api-version={api-version} HTTP/1.1
If-None-Match: "4f6dd610dd5e4deebc7fbaef685fb903"