Dela via


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

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