Condividi tramite


Revisioni chiave-valore

Una revisione chiave-valore definisce la rappresentazione cronologica di una risorsa chiave-valore. Le revisioni scadono dopo 7 giorni per gli archivi di livello gratuito o 30 giorni per gli archivi di livello Standard. Le revisioni supportano l'operazione List .

Per tutte le operazioni, key è un parametro facoltativo. Se omesso, implica qualsiasi chiave.

Per tutte le operazioni, label è un parametro facoltativo. Se omesso, implica qualsiasi etichetta.

Prerequisiti

  • Tutte le richieste HTTP devono essere autenticate. Vedere la sezione relativa all'autenticazione.
  • Tutte le richieste HTTP devono fornire esplicitamente api-version. Vedere la sezione relativa al controllo delle versioni.

Elencare le revisioni

GET /revisions?label=*&api-version={api-version} HTTP/1.1

Risposte:

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}"
}

Impaginazione

Il risultato viene impaginato se il numero di elementi restituiti supera il limite di risposta. Seguire l'intestazione della risposta facoltativa Link e usare rel="next" per la navigazione. In alternativa, il contenuto fornisce un collegamento successivo sotto forma di @nextLink proprietà .

GET /revisions?api-version={api-version} HTTP/1.1

Risposta:

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}"
}

Elenco di subset di revisioni

Usare l'intestazione della Range richiesta. La risposta contiene un'intestazione Content-Range. Se il server non riesce a soddisfare l'intervallo richiesto, risponde con 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

Filtri

È supportata una combinazione di key filtri e label . Usare i parametri facoltativi key e label della stringa di query.

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

È supportata una combinazione di keyfiltri label e tags . Usare i parametri facoltativi keylabel della stringa di query e tags . È possibile specificare più filtri di tag come parametri della stringa di query nel tagName=tagValue formato . I filtri tag devono essere una corrispondenza esatta.

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

Filtri supportati

Filtro chiavi Effetto
key è omesso oppure key=* Trova la corrispondenza con qualsiasi chiave
key=abc Corrisponde a una chiave denominata abc
key=abc* Corrisponde ai nomi delle chiavi che iniziano con abc
key=*abc Trova la corrispondenza con i nomi delle chiavi che terminano con abc
key=*abc* Corrisponde ai nomi delle chiavi che contengono abc
key=abc,xyz Trova la corrispondenza con i nomi delle chiavi abc o xyz (limitato a 5 CSV)
Filtro etichette Effetto
label è omesso oppure label= Trova la corrispondenza con i valori chiave senza etichetta
label=* Corrisponde a qualsiasi etichetta
label=prod Corrisponde all'etichetta prod
label=prod* Corrisponde alle etichette che iniziano con prod
label=*prod Corrisponde alle etichette che terminano con prod
label=*prod* Corrisponde alle etichette che contengono prod
label=prod,test Corrisponde all'elemento prod o al test delle etichette (limitato a 5 CSV)
Filtro tag Effetto
tags è omesso oppure tags= Corrisponde a qualsiasi tag
tags=group=app1 Trova la corrispondenza con i valori chiave con un tag denominato group con valore app1
tags=group=app1&tags=env=prod Trova la corrispondenza con i valori chiave con un tag denominato group con valore app1 e un tag denominato env con valore prod(limitato a 5 filtri tag)
tags=tag1=%00 Trova la corrispondenza con i valori chiave con un tag denominato tag1 con valore null
tags=tag1= Trova la corrispondenza con i valori chiave con un tag denominato tag1 con valore vuoto

Caratteri riservati

I caratteri riservati sono:

*, \, ,

Se un carattere riservato fa parte del valore , deve essere preceduto da un carattere di escape tramite \{Reserved Character}. I caratteri non riservati possono anche essere preceduti da caratteri di escape.

Convalida dei filtri

Se si verifica un errore di convalida del filtro, la risposta è HTTP 400 con i dettagli dell'errore:

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
}

Esempi

  • All:

    GET /revisions
    
  • Elementi in cui il nome della chiave inizia con abc:

    GET /revisions?key=abc*&api-version={api-version}
    
  • Gli elementi in cui il nome della chiave è abc o xyz e le etichette contengono prod:

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

Richiedi campi specifici

Usare il parametro facoltativo $select della stringa di query e specificare un elenco delimitato da virgole di campi richiesti. Se il $select parametro viene omesso, la risposta contiene il set predefinito.

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

Accesso basato sul tempo

Ottenere una rappresentazione del risultato come in passato. Per altre informazioni, vedere HTTP Framework for Time-Based Access to Resource States -- Memento, sezione 2.1.1.

GET /revisions?api-version={api-version} HTTP/1.1
Accept-Datetime: Sat, 12 May 2018 02:10:00 GMT

Risposta:

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