Sdílet prostřednictvím


Revize klíč-hodnota

Revize klíč-hodnota definuje historickou reprezentaci prostředku klíč-hodnota. Platnost revizí vyprší po 7 dnech pro obchody na úrovni Free nebo 30 dní pro obchody úrovně Standard. Revize podporují List operaci.

Pro všechny operace key je volitelný parametr. Pokud tento parametr vynecháte, znamená to jakýkoli klíč.

Pro všechny operace label je volitelný parametr. Pokud tento popisek vynecháte, znamená to jakýkoli popisek.

Požadavky

Výpis revizí

GET /revisions?label=*&api-version={api-version} HTTP/1.1

Odpovědi:

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}"
}

Stránkování

Výsledek se stránkuje, pokud počet vrácených položek překročí limit odpovědi. Postupujte podle volitelné Link hlavičky odpovědi a použijte rel="next" k navigaci. Obsah také poskytuje další odkaz ve formě @nextLink vlastnosti.

GET /revisions?api-version={api-version} HTTP/1.1

Odpověď:

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}"
}

Zobrazení podmnožina revizí

Použijte hlavičku Range požadavku. Odpověď obsahuje hlavičku Content-Range. Pokud server nemůže splnit požadovaný rozsah, odpoví protokolem 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

Filtrování

Podporuje se kombinace key a label filtrování. Použijte volitelné key parametry řetězce dotazu a label parametry řetězce dotazu.

GET /revisions?key={key}&label={label}&api-version={api-version}

Podporuje se kombinace keylabel a tags filtrování. Použijte volitelné keylabel parametry a tags parametry řetězce dotazu. Jako parametry řetězce dotazu ve tagName=tagValue formátu je možné zadat více filtrů značek. Filtry značek musí být přesné shody.

GET /revisions?key={key}&label={label}&tags={tagFilter1}&tags={tagFilter2}&api-version={api-version}

Podporované filtry

Filtr klíčů Účinnost
key je vynechán nebo key=* Odpovídá libovolnému klíči.
key=abc Odpovídá klíči s názvem abc.
key=abc* Odpovídá názvům klíčů, které začínají na abc.
key=*abc Odpovídá názvům klíčů, které končí abc.
key=*abc* Odpovídá názvům klíčů, které obsahují abc.
key=abc,xyz Odpovídá názvům klíčů abc nebo xyz (omezeno na 5 CSV)
Filtr popisků Účinnost
label je vynechán nebo label= Odpovídá hodnotám klíče bez popisku.
label=* Odpovídá jakémukoli popisku.
label=prod Odpovídá popisku s popiskem .
label=prod* Odpovídá popiskům, které začínají s prod.
label=*prod Odpovídá popiskům, které končí prod.
label=*prod* Odpovídá popiskům, které obsahují prod.
label=prod,test Odpovídá popiskům prod nebo testování (omezeno na 5 CSV)
Filtr značek Účinnost
tags je vynechán nebo tags= Odpovídá libovolné značce.
tags=group=app1 Odpovídá hodnotám klíče, které mají značku s názvem group hodnota. app1
tags=group=app1&tags=env=prod Odpovídá hodnotám klíče, které mají značku s názvem group value app1 a značku s názvem env s hodnotou prod(omezeno na 5 filtrů značek).
tags=tag1=%00 Odpovídá hodnotám klíče, které mají značku s názvem tag1 hodnota. null
tags=tag1= Odpovídá hodnotám klíče, které mají značku s tag1 prázdnou hodnotou.

Rezervované znaky

Rezervované znaky jsou:

*, , \,

Pokud je vyhrazený znak součástí hodnoty, musí být řídicí znak pomocí .\{Reserved Character} Neplacené znaky mohou být také řídicí znaky.

Ověření filtru

Pokud dojde k chybě ověření filtru, odpověď je HTTP 400 s podrobnostmi o chybě:

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
}

Příklady

  • Všichni:

    GET /revisions
    
  • Položky, kde název klíče začíná abc:

    GET /revisions?key=abc*&api-version={api-version}
    
  • Položky, ve kterých je název klíče abc nebo xyz, a popisky obsahují prod:

    GET /revisions?key=abc,xyz&label=*prod*&api-version={api-version}
    

Zadání konkrétních polí

Použijte volitelný $select parametr řetězce dotazu a zadejte čárkami oddělený seznam požadovaných polí. $select Pokud parametr vynecháte, odpověď obsahuje výchozí sadu.

GET /revisions?$select=value,label,last_modified&api-version={api-version} HTTP/1.1

Přístup na základě času

Získá reprezentaci výsledku, protože byl v minulosti. Další informace najdete v tématu HTTP Framework pro přístup k prostředkům podle času – Memento, oddíl 2.1.1.

GET /revisions?api-version={api-version} HTTP/1.1
Accept-Datetime: Sat, 12 May 2018 02:10:00 GMT

Odpověď:

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