Delen via


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

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 keyen label tags filteren wordt ondersteund. Gebruik de optionele keylabel 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": [
        ....
    ]
}