Compartilhar via


Revisões de chave-valor

Uma revisão de chave-valor define a representação histórica de um recurso de chave-valor. As revisões expiram após 7 dias para lojas de camada Gratuita ou 30 dias para armazenamentos de camada Standard. As revisões dão suporte à operação List.

Para todas as operações, key é um parâmetro opcional. Caso seja omitido, isso significará qualquer chave.

Para todas as operações, label é um parâmetro opcional. Caso seja omitido, ele implicará em outra 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.

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

Caso o número de itens retornados exceda o limite de resposta, o resultado será paginado. Siga o cabeçalho de resposta opcional do Link e use rel="next" para navegação. Como alternativa, o conteúdo fornecerá o próximo link no formulário da propriedade @nextLink.

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

Use o cabeçalho de solicitação Range. A resposta contém um cabeçalho Content-Range. Se o servidor não puder atender ao intervalo solicitado, ele responderá com HTTP 416 (RangeNotSatisfiable).

GET /revisions?api-version={api-version} HTTP/1.1
Range: items=0-2

Resposta

HTTP/1.1 206 Partial Content
Content-Type: application/vnd.microsoft.appconfig.revs+json; charset=utf-8
Content-Range: items 0-2/80

Filtragem

Há suporte para uma combinação de filtragens key e label. Use os parâmetros de cadeia de caracteres de consulta opcionais key e label.

GET /revisions?key={key}&label={label}&api-version={api-version}

Há suporte para uma combinação de keyfiltragem label e tags , Use os parâmetros opcionais key, label e tags query string. Vários filtros de tag podem ser fornecidos como parâmetros de string de consulta no tagName=tagValue formato. Os filtros de tags precisam ser uma correspondência exata.

GET /revisions?key={key}&label={label}&tags={tagFilter1}&tags={tagFilter2}&api-version={api-version}

Filtros com suporte

Filtro de chave Efeito
key é omitido ou key=* Corresponde a qualquer chave
key=abc Corresponde a uma chave denominada abc
key=abc* Corresponde aos nomes de chave que começam com abc
key=*abc Corresponde aos nomes de chaves que terminam com abc
key=*abc* Corresponde aos nomes de chaves que contêm abc
key=abc,xyz Corresponde aos nomes de chave abc ou xyz (limitado a 5 CSVs)
Filtro de rótulo Efeito
label é omitido ou label= Corresponde a chaves-valor sem rótulo
label=* Corresponde a outra etiqueta
label=prod Corresponde ao rótulo prod
label=prod* Corresponde aos rótulos que começam com prod
label=*prod Corresponde aos rótulos que terminam com prod
label=*prod* Corresponde aos rótulos que contêm prod
label=prod,test Corresponde aos rótulos prod ou test (limitado a 5 CSVs)
Filtro de tags Efeito
tags é omitido ou tags= Corresponde a qualquer tag
tags=group=app1 Corresponde a chaves-valor que têm uma tag nomeada group com valor app1
tags=group=app1&tags=env=prod Corresponde a chaves-valor que têm uma tag nomeada group com valor app1 e uma tag nomeada env com value prod(limitado a 5 filtros de tag)
tags=tag1=%00 Corresponde a chaves-valor que têm uma tag nomeada tag1 com valor null
tags=tag1= Corresponde a chaves-valor que têm uma tag nomeada tag1 com valor vazio

Caracteres reservados

Os caracteres reservados são:

*, \, ,

Caso um caractere reservado faça parte do valor, ele deverá ser ignorado usando \{Reserved Character}. Os caracteres não reservados também podem ser ignorados.

Validação de filtro

Caso ocorra um erro de validação de filtro, a resposta será HTTP 400 com 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

  • Todos:

    GET /revisions
    
  • Itens em que o nome da chave começa com abc:

    GET /revisions?key=abc*&api-version={api-version}
    
  • Itens em que o nome da chave é abc ou xyz, e os rótulos contêm prod:

    GET /revisions?key=abc,xyz&label=*prod*&api-version={api-version}
    

Campos específicos da solicitação

Use o parâmetro opcional de cadeia de caracteres de consulta $select e forneça uma lista separada por vírgulas dos campos solicitados. Caso o parâmetro $select seja omitido, a resposta conterá o conjunto padrão.

GET /revisions?$select=value,label,last_modified&api-version={api-version} HTTP/1.1

Acesso baseado em tempo

Obtenha uma representação do resultado mostrado anteriormente. Para obter mais informações, consulte Estrutura HTTP para acesso baseado em tempo aos estados de recurso -- Memento, seçã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": [
        ....
    ]
}