Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Ett nyckelvärde är en resurs som identifieras med en unik kombination av key + label. label är valfritt. Om du uttryckligen vill referera till ett nyckelvärde utan etikett använder du "\0" (URL-kodad som %00). Se information för varje åtgärd.
Operations
- Hämta
- Visa en lista över flera
- Ställ in
- Delete
Förutsättningar
- Alla HTTP-begäranden måste autentiseras. Se avsnittet autentisering.
- Alla HTTP-begäranden måste ange explicit
api-version. Se avsnittet versionshantering.
Syntax
{
"etag": [string],
"key": [string],
"label": [string, optional],
"content_type": [string, optional],
"value": [string],
"last_modified": [datetime ISO 8601],
"locked": [boolean],
"tags": [object with string properties, optional]
}
Hämta nyckelvärde
Krävs: {key}, {api-version}
Valfritt: label (Om det utelämnas innebär det ett nyckelvärde utan etikett.)
GET /kv/{key}?label={label}&api-version={api-version}
Svaren:
HTTP/1.1 200 OK
Content-Type: application/vnd.microsoft.appconfig.kv+json; charset=utf-8;
Last-Modified: Tue, 05 Dec 2017 02:41:26 GMT
ETag: "4f6dd610dd5e4deebc7fbaef685fb903"
{
"etag": "4f6dd610dd5e4deebc7fbaef685fb903",
"key": "{key}",
"label": "{label}",
"content_type": null,
"value": "example value",
"last_modified": "2017-12-05T02:41:26+00:00",
"locked": "false",
"tags": {
"t1": "value1",
"t2": "value2"
}
}
Om nyckeln inte finns returneras följande svar:
HTTP/1.1 404 Not Found
Hämta (villkorligt)
För att förbättra klientcachelagring använder If-Match du eller If-None-Match begär rubriker. Argumentet etag är en del av nyckelrepresentationen. Mer information finns i avsnitten 14.24 och 14.26.
Följande begäran hämtar endast nyckelvärdet om den aktuella representationen inte matchar den angivna etag:
GET /kv/{key}?api-version={api-version} HTTP/1.1
Accept: application/vnd.microsoft.appconfig.kv+json;
If-None-Match: "{etag}"
Svaren:
HTTP/1.1 304 NotModified
eller
HTTP/1.1 200 OK
Lista nyckelvärden
Valfritt: key (Om det inte anges innebär det någon nyckel.)
Valfritt: label (Om det inte anges innebär det någon etikett.)
GET /kv?label=*&api-version={api-version} HTTP/1.1
Svar:
HTTP/1.1 200 OK
Content-Type: application/vnd.microsoft.appconfig.kvset+json; charset=utf-8
Valfritt: tags (Om det inte anges innebär det några taggar.)
GET /kv?key=Test*&label=*&tags=tag1=value1&tags=tag2=value2&api-version={api-version} HTTP/1.1
Svar:
HTTP/1.1 200 OK
Content-Type: application/vnd.microsoft.appconfig.kvset+json; charset=utf-8
Fler alternativ finns i avsnittet "Filtrering" senare i den här artikeln.
Lista nyckelvärden (villkorsstyrt)
För att förbättra klientcachelagring använder If-Match du eller If-None-Match begär rubriker. Argumentet etag är en del av svarstexten och huvudet för nyckelvärden i listan.
Om If-Match eller If-None-Match utelämnas är åtgärden ovillkorlig.
Följande svar hämtar endast nyckelvärdet om den aktuella representationen matchar den angivna etag:
GET /kv?key={key}&label={label}&api-version={api-version} HTTP/1.1
If-Match: "4f6dd610dd5e4deebc7fbaef685fb903"
Svaren:
HTTP/1.1 412 PreconditionFailed
eller
HTTP/1.1 200 OK
Följande svar hämtar endast nyckelvärdena om den aktuella representationen inte matchar den angivna etag:
GET /kv?key={key}&label={label}&api-version={api-version} HTTP/1.1
If-None-Match: "4f6dd610dd5e4deebc7fbaef685fb903"
Svaren:
HTTP/1.1 304 NotModified
eller
HTTP/1.1 200 OK
Sidnumrering
Resultatet sidnumreras om antalet returnerade objekt överskrider svarsgränsen. Följ de valfria Link svarshuvudena och använd rel="next" för navigering.
Alternativt tillhandahåller innehållet en nästa länk i form av @nextLink egenskapen. Den länkade URI:n api-version innehåller argumentet.
GET /kv?api-version={api-version} HTTP/1.1
Svar:
HTTP/1.1 200 OK
Content-Type: application/vnd.microsoft.appconfig.kvs+json; charset=utf-8
Link: <{relative uri}>; rel="next"
{
"items": [
...
],
"@nextLink": "{relative uri}"
}
Filtrering
En kombination av key och label filtrering stöds.
Använd parametrarna för valfria key strängar och label frågesträngar.
GET /kv?key={key}&label={label}&api-version={api-version}
En kombination av key, labeloch tags filtrering stöds.
Använd parametrarna för valfria key, labeloch tags frågesträngar.
Flera taggfilter kan anges som frågesträngsparametrar i tagName=tagValue formatet. Taggfilter måste vara en exakt matchning.
GET /kv?key={key}&label={label}&tags={tagFilter1}&tags={tagFilter2}&api-version={api-version}
Filter som stöds
| Nyckelfilter | Effekt |
|---|---|
key utelämnas eller key=* |
Matchar valfri nyckel |
key=abc |
Matchar en nyckel med namnet abc |
key=abc* |
Matchar nycklar som börjar med abc |
key=abc,xyz |
Matchar nycklarnas namn abc eller xyz (begränsat till 5 CSV) |
| Etikettfilter | Effekt |
|---|---|
label utelämnas eller label=* |
Matchar valfri etikett |
label=%00 |
Matchar nyckelvärden utan etikett |
label=prod |
Matchar etikettprod |
label=prod* |
Matchar etiketter som börjar med prod |
label=prod,test |
Matchar etiketter prod eller test (begränsat till 5 CSV) |
| Filter för taggar | Effekt |
|---|---|
tags utelämnas eller tags= |
Matchar valfri tagg |
tags=group=app1 |
Matchar nyckelvärden som har en tagg med namnet group med värdet app1 |
tags=group=app1&tags=env=prod |
Matchar nyckelvärden som har en tagg med namnet group med värdet app1 och en tagg med namnet env med värdet prod(begränsad till 5 taggfilter) |
tags=tag1=%00 |
Matchar nyckelvärden som har en tagg med namnet tag1 med värdet null |
tags=tag1= |
Matchar nyckelvärden som har en tagg med namnet tag1 med ett tomt värde |
Reserverade tecken
*, , \,
Om ett reserverat tecken är en del av värdet måste det kringgås med hjälp \{Reserved Character}av . Icke-reserverade tecken kan också undantagas.
Filterverifiering
Om filterverifieringen misslyckas är svaret HTTP 400 med felinformation:
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
}
Exempel
Alla
GET /kv?api-version={api-version}Nyckelnamnet börjar med abc och innehåller alla etiketter
GET /kv?key=abc*&label=*&api-version={api-version}Nyckelnamnet börjar med abc och etiketten är lika med v1 eller v2
GET /kv?key=abc*&label=v1,v2&api-version={api-version}
Begär specifika fält
Använd den valfria frågesträngsparametern $select och ange en kommaavgränsad lista över begärda fält. Om parametern $select utelämnas innehåller svaret standarduppsättningen.
GET /kv?$select=key,value&api-version={api-version} HTTP/1.1
Tidsbaserad åtkomst
Hämta en representation av resultatet som det var vid en tidigare tidpunkt. Mer information finns i avsnitt 2.1.1. Sidnumrering stöds fortfarande enligt definitionen tidigare i den här artikeln.
GET /kv?api-version={api-version} HTTP/1.1
Accept-Datetime: Sat, 12 May 2018 02:10:00 GMT
Svar:
HTTP/1.1 200 OK
Content-Type: application/vnd.microsoft.appconfig.kvset+json"
Memento-Datetime: Sat, 12 May 2018 02:10:00 GMT
Link: <{relative uri}>; rel="original"
{
"items": [
....
]
}
Ange nyckel
- Krävs:
{key} - Valfritt:
label(Om det inte anges, eller label=%00, innebär det nyckelvärde utan etikett.)
PUT /kv/{key}?label={label}&api-version={api-version} HTTP/1.1
Content-Type: application/vnd.microsoft.appconfig.kv+json
{
"value": "example value", // optional
"content_type": "user defined", // optional
"tags": { // optional
"tag1": "value1",
"tag2": "value2",
}
}
Svaren:
HTTP/1.1 200 OK
Content-Type: application/vnd.microsoft.appconfig.kv+json; charset=utf-8
Last-Modified: Tue, 05 Dec 2017 02:41:26 GMT
ETag: "4f6dd610dd5e4deebc7fbaef685fb903"
{
"etag": "4f6dd610dd5e4deebc7fbaef685fb903",
"key": "{key}",
"label": "{label}",
"content_type": "user defined",
"value": "example value",
"last_modified": "2017-12-05T02:41:26.4874615+00:00",
"tags": {
"tag1": "value1",
"tag2": "value2",
}
}
Om objektet är låst returneras följande svar:
HTTP/1.1 409 Conflict
Content-Type: application/problem+json; charset="utf-8"
{
"type": "https://azconfig.io/errors/key-locked",
"title": "Modifying key '{key}' is not allowed",
"name": "{key}",
"detail": "The key is read-only. To allow modification unlock it first.",
"status": 409
}
Ange nyckel (villkorligt)
För att förhindra tävlingsvillkor använder If-Match du eller If-None-Match begär rubriker. Argumentet etag är en del av nyckelrepresentationen.
Om If-Match eller If-None-Match utelämnas är åtgärden ovillkorlig.
Följande svar uppdaterar endast värdet om den aktuella representationen matchar den angivna etag:
PUT /kv/{key}?label={label}&api-version={api-version} HTTP/1.1
Content-Type: application/vnd.microsoft.appconfig.kv+json
If-Match: "4f6dd610dd5e4deebc7fbaef685fb903"
Följande svar uppdaterar endast värdet om den aktuella representationen inte matchar den angivna etag:
PUT /kv/{key}?label={label}&api-version={api-version} HTTP/1.1
Content-Type: application/vnd.microsoft.appconfig.kv+json;
If-None-Match: "4f6dd610dd5e4deebc7fbaef685fb903"
Följande begäran lägger bara till värdet om det redan finns en representation:
PUT /kv/{key}?label={label}&api-version={api-version} HTTP/1.1
Content-Type: application/vnd.microsoft.appconfig.kv+json;
If-Match: "*"
Följande begäran lägger bara till värdet om det inte redan finns någon representation:
PUT /kv/{key}?label={label}&api-version={api-version} HTTP/1.1
Content-Type: application/vnd.microsoft.appconfig.kv+json
If-None-Match: "*"
Svar
HTTP/1.1 200 OK
Content-Type: application/vnd.microsoft.appconfig.kv+json; charset=utf-8
...
eller
HTTP/1.1 412 PreconditionFailed
Delete
- Krävs:
{key},{api-version} - Valfritt:
{label}(Om det inte anges, eller label=%00, innebär det nyckelvärde utan etikett.)
DELETE /kv/{key}?label={label}&api-version={api-version} HTTP/1.1
Svar: Returnera det borttagna nyckelvärdet, eller inget om nyckelvärdet inte fanns.
HTTP/1.1 200 OK
Content-Type: application/vnd.microsoft.appconfig.kv+json; charset=utf-8
...
eller
HTTP/1.1 204 No Content
Ta bort nyckel (villkorligt)
Detta liknar avsnittet "Ange nyckel (villkorligt)" tidigare i den här artikeln.