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šechny požadavky HTTP musí být ověřeny. Viz část ověřování.
- Všechny požadavky HTTP musí poskytovat explicitní
api-version
. Viz část správa verzí.
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 key
label
a tags
filtrování.
Použijte volitelné key
label
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": [
....
]
}