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 key
filtri label
e tags
.
Usare i parametri facoltativi key
label
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": [
....
]
}