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 dla magazynów w warstwie Standardowa. Poprawki obsługują operację List .

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

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

Ten artykuł dotyczy interfejsu API w wersji 1.0.

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

Dzielenie na strony

Wynik jest podzielony na strony, jeśli liczba zwróconych 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

Odpowiedzi:

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 podzestawu 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

Odpowiedź

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ługiwane jest połączenie i keylabel filtrowanie. Użyj opcjonalnych key parametrów ciągu zapytania i label .

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

Obsługiwane filtry

Filtr klucza Efekt
Element key jest pomijany lub key=* Pasuje do dowolnego klucza
key=abc Dopasuje klucz o nazwie abc
key=abc* Pasuje do nazw kluczy rozpoczynających się od abc
key=*abc Pasuje do nazw kluczy kończących się ciągiem abc
key=*abc* Pasuje do nazw kluczy zawierających abc
key=abc,xyz Dopasuje nazwy kluczy abc lub xyz (ograniczone do 5 CSV)
Filtr etykiet Efekt
Element label jest pomijany lub label= Dopasuje wpis bez etykiety
label=* Dopasuje dowolną etykietę
label=prod Dopasuj etykietę prod
label=prod* Dopasuje etykiety rozpoczynające się od prod
label=*prod Dopasuje etykiety kończące się prod
label=*prod* Dopasuj etykiety zawierające prod
label=prod,test Dopasuj etykiety prod lub test (ograniczone do 5 CSV)

Zastrzeżone znaki

Zastrzeżone znaki to:

*, \, ,

Jeśli zastrzeżony znak jest częścią wartości, musi zostać uniknięty za pomocą polecenia \{Reserved Character}. Znaki nieuwzwiązane z zarezerwowaną można również stosować jako znaki ucieczki.

Sprawdzanie poprawności 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

Odpowiedzi:

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