Ögonblicksbild
Ögonblicksbildresursen är inte tillgänglig i API-version 1.0.
En ögonblicksbild är en resurs som identifieras unikt med dess namn. Se information för varje åtgärd.
Operations
- Hämta
- Visa en lista över flera
- Skapa
- Arkivera/återställa
- Lista nyckelvärden
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
Snapshot
{
"etag": [string],
"name": [string],
"status": [string, enum("provisioning", "ready", "archived", "failed")],
"filters": [array<SnapshotFilter>],
"composition_type": [string, enum("key", "key_label")],
"created": [datetime ISO 8601],
"size": [number, bytes],
"items_count": [number],
"tags": [object with string properties],
"retention_period": [number, timespan in seconds],
"expires": [datetime ISO 8601]
}
SnapshotFilter
{
"key": [string],
"label": [string]
}
{
"key": [string],
"label": [string],
"tags": [array<string>]
}
Hämta ögonblicksbild
Krävs: {name}
, {api-version}
GET /snapshots/{name}?api-version={api-version}
Svaren:
HTTP/1.1 200 OK
Content-Type: application/vnd.microsoft.appconfig.snapshot+json; charset=utf-8
Last-Modified: Mon, 03 Mar 2023 9:00:03 GMT
ETag: "4f6dd610dd5e4deebc7fbaef685fb903"
Link: </kv?snapshot=prod-2023-03-20&api-version={api-version}>; rel="items"
{
"etag": "4f6dd610dd5e4deebc7fbaef685fb903",
"name": "prod-2023-03-20",
"status": "ready",
"filters": [
{
"key": "*",
"label": null
}
],
"composition_type": "key",
"created": "2023-03-20T21:00:03+00:00",
"size": 2000,
"items_count": 4,
"tags": {
"t1": "value1",
"t2": "value2"
},
"retention_period": 7776000
}
Om det inte finns någon ögonblicksbild med det angivna namnet 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 ögonblicksbildsrepresentationen. Mer information finns i avsnitten 14.24 och 14.26.
Följande begäran hämtar endast ögonblicksbilden om den aktuella representationen inte matchar den angivna etag
:
GET /snapshot/{name}?api-version={api-version} HTTP/1.1
Accept: application/vnd.microsoft.appconfig.snapshot+json;
If-None-Match: "{etag}"
Svaren:
HTTP/1.1 304 NotModified
Eller
HTTP/1.1 200 OK
Lista ögonblicksbilder
Valfritt: name
(Om det inte anges innebär det något namn.) Valfritt: status
(Om det inte anges innebär det någon status.)
GET /snapshots?name=prod-*&api-version={api-version} HTTP/1.1
Svar:
HTTP/1.1 200 OK
Content-Type: application/vnd.microsoft.appconfig.snapshotset+json; charset=utf-8
Fler alternativ finns i avsnittet "Filtrering" senare i den här artikeln.
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 /snapshots?api-version={api-version} HTTP/1.1
Svar:
HTTP/1.1 200 OK
Content-Type: application/vnd.microsoft.appconfig.snapshotset+json; charset=utf-8
Link: <{relative uri}>; rel="next"
{
"items": [
...
],
"@nextLink": "{relative uri}"
}
Filtrering
En kombination av name
och status
filtrering stöds.
Använd parametrarna för valfria name
strängar och status
frågesträngar.
GET /snapshots?name={name}&status={status}&api-version={api-version}
Filter som stöds
Namnfilter | Effekt |
---|---|
name utelämnas eller name=* |
Matchar ögonblicksbilder med valfritt namn |
name=abc |
Matchar en ögonblicksbild med namnet abc |
name=abc* |
Matchar ögonblicksbilder med namn som börjar med abc |
name=abc,xyz |
Matchar ögonblicksbilder med namnen abc eller xyz (begränsat till 5 CSV) |
Statusfilter | Effekt |
---|---|
status utelämnas eller status=* |
Matchar ögonblicksbilder med valfri status |
status=ready |
Matchar ögonblicksbilder med en klar status |
status=ready,archived |
Matchar ögonblicksbilder med klar eller arkiverad status (begränsad till 5 CSV) |
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 /snapshots?api-version={api-version}
Namnet på ögonblicksbilden börjar med abc
GET /snapshot?name=abc*&api-version={api-version}
Namnet på ögonblicksbilden börjar med abc och statusen är lika med klar eller arkiverad
GET /snapshot?name=abc*&status=ready,archived&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 /snapshot?$select=name,status&api-version={api-version} HTTP/1.1
Skapa ögonblicksbild
parameters
Egenskapsnamn | Obligatoriskt | Standardvärde | Validering |
---|---|---|---|
name | ja | saknas | Längd Max: 256 |
filter | ja | saknas | Räkna Minimum: 1 Maximalt: 3 |
filter[<index>].key | ja | saknas | |
filter[<index>].label | nej | NULL | Etikettfilter för flera matchningsetiketter (till exempel "*", "kommatecken, avgränsade") stöds inte med kompositionstypen "nyckel". |
taggar | nej | {} | |
composition_type | nej | key | |
retention_period | nej | Standardnivå 2592000 (30 dagar) Kostnadsfri nivå 604800 (sju dagar) |
Standardnivå Minimum: 3600 (en timme) Max: 7776000 (90 dagar) Kostnadsfri nivå Minimum: 3600 (en timme) Max: 604800 (sju dagar) |
PUT /snapshot/{name}?api-version={api-version} HTTP/1.1
Content-Type: application/vnd.microsoft.appconfig.snapshot+json
{
"filters": [ // required
{
"key": "app1/*", // required
"label": "prod" // optional
}
],
"tags": { // optional
"tag1": "value1",
"tag2": "value2",
},
"composition_type": "key", // optional
"retention_period": 2592000 // optional
}
Svaren:
HTTP/1.1 201 Created
Content-Type: application/vnd.microsoft.appconfig.snapshot+json; charset=utf-8
Last-Modified: Tue, 05 Dec 2017 02:41:26 GMT
ETag: "4f6dd610dd5e4deebc7fbaef685fb903"
Operation-Location: {appConfigurationEndpoint}/operations?snapshot={name}&api-version={api-version}
{
"etag": "4f6dd610dd5e4deebc7fbaef685fb903",
"name": "{name}",
"status": "provisioning",
"filters": [
{
"key": "app1/*",
"label": "prod"
}
],
"composition_type": "key",
"created": "2023-03-20T21:00:03+00:00",
"size": 2000,
"items_count": 4,
"tags": {
"t1": "value1",
"t2": "value2"
},
"retention_period": 2592000
}
Egenskapsnamn | Obligatoriskt | Standardvärde | Validering |
---|---|---|---|
name | ja | saknas | Längd Max: 256 |
filter | ja | saknas | Räkna Minimum: 1 Maximalt: 3 |
filter[<index>].key | ja | saknas | |
filter[<index>].label | nej | NULL | Etikettfilter för flera matchningsetiketter (till exempel "*", "kommatecken, avgränsade") stöds inte med kompositionstypen "nyckel". |
filter[<index>].tags | nej | NULL | Räkna Minimum: 0 Maximalt: 5 |
taggar | nej | {} | |
composition_type | nej | key | |
retention_period | nej | Standardnivå 2592000 (30 dagar) Kostnadsfri nivå 604800 (7 dagar) |
Standardnivå Minimum: 3600 (1 timme) Max: 7776000 (90 dagar) Kostnadsfri nivå Minimum: 3600 (1 timme) Max: 604800 (7 dagar) |
PUT /snapshot/{name}?api-version={api-version} HTTP/1.1
Content-Type: application/vnd.microsoft.appconfig.snapshot+json
{
"filters": [ // required
{
"key": "app1/*", // required
"label": "prod", // optional
"tags": ["group=g1", "default=true"] // optional
}
],
"tags": { // optional
"tag1": "value1",
"tag2": "value2",
},
"composition_type": "key", // optional
"retention_period": 2592000 // optional
}
Svaren:
HTTP/1.1 201 Created
Content-Type: application/vnd.microsoft.appconfig.snapshot+json; charset=utf-8
Last-Modified: Tue, 05 Dec 2017 02:41:26 GMT
ETag: "4f6dd610dd5e4deebc7fbaef685fb903"
Operation-Location: {appConfigurationEndpoint}/operations?snapshot={name}&api-version={api-version}
{
"etag": "4f6dd610dd5e4deebc7fbaef685fb903",
"name": "{name}",
"status": "provisioning",
"filters": [
{
"key": "app1/*",
"label": "prod",
"tags": ["group=g1", "default=true"]
}
],
"composition_type": "key",
"created": "2023-03-20T21:00:03+00:00",
"size": 2000,
"items_count": 4,
"tags": {
"t1": "value1",
"t2": "value2"
},
"retention_period": 2592000
}
Status för den nyligen skapade ögonblicksbilden är provisioning
.
När ögonblicksbilden är helt etablerad uppdateras statusen till ready
.
Klienter kan avsöka ögonblicksbilden och vänta tills ögonblicksbilden är klar innan dess associerade nyckelvärden visas.
Om du vill fråga efter ytterligare information om åtgärden refererar du till avsnittet om att skapa ögonblicksbilder av avsökningar.
Om ögonblicksbilden redan finns returneras följande svar:
HTTP/1.1 409 Conflict
Content-Type: application/problem+json; charset=utf-8
{
"type": "https://azconfig.io/errors/already-exists",
"title": "The resource already exists.",
"status": 409,
"detail": ""
}
Skapa ögonblicksbild av avsökning
Svaret från en begäran om att skapa ögonblicksbilder returnerar ett Operation-Location
huvud.
Svaren:
HTTP/1.1 201 Created
...
Operation-Location: {appConfigurationEndpoint}/operations?snapshot={name}&api-version={api-version}
Status för etableringsåtgärden för ögonblicksbilder finns på URI:n i Operation-Location
.
Klienter kan avsöka det här statusobjektet för att säkerställa att en ögonblicksbild etableras innan dess associerade nyckelvärden visas.
GET {appConfigurationEndpoint}/operations?snapshot={name}&api-version={api-version}
Svar:
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
{
"id": "{id}",
"status": "Succeeded",
"error": null
}
Om ett fel uppstår under etableringen av ögonblicksbilden error
innehåller egenskapen information som beskriver felet.
{
"id": "{name}",
"status": "Failed",
"error": {
"code": "QuotaExceeded",
"message": "The allotted quota for snapshot creation has been surpassed."
}
}
Arkiv (korrigering)
En ögonblicksbild i tillståndet ready
kan arkiveras.
En arkiverad ögonblicksbild tilldelas ett förfallodatum baserat på den kvarhållningsperiod som upprättades när den skapades.
När förfallodatumet har passerat tas ögonblicksbilden bort permanent.
När som helst före förfallodatumet kan ögonblicksbildens objekt fortfarande visas.
Arkivering av en ögonblicksbild som redan archived
är påverkar inte ögonblicksbilden.
- Krävs:
{name}
,{status}
,{api-version}
PATCH /snapshots/{name}?api-version={api-version} HTTP/1.1
Content-Type: application/vnd.microsoft.appconfig.snapshot+json
{
"status": "archived"
}
Svar: Returnera den arkiverade ögonblicksbilden
HTTP/1.1 200 OK
Content-Type: application/vnd.microsoft.appconfig.snapshot+json; charset=utf-8
...
{
"etag": "33a0c9cdb43a4c2cb5fc4c1feede1c68",
"name": "{name}",
"status": "archived",
...
"expires": "2023-08-11T21:00:03+00:00"
}
Arkivering av en ögonblicksbild som för närvarande är i provisioning
tillståndet eller failed
är en ogiltig åtgärd.
Svar:
HTTP/1.1 409 Conflict
Content-Type: application/problem+json; charset="utf-8"
{
"type": "https://azconfig.io/errors/invalid-state",
"title": "Target resource state invalid.",
"detail": "The target resource is not in a valid state to perform the requested operation.",
"status": 409
}
Återställ (korrigering)
En ögonblicksbild i tillståndet archived
kan återställas.
När ögonblicksbilden har återställts tas ögonblicksbildens förfallodatum bort.
Återställning av en ögonblicksbild som redan ready
är påverkar inte ögonblicksbilden.
- Krävs:
{name}
,{status}
,{api-version}
PATCH /snapshots/{name}?api-version={api-version} HTTP/1.1
Content-Type: application/vnd.microsoft.appconfig.snapshot+json
{
"status": "ready"
}
Svar: Returnera den återställda ögonblicksbilden
HTTP/1.1 200 OK
Content-Type: application/vnd.microsoft.appconfig.snapshot+json; charset=utf-8
...
{
"etag": "90dd86e2885440f3af9398ca392095b9",
"name": "{name}",
"status": "ready",
...
}
Att återställa en ögonblicksbild som för närvarande är i provisioning
tillståndet eller failed
är en ogiltig åtgärd.
Svar:
HTTP/1.1 409 Conflict
Content-Type: application/problem+json; charset="utf-8"
{
"type": "https://azconfig.io/errors/invalid-state",
"title": "Target resource state invalid.",
"detail": "The target resource is not in a valid state to perform the requested operation.",
"status": 409
}
Arkivera/återställa ögonblicksbild (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 ögonblicksbildsrepresentationen.
Om If-Match
eller If-None-Match
utelämnas är åtgärden ovillkorlig.
Följande svar uppdaterar endast resursen om den aktuella representationen matchar den angivna etag
:
PATCH /snapshots/{name}?api-version={api-version} HTTP/1.1
Content-Type: application/vnd.microsoft.appconfig.snapshot+json
If-Match: "4f6dd610dd5e4deebc7fbaef685fb903"
Följande svar uppdaterar endast resursen om den aktuella representationen inte matchar den angivna etag
:
PATCH /snapshots/{name}?api-version={api-version} HTTP/1.1
Content-Type: application/vnd.microsoft.appconfig.snapshot+json;
If-None-Match: "4f6dd610dd5e4deebc7fbaef685fb903"
Svar
HTTP/1.1 200 OK
Content-Type: application/vnd.microsoft.appconfig.snapshot+json; charset=utf-8
...
Eller
HTTP/1.1 412 PreconditionFailed
Lista nyckelvärden för ögonblicksbilder
Krävs: {name}
, {api-version}
GET /kv?snapshot={name}&api-version={api-version}
Kommentar
Om du försöker lista objekten i en ögonblicksbild som inte är i ready
tillståndet eller archived
resulterar det i ett tomt listsvar.
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?snapshot={name}&$select=key,value&api-version={api-version} HTTP/1.1