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 key
und label
tags
Filtern wird unterstützt.
Verwenden Sie die optionalen key
Parameter 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 prod haben 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": [
....
]
}