Teilen über


Revisionen von Schlüssel-Wert-Paaren

Eine Revision von Schlüssel-Wert-Paaren definiert die historische Darstellung einer Schlüssel-Wert-Ressource. Revisionen laufen für Speicher im Free-Tarif nach 7 Tagen und für Speicher im Standard-Tarif nach 30 Tagen ab. Revisionen unterstützen den List-Vorgang.

key ist ein optionaler Parameter für alle Vorgänge. Ohne Angabe dieses Parameters wird ein beliebiger Schlüssel impliziert.

label ist ein optionaler Parameter für alle Vorgänge. Ohne Angabe dieses Parameters wird eine beliebige Bezeichnung impliziert.

Voraussetzungen

  • Alle HTTP-Anforderungen müssen authentifiziert werden. Informationen dazu erhalten Sie im Abschnitt Authentifizierung.
  • Alle HTTP-Anforderungen müssen explizit die api-version angeben. Informationen dazu erhalten Sie im Abschnitt Versionsverwaltung.

Auflisten von Revisionen

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

Antworten:

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

Paginierung

Das Ergebnis ist paginiert, wenn die Anzahl der zurückgegebenen Elemente das Antwortlimit überschreitet. Folgen Sie dem optionalen Link-Antwortheader, und verwenden Sie rel="next" zur Navigation. Alternativ dazu stellt der Inhalt in Form der @nextLink-Eigenschaft einen Link zu weiteren Elementen bereit.

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

Antwort:

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

Auflisten einer Teilmenge von Revisionen

Verwenden Sie den Range-Anforderungsheader. Die Antwort enthält einen Content-Range-Header. Wenn der Server den angeforderten Bereich nicht erfüllen kann, lautet die Antwort „HTTP 416 (RangeNotSatisfiable)“.

GET /revisions?api-version={api-version} HTTP/1.1
Range: items=0-2

Antwort

HTTP/1.1 206 Partial Content
Content-Type: application/vnd.microsoft.appconfig.revs+json; charset=utf-8
Content-Range: items 0-2/80

Filtern

Eine Kombination aus Filterung nach key und label wird unterstützt. Verwenden Sie die optionalen Abfragezeichenfolgeparameter key und label.

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

Eine Kombination aus keyund label tags Filtern wird unterstützt. Verwenden Sie die optionalen keyParameter label und tags Abfragezeichenfolgen. Mehrere Tagfilter können als Abfragezeichenfolgenparameter im tagName=tagValue Format bereitgestellt werden. Tagfilter müssen eine genaue Übereinstimmung sein.

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

Unterstützte Filter

Schlüsselfilter Wirkung
key wird weggelassen oder lautet key=* Übereinstimmung mit einem beliebigen Schlüssel
key=abc Übereinstimmung mit einem Schlüssel namens abc
key=abc* Übereinstimmung mit Schlüsselnamen, die mit abc beginnen
key=*abc Übereinstimmung mit Schlüsselnamen, die auf abc enden
key=*abc* Übereinstimmung mit Schlüsselnamen, die abc enthalten
key=abc,xyz Übereinstimmung mit den Schlüsselnamen abc oder xyz (auf fünf CSVs begrenzt)
Bezeichnungsfilter Wirkung
label wird weggelassen oder lautet label= Gleicht Schlüsselwerte ohne Beschriftung ab.
label=* Übereinstimmung mit einer beliebigen Bezeichnung
label=prod Übereinstimmung mit Bezeichnung prod
label=prod* Übereinstimmung mit Bezeichnungen, die mit prod beginnen
label=*prod Übereinstimmung mit Bezeichnungen, die auf prod enden
label=*prod* Übereinstimmung mit Bezeichnungen, die prod enthalten
label=prod,test Übereinstimmung mit den Bezeichnungen prod oder test (auf fünf CSVs begrenzt)
Kategorienfilter Wirkung
tags wird weggelassen oder lautet tags= Entspricht einem beliebigen Tag
tags=group=app1 Gleicht Schlüsselwerte ab, die ein Tag mit dem Wert haben group . app1
tags=group=app1&tags=env=prod Gleicht Schlüsselwerte ab, die ein Tag mit Dem group Wert app1 und ein Tag mit Dem Wert prodhaben env (auf 5 Tagfilter beschränkt)
tags=tag1=%00 Gleicht Schlüsselwerte ab, die ein Tag mit dem Wert haben tag1 . null
tags=tag1= Gleicht Schlüsselwerte mit einem Tag mit leerem Wert ab tag1 .

Reservierte Zeichen

Folgende Zeichen sind reservierte Zeichen:

*, \,

Wenn ein Wert ein reserviertes Zeichen enthält, muss dieses mit einem Escapezeichen versehen werden: \{Reserved Character}. Nicht reservierten Zeichen können ebenfalls mit Escapezeichen versehen werden.

Filterüberprüfung

Wenn bei der Filterüberprüfung ein Fehler auftritt, ist die Antwort ein HTTP-Fehler 400 mit Details:

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
}

Beispiele

  • Alle:

    GET /revisions
    
  • Elemente, deren Schlüsselname mit abc beginnt:

    GET /revisions?key=abc*&api-version={api-version}
    
  • Elemente, deren Schlüsselname abc oder xyz lautet und deren Bezeichnungen prod enthalten:

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

Anfordern bestimmter Felder

Verwenden Sie den optionalen Abfragezeichenfolgenparameter $select, und geben Sie eine durch Trennzeichen getrennte Liste der angeforderten Felder an. Wenn der Parameter $select ausgelassen wird, enthält die Antwort die Standardgruppe von Feldern.

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

Zeitbasierter Zugriff

Rufen Sie eine Darstellung des Ergebnisses ab, so wie es zu einem bestimmten Zeitpunkt in der Vergangenheit war. Weitere Informationen finden Sie unter HTTP Framework for Time-Based Access to Resource States -- Memento (HTTP-Framework für den zeitbasierten Zugriff auf Ressourcenzustände – Memento) in Abschnitt 2.1.1.

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

Antwort:

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