Nyckelvärdesrevisioner
En nyckelvärdesrevision definierar den historiska representationen av en nyckelvärdesresurs. Revisioner upphör att gälla efter 7 dagar för butiker på den kostnadsfria nivån eller 30 dagar för Standard-nivålager. Revisioner stöder åtgärden List
.
För alla åtgärder key
är en valfri parameter. Om det utelämnas innebär det vilken nyckel som helst.
För alla åtgärder label
är en valfri parameter. Om det utelämnas innebär det alla etiketter.
Förutsättningar
- Alla HTTP-begäranden måste autentiseras. Se avsnittet autentisering.
- Alla HTTP-begäranden måste ange explicit
api-version
. Se avsnittet versionshantering.
Visa en lista över revisioner
GET /revisions?label=*&api-version={api-version} HTTP/1.1
Svaren:
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}"
}
Sidnumrering
Resultatet sidnumreras om antalet returnerade objekt överskrider svarsgränsen. Följ det valfria Link
svarshuvudet och använd rel="next"
för navigering. Alternativt tillhandahåller innehållet en nästa länk i form av @nextLink
egenskapen .
GET /revisions?api-version={api-version} HTTP/1.1
Svar:
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}"
}
Visa en lista över delmängder av revisioner
Använd begärandehuvudet Range
. Svaret innehåller ett Content-Range
-huvud. Om servern inte kan uppfylla det begärda intervallet svarar den med 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
Filtrering
En kombination av key
och label
filtrering stöds.
Använd parametrarna för valfria key
strängar och label
frågesträngar.
GET /revisions?key={key}&label={label}&api-version={api-version}
En kombination av key
, label
och tags
filtrering stöds.
Använd parametrarna för valfria key
och label
tags
frågesträngar.
Flera taggfilter kan anges som frågesträngsparametrar i tagName=tagValue
formatet. Taggfilter måste vara en exakt matchning.
GET /revisions?key={key}&label={label}&tags={tagFilter1}&tags={tagFilter2}&api-version={api-version}
Filter som stöds
Nyckelfilter | Effekt |
---|---|
key utelämnas eller key=* |
Matchar valfri nyckel |
key=abc |
Matchar en nyckel med namnet abc |
key=abc* |
Matchar nycklar som börjar med abc |
key=*abc |
Matchar nycklar som slutar med abc |
key=*abc* |
Matchar nycklar som innehåller abc |
key=abc,xyz |
Matchar nycklarnas namn abc eller xyz (begränsat till 5 CSV) |
Etikettfilter | Effekt |
---|---|
label utelämnas eller label= |
Matchar nyckelvärden utan etikett |
label=* |
Matchar valfri etikett |
label=prod |
Matchar etikettprod |
label=prod* |
Matchar etiketter som börjar med prod |
label=*prod |
Matchar etiketter som slutar med prod |
label=*prod* |
Matchar etiketter som innehåller prod |
label=prod,test |
Matchar etiketter prod eller test (begränsat till 5 CSV) |
Filter för taggar | Effekt |
---|---|
tags utelämnas eller tags= |
Matchar valfri tagg |
tags=group=app1 |
Matchar nyckelvärden som har en tagg med namnet group med värdet app1 |
tags=group=app1&tags=env=prod |
Matchar nyckelvärden som har en tagg med namnet group med värdet app1 och en tagg med namnet env med värdet prod (begränsad till 5 taggfilter) |
tags=tag1=%00 |
Matchar nyckelvärden som har en tagg med namnet tag1 med värdet null |
tags=tag1= |
Matchar nyckelvärden som har en tagg med namnet tag1 med ett tomt värde |
Reserverade tecken
De reserverade tecknen är:
*
, , \
,
Om ett reserverat tecken är en del av värdet måste det kringgås med hjälp \{Reserved Character}
av . Icke-reserverade tecken kan också undantagas.
Filterverifiering
Om ett filterverifieringsfel inträffar är svaret HTTP 400
med felinformation:
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
}
Exempel
Alla:
GET /revisions
Objekt där nyckelnamnet börjar med abc:
GET /revisions?key=abc*&api-version={api-version}
Objekt där nyckelnamnet antingen är abc eller xyz och etiketter innehåller prod:
GET /revisions?key=abc,xyz&label=*prod*&api-version={api-version}
Begär specifika fält
Använd den valfria frågesträngsparametern $select
och ange en kommaavgränsad lista över begärda fält. Om parametern $select
utelämnas innehåller svaret standarduppsättningen.
GET /revisions?$select=value,label,last_modified&api-version={api-version} HTTP/1.1
Tidsbaserad åtkomst
Hämta en representation av resultatet som det var vid en tidigare tidpunkt. Mer information finns i HTTP Framework för tidsbaserad åtkomst till resurstillstånd – Memento, avsnitt 2.1.1.
GET /revisions?api-version={api-version} HTTP/1.1
Accept-Datetime: Sat, 12 May 2018 02:10:00 GMT
Svar:
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": [
....
]
}