Sleutel-waarderevisies
Een sleutel-waarderevisie definieert de historische weergave van een sleutel-waarderesource. Revisies verlopen na 7 dagen voor winkels in de gratis laag of 30 dagen voor stores in de Standard-laag. Revisies ondersteunen de List
bewerking.
Voor alle bewerkingen key
is dit een optionele parameter. Als u dit weglaat, impliceert dit een willekeurige sleutel.
Voor alle bewerkingen label
is dit een optionele parameter. Als u dit weglaat, impliceert dit een label.
Vereisten
- Alle HTTP-aanvragen moeten worden geverifieerd. Zie de sectie Verificatie .
- Alle HTTP-aanvragen moeten expliciet
api-version
worden opgegeven. Zie de sectie versiebeheer .
Revisies weergeven
GET /revisions?label=*&api-version={api-version} HTTP/1.1
Reacties:
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}"
}
Paginering
Het resultaat wordt gepagineerd als het aantal geretourneerde items de antwoordlimiet overschrijdt. Volg de optionele Link
antwoordheader en gebruik rel="next"
deze voor navigatie. De inhoud biedt ook een volgende koppeling in de vorm van de @nextLink
eigenschap.
GET /revisions?api-version={api-version} HTTP/1.1
Antwoord:
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}"
}
Subset van revisies vermelden
Gebruik de Range
aanvraagheader. Het antwoord bevat de header Content-Range
. Als de server niet aan het aangevraagde bereik kan voldoen, reageert deze met HTTP 416
(RangeNotSatisfiable
).
GET /revisions?api-version={api-version} HTTP/1.1
Range: items=0-2
Respons
HTTP/1.1 206 Partial Content
Content-Type: application/vnd.microsoft.appconfig.revs+json; charset=utf-8
Content-Range: items 0-2/80
Filteren
Een combinatie van key
en label
filteren wordt ondersteund.
Gebruik de optionele key
parameters en label
queryreeksparameters.
GET /revisions?key={key}&label={label}&api-version={api-version}
Een combinatie van key
en label
tags
filteren wordt ondersteund.
Gebruik de optionele key
label
parameters en tags
queryreeksparameters.
Er kunnen meerdere tagfilters worden opgegeven als queryreeksparameters in de tagName=tagValue
indeling. Tagfilters moeten een exacte overeenkomst zijn.
GET /revisions?key={key}&label={label}&tags={tagFilter1}&tags={tagFilter2}&api-version={api-version}
Ondersteunde filters
Sleutelfilter | Effect |
---|---|
key wordt weggelaten of key=* |
Komt overeen met een willekeurige sleutel |
key=abc |
Komt overeen met een sleutel met de naam abc |
key=abc* |
Komt overeen met namen van sleutels die beginnen met abc |
key=*abc |
Komt overeen met sleutelnamen die eindigen op abc |
key=*abc* |
Komt overeen met namen van sleutels die abc bevatten |
key=abc,xyz |
Komt overeen met namen van sleutels abc of xyz (beperkt tot 5 CSV) |
Labelfilter | Effect |
---|---|
label wordt weggelaten of label= |
Komt overeen met sleutelwaarden zonder label |
label=* |
Komt overeen met elk label |
label=prod |
Komt overeen met het label prod |
label=prod* |
Komt overeen met labels die beginnen met prod |
label=*prod |
Komt overeen met labels die eindigen op prod |
label=*prod* |
Komt overeen met labels die prod bevatten |
label=prod,test |
Komt overeen met labels prod of test (beperkt tot 5 CSV) |
Tagsfilter | Effect |
---|---|
tags wordt weggelaten of tags= |
Komt overeen met een tag |
tags=group=app1 |
Komt overeen met sleutelwaarden met een tag met de naam group waarde app1 |
tags=group=app1&tags=env=prod |
Komt overeen met sleutelwaarden met een tag met een app1 naam group en een tag met een naam env met een waarde prod (beperkt tot 5 tagfilters) |
tags=tag1=%00 |
Komt overeen met sleutelwaarden met een tag met de naam tag1 waarde null |
tags=tag1= |
Komt overeen met sleutelwaarden met een tag met de naam tag1 lege waarde |
Gereserveerde tekens
De gereserveerde tekens zijn:
*
, , \
,
Als een gereserveerd teken deel uitmaakt van de waarde, moet deze worden ontsnapt met behulp van \{Reserved Character}
. Niet-gereserveerde tekens kunnen ook worden ontsnapt.
Filtervalidatie
Als er een filtervalidatiefout optreedt, is het antwoord HTTP 400
met foutdetails:
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
}
Voorbeelden
Alles:
GET /revisions
Items waarbij de sleutelnaam begint met abc:
GET /revisions?key=abc*&api-version={api-version}
Items waarin de sleutelnaam abc of xyz is en labels prod bevatten:
GET /revisions?key=abc,xyz&label=*prod*&api-version={api-version}
Specifieke velden aanvragen
Gebruik de optionele $select
queryreeksparameter en geef een door komma's gescheiden lijst met aangevraagde velden op. Als de $select
parameter wordt weggelaten, bevat het antwoord de standaardset.
GET /revisions?$select=value,label,last_modified&api-version={api-version} HTTP/1.1
Toegang op basis van tijd
Verkrijg een weergave van het resultaat zoals het in het verleden was. Zie HTTP Framework voor op tijd gebaseerde toegang tot resourcestatussen -- Memento, sectie 2.1.1 voor meer informatie.
GET /revisions?api-version={api-version} HTTP/1.1
Accept-Datetime: Sat, 12 May 2018 02:10:00 GMT
Antwoord:
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": [
....
]
}