Udostępnij za pośrednictwem


Poprawki klucz-wartość

Poprawka klucz-wartość definiuje historyczną reprezentację zasobu klucz-wartość. Wersje wygasają po upływie 7 dni dla magazynów w warstwie Bezpłatna lub 30 dni w przypadku magazynów w warstwie Standardowa. Poprawki obsługują operację List .

Dla wszystkich operacji key jest opcjonalny parametr. Jeśli pominięto, oznacza to dowolny klucz.

Dla wszystkich operacji label jest opcjonalny parametr. Jeśli pominięto, oznacza to dowolną etykietę.

Wymagania wstępne

  • Wszystkie żądania HTTP muszą być uwierzytelnione. Zobacz sekcję uwierzytelniania .
  • Wszystkie żądania HTTP muszą podać jawne api-version. Zobacz sekcję przechowywanie wersji.

Wyświetlanie listy poprawek

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

Odpowiedzi:

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

Podział na strony

Wynik jest podzielony na strony, jeśli liczba zwracanych elementów przekracza limit odpowiedzi. Postępuj zgodnie z opcjonalnym Link nagłówkem odpowiedzi i użyj polecenia rel="next" na potrzeby nawigacji. Alternatywnie zawartość udostępnia następny link w postaci @nextLink właściwości.

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

Odpowiedź:

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

Lista podzbioru poprawek

Użyj nagłówka Range żądania. Odpowiedź zawiera nagłówek Content-Range. Jeśli serwer nie może spełnić żądanego zakresu, odpowiada za pomocą protokołu 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

Filtrowanie

Obsługiwana jest kombinacja key i label filtrowanie. Użyj opcjonalnych key parametrów ciągu zapytania i label .

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

Obsługiwana jest kombinacja parametrów keyi label tags filtrowania. Użyj opcjonalnych keyparametrów ciągu zapytania i label tags . W formacie można podać wiele filtrów tagów jako parametry tagName=tagValue ciągu zapytania. Filtry tagów muszą być dokładnie zgodne.

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

Obsługiwane filtry

Filtr klucza Efekt
Element key jest pomijany lub key=* Pasuje do dowolnego klucza
key=abc Pasuje do klucza o nazwie abc
key=abc* Pasuje do nazw kluczy rozpoczynających się od abc
key=*abc Dopasuj nazwy kluczy kończące się ciągiem abc
key=*abc* Pasuje do nazw kluczy zawierających abc
key=abc,xyz Pasuje do nazw kluczy abc lub xyz (ograniczony do 5 CSV)
Filtr etykiet Efekt
Element label jest pomijany lub label= Dopasuje wartości klucz-wartość bez etykiety
label=* Pasuje do dowolnej etykiety
label=prod Pasuje do etykiety prod
label=prod* Dopasuj etykiety rozpoczynające się od prod
label=*prod Dopasuj etykiety, które kończą się prod
label=*prod* Dopasuj etykiety zawierające prod
label=prod,test Dopasuj etykiety prod lub test (ograniczone do 5 CSV)
Filtr tagów Efekt
Element tags jest pomijany lub tags= Pasuje do dowolnego tagu
tags=group=app1 Pasuje do wartości klucz-, które mają tag o nazwie group z wartością app1
tags=group=app1&tags=env=prod Pasuje do wartości klucz-, które mają tag o nazwie group z wartością app1 i tag o nazwie env z wartością prod(ograniczone do 5 filtrów tagów)
tags=tag1=%00 Pasuje do wartości klucz-, które mają tag o nazwie tag1 z wartością null
tags=tag1= Pasuje do wartości klucz-, które mają tag o nazwie tag1 z pustą wartością

Zastrzeżone znaki

Zastrzeżone znaki to:

*, , \,

Jeśli zastrzeżony znak jest częścią wartości, należy go uniknić za pomocą polecenia \{Reserved Character}. Znaki inne niż zastrzeżone mogą być również ucieczki.

Walidacja filtru

Jeśli wystąpi błąd sprawdzania poprawności filtru, odpowiedź to HTTP 400 ze szczegółami błędu:

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
}

Przykłady

  • Wszystkie:

    GET /revisions
    
  • Elementy, w których nazwa klucza zaczyna się od abc:

    GET /revisions?key=abc*&api-version={api-version}
    
  • Elementy, w których nazwa klucza to abc lub xyz, a etykiety zawierają prod:

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

Żądanie określonych pól

Użyj opcjonalnego $select parametru ciągu zapytania i podaj rozdzielaną przecinkami listę żądanych pól. $select Jeśli parametr zostanie pominięty, odpowiedź zawiera zestaw domyślny.

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

Dostęp oparty na czasie

Uzyskaj reprezentację wyniku w przeszłości. Aby uzyskać więcej informacji, zobacz HTTP Framework for Time-Based Access to Resource States -- Memento, sekcja 2.1.1.

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

Odpowiedź:

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