Partilhar via


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