Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Een sleutelwaarde is een resource die wordt geïdentificeerd door een unieke combinatie van key + label. label is optioneel. Als u expliciet wilt verwijzen naar een sleutelwaarde zonder label, gebruikt u '\0' (URL gecodeerd als %00). Zie de details voor elke bewerking.
Operations
- Ophalen
- Meerdere lijsten weergeven
- Instellen
- Delete
Vereisten
- Alle HTTP-aanvragen moeten worden geverifieerd. Zie de sectie Verificatie .
- Alle HTTP-aanvragen moeten expliciet
api-versionworden opgegeven. Zie de sectie versiebeheer .
Syntaxis
{
"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]
}
Sleutelwaarde ophalen
Vereist: {key}, {api-version}
Optioneel: label (Als u dit weglaat, impliceert dit een sleutelwaarde zonder label.)
GET /kv/{key}?label={label}&api-version={api-version}
Reacties:
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"
}
}
Als de sleutel niet bestaat, wordt het volgende antwoord geretourneerd:
HTTP/1.1 404 Not Found
Ophalen (voorwaardelijk)
Gebruik of If-None-Match aanvraagheaders om de cache van If-Match clients te verbeteren. Het etag argument maakt deel uit van de sleutelweergave. Zie sectie 14.24 en 14.26 voor meer informatie.
Met de volgende aanvraag wordt de sleutelwaarde alleen opgehaald als de huidige weergave niet overeenkomt met de opgegeven etag:
GET /kv/{key}?api-version={api-version} HTTP/1.1
Accept: application/vnd.microsoft.appconfig.kv+json;
If-None-Match: "{etag}"
Reacties:
HTTP/1.1 304 NotModified
or
HTTP/1.1 200 OK
Sleutelwaarden vermelden
Optioneel: key (Als dit niet is opgegeven, impliceert dit een sleutel.)
Optioneel: label (Als dit niet is opgegeven, impliceert dit een label.)
GET /kv?label=*&api-version={api-version} HTTP/1.1
Antwoord:
HTTP/1.1 200 OK
Content-Type: application/vnd.microsoft.appconfig.kvset+json; charset=utf-8
Optioneel: tags (Als dit niet is opgegeven, impliceert dit tags.)
GET /kv?key=Test*&label=*&tags=tag1=value1&tags=tag2=value2&api-version={api-version} HTTP/1.1
Antwoord:
HTTP/1.1 200 OK
Content-Type: application/vnd.microsoft.appconfig.kvset+json; charset=utf-8
Zie de sectie Filteren verderop in dit artikel voor meer opties.
Sleutelwaarden vermelden (voorwaardelijk)
Gebruik of If-None-Match aanvraagheaders om de cache van If-Match clients te verbeteren. Het etag argument maakt deel uit van de hoofdtekst en koptekst van het antwoord met sleutelwaarden in de lijst.
Als If-Match of If-None-Match worden weggelaten, is de bewerking onvoorwaardelijke.
Met het volgende antwoord wordt de sleutelwaarde alleen opgehaald als de huidige weergave overeenkomt met de opgegeven etag:
GET /kv?key={key}&label={label}&api-version={api-version} HTTP/1.1
If-Match: "4f6dd610dd5e4deebc7fbaef685fb903"
Reacties:
HTTP/1.1 412 PreconditionFailed
or
HTTP/1.1 200 OK
Met het volgende antwoord worden de sleutelwaarden alleen opgehaald als de huidige weergave niet overeenkomt met de opgegeven etag:
GET /kv?key={key}&label={label}&api-version={api-version} HTTP/1.1
If-None-Match: "4f6dd610dd5e4deebc7fbaef685fb903"
Reacties:
HTTP/1.1 304 NotModified
or
HTTP/1.1 200 OK
Paginering
Het resultaat wordt gepagineerd als het aantal geretourneerde items de antwoordlimiet overschrijdt. Volg de optionele Link antwoordheaders en gebruik rel="next" deze voor navigatie.
De inhoud biedt ook een volgende koppeling in de vorm van de @nextLink eigenschap. De gekoppelde URI bevat het api-version argument.
GET /kv?api-version={api-version} HTTP/1.1
Antwoord:
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}"
}
Filteren
Een combinatie van key en label filteren wordt ondersteund.
Gebruik de optionele key parameters en label queryreeksparameters.
GET /kv?key={key}&label={label}&api-version={api-version}
Een combinatie van key, labelen tags filteren wordt ondersteund.
Gebruik de optionele keyparameters en tags labelqueryreeksparameters.
Er kunnen meerdere tagfilters worden opgegeven als queryreeksparameters in de tagName=tagValue indeling. Tagfilters moeten een exacte overeenkomst zijn.
GET /kv?key={key}&label={label}&tags={tagFilter1}&tags={tagFilter2}&api-version={api-version}
Ondersteunde filters
| Sleutelfilter | Effect |
|---|---|
key wordt weggelaten of key=* |
Komt overeen met een willekeurige sleutel |
key=abc |
Komt overeen met een sleutel met de naam abc |
key=abc* |
Komt overeen met namen van sleutels die beginnen met abc |
key=abc,xyz |
Komt overeen met namen van sleutels abc of xyz (beperkt tot 5 CSV) |
| Labelfilter | Effect |
|---|---|
label wordt weggelaten of label=* |
Komt overeen met elk label |
label=%00 |
Komt overeen met sleutelwaarden zonder label |
label=prod |
Komt overeen met het label prod |
label=prod* |
Komt overeen met labels die beginnen met prod |
label=prod,test |
Komt overeen met labels prod of test (beperkt tot 5 CSV) |
| Tagsfilter | Effect |
|---|---|
tags wordt weggelaten of tags= |
Komt overeen met een tag |
tags=group=app1 |
Komt overeen met sleutelwaarden met een tag met de naam group waarde app1 |
tags=group=app1&tags=env=prod |
Komt overeen met sleutelwaarden met een tag met een app1 naam group en een tag met een naam env met een waarde prod(beperkt tot 5 tagfilters) |
tags=tag1=%00 |
Komt overeen met sleutelwaarden met een tag met de naam tag1 waarde null |
tags=tag1= |
Komt overeen met sleutelwaarden met een tag met de naam tag1 lege waarde |
Gereserveerde tekens
*, , \,
Als een gereserveerd teken deel uitmaakt van de waarde, moet deze worden ontsnapt met behulp van \{Reserved Character}. Niet-gereserveerde tekens kunnen ook worden ontsnapt.
Filtervalidatie
Als de filtervalidatie mislukt, is het antwoord HTTP 400 met foutdetails:
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
}
Voorbeelden
Alle
GET /kv?api-version={api-version}Sleutelnaam begint met abc en bevat alle labels
GET /kv?key=abc*&label=*&api-version={api-version}Sleutelnaam begint met abc en label is gelijk aan v1 of v2
GET /kv?key=abc*&label=v1,v2&api-version={api-version}
Specifieke velden aanvragen
Gebruik de optionele $select queryreeksparameter en geef een door komma's gescheiden lijst met aangevraagde velden op. Als de $select parameter wordt weggelaten, bevat het antwoord de standaardset.
GET /kv?$select=key,value&api-version={api-version} HTTP/1.1
Toegang op basis van tijd
Verkrijg een weergave van het resultaat zoals het in het verleden was. Zie sectie 2.1.1 voor meer informatie. Paginering wordt nog steeds ondersteund zoals eerder in dit artikel is gedefinieerd.
GET /kv?api-version={api-version} HTTP/1.1
Accept-Datetime: Sat, 12 May 2018 02:10:00 GMT
Antwoord:
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": [
....
]
}
Sleutel instellen
- Vereist:
{key} - Optioneel:
label(Als dit niet is opgegeven of label=%00, impliceert dit sleutelwaarde zonder label.)
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",
}
}
Reacties:
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",
}
}
Als het item is vergrendeld, wordt het volgende antwoord geretourneerd:
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
}
Sleutel instellen (voorwaardelijk)
Gebruik of If-None-Match aanvraagheaders om racevoorwaarden If-Match te voorkomen. Het etag argument maakt deel uit van de sleutelweergave.
Als If-Match of If-None-Match worden weggelaten, is de bewerking onvoorwaardelijke.
In het volgende antwoord wordt de waarde alleen bijgewerkt als de huidige weergave overeenkomt met de opgegeven etag:
PUT /kv/{key}?label={label}&api-version={api-version} HTTP/1.1
Content-Type: application/vnd.microsoft.appconfig.kv+json
If-Match: "4f6dd610dd5e4deebc7fbaef685fb903"
Met het volgende antwoord wordt de waarde alleen bijgewerkt als de huidige weergave niet overeenkomt met de opgegeven 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"
Met de volgende aanvraag wordt de waarde alleen toegevoegd als er al een representatie bestaat:
PUT /kv/{key}?label={label}&api-version={api-version} HTTP/1.1
Content-Type: application/vnd.microsoft.appconfig.kv+json;
If-Match: "*"
Met de volgende aanvraag wordt de waarde alleen toegevoegd als er nog geen weergave bestaat:
PUT /kv/{key}?label={label}&api-version={api-version} HTTP/1.1
Content-Type: application/vnd.microsoft.appconfig.kv+json
If-None-Match: "*"
Antwoorden
HTTP/1.1 200 OK
Content-Type: application/vnd.microsoft.appconfig.kv+json; charset=utf-8
...
or
HTTP/1.1 412 PreconditionFailed
Delete
- Vereist:
{key},{api-version} - Optioneel:
{label}(Als dit niet is opgegeven of label=%00, impliceert dit sleutelwaarde zonder label.)
DELETE /kv/{key}?label={label}&api-version={api-version} HTTP/1.1
Antwoord: Retourneer de verwijderde sleutelwaarde of geen als de sleutelwaarde niet bestond.
HTTP/1.1 200 OK
Content-Type: application/vnd.microsoft.appconfig.kv+json; charset=utf-8
...
or
HTTP/1.1 204 No Content
Sleutel verwijderen (voorwaardelijk)
Dit is vergelijkbaar met de sectie 'Sleutel instellen (voorwaardelijk)' eerder in dit artikel.