Revisões de chave-valor
Uma revisão chave-valor define a representação histórica de um recurso chave-valor. As revisões expiram após 7 dias para lojas de escalão Gratuito ou 30 dias para lojas de escalão Standard. As revisões suportam a List
operação.
Para todas as operações, key
é um parâmetro opcional. Se for omitido, implica qualquer chave.
Para todas as operações, label
é um parâmetro opcional. Se for omitido, implica qualquer etiqueta.
Este artigo aplica-se à versão 1.0 da API.
Pré-requisitos
- Todos os pedidos HTTP têm de ser autenticados. Veja a secção de autenticação .
- Todos os pedidos HTTP têm de fornecer explicitamente
api-version
. Veja a secção controlo de versões .
Listar revisões
GET /revisions?label=*&api-version={api-version} HTTP/1.1
Respostas:
HTTP/1.1 200 OK
Content-Type: application/vnd.microsoft.appconfig.kvset+json; charset=utf-8"
Accept-Ranges: items
{
"items": [
{
"etag": "4f6dd610dd5e4deebc7fbaef685fb903",
"key": "{key}",
"label": "{label}",
"content_type": null,
"value": "example value",
"last_modified": "2017-12-05T02:41:26.4874615+00:00",
"tags": []
},
...
],
"@nextLink": "{relative uri}"
}
Paginação
O resultado será paginado se o número de itens devolvidos exceder o limite de resposta. Siga o cabeçalho de resposta opcional Link
e utilize rel="next"
para a navegação. Em alternativa, o conteúdo fornece uma ligação seguinte sob a forma da @nextLink
propriedade .
GET /revisions?api-version={api-version} HTTP/1.1
Resposta:
HTTP/1.1 OK
Content-Type: application/vnd.microsoft.appconfig.kvs+json; charset=utf-8
Accept-Ranges: items
Link: <{relative uri}>; rel="next"
{
"items": [
...
],
"@nextLink": "{relative uri}"
}
Listar subconjunto de revisões
Utilize o cabeçalho do Range
pedido. A resposta contém um cabeçalho Content-Range
. Se o servidor não conseguir satisfazer o intervalo pedido, este responde com HTTP 416
(RangeNotSatisfiable
).
GET /revisions?api-version={api-version} HTTP/1.1
Range: items=0-2
Response
HTTP/1.1 206 Partial Content
Content-Type: application/vnd.microsoft.appconfig.revs+json; charset=utf-8
Content-Range: items 0-2/80
Filtragem
É suportada uma combinação de key
e label
filtragem.
Utilize os parâmetros de cadeia de consulta e label
opcionaiskey
.
GET /revisions?key={key}&label={label}&api-version={api-version}
Filtros suportados
Filtro de chave | Efeito |
---|---|
key é omitido ou key=* |
Corresponde a qualquer chave |
key=abc |
Corresponde a uma chave chamada abc |
key=abc* |
Corresponde a nomes de chaves que começam com abc |
key=*abc |
Corresponde a nomes de chaves que terminam com abc |
key=*abc* |
Corresponde a nomes de chaves que contêm abc |
key=abc,xyz |
Corresponde aos nomes das chaves abc ou xyz (limitado a 5 CSV) |
Filtro de etiqueta | Efeito |
---|---|
label é omitido ou label= |
Corresponde à entrada sem etiqueta |
label=* |
Corresponde a qualquer etiqueta |
label=prod |
Corresponde à etiqueta prod |
label=prod* |
Corresponde a etiquetas que começam com prod |
label=*prod |
Corresponde a etiquetas que terminam com prod |
label=*prod* |
Corresponde a etiquetas que contêm prod |
label=prod,test |
Corresponde a etiquetas prod ou teste (limitado a 5 CSV) |
Carateres reservados
Os carateres reservados são:
*
, \
, ,
Se um caráter reservado fizer parte do valor, tem de ser escapado com \{Reserved Character}
. Os carateres não reservados também podem ser escapados.
Validação de filtros
Se ocorrer um erro de validação de filtro, a resposta será HTTP 400
com os detalhes do erro:
HTTP/1.1 400 Bad Request
Content-Type: application/problem+json; charset=utf-8
{
"type": "https://azconfig.io/errors/invalid-argument",
"title": "Invalid request parameter '{filter}'",
"name": "{filter}",
"detail": "{filter}(2): Invalid character",
"status": 400
}
Exemplos
Tudo:
GET /revisions
Itens em que o nome da chave começa com abc:
GET /revisions?key=abc*&api-version={api-version}
Os itens em que o nome da chave é abc ou xyz e as etiquetas contêm prod:
GET /revisions?key=abc,xyz&label=*prod*&api-version={api-version}
Pedir campos específicos
Utilize o parâmetro de cadeia de consulta opcional $select
e forneça uma lista separada por vírgulas dos campos pedidos. Se o $select
parâmetro for omitido, a resposta contém o conjunto predefinido.
GET /revisions?$select=value,label,last_modified&api-version={api-version} HTTP/1.1
Acesso baseado no tempo
Obtenha uma representação do resultado tal como era num momento anterior. Para obter mais informações, veja HTTP Framework for Time-Based Access to Resource States (Http Framework for Time-Based Access to Resource States –- Memento, secção 2.1.1).
GET /revisions?api-version={api-version} HTTP/1.1
Accept-Datetime: Sat, 12 May 2018 02:10:00 GMT
Resposta:
HTTP/1.1 200 OK
Content-Type: application/vnd.microsoft.appconfig.revs+json"
Memento-Datetime: Sat, 12 May 2018 02:10:00 GMT
Link: <{relative uri}>; rel="original"
{
"items": [
....
]
}