Snapshot
A pillanatképek neve alapján egyedileg azonosított erőforrás. Az egyes műveletek részleteinek megtekintése.
Ez a cikk az API 2022-11-01-preview verziójára vonatkozik.
Operations
- Lekérés
- Több lista
- Létrehozás
- Archiválás/helyreállítás
- Kulcsértékek listázása
Előfeltételek
- Minden HTTP-kérést hitelesíteni kell. Lásd a hitelesítési szakaszt.
- Minden HTTP-kérésnek explicit
api-version
módon kell megadnia. Lásd a verziószámozási szakaszt .
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]
}
Pillanatkép lekérése
Kötelező: {name}
, {api-version}
GET /snapshots/{name}?api-version={api-version}
Válaszok:
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
}
Ha a megadott névvel rendelkező pillanatkép nem létezik, a rendszer a következő választ adja vissza:
HTTP/1.1 404 Not Found
Lekérés (feltételesen)
Az ügyfél gyorsítótárazásának javítása érdekében használja If-Match
vagy If-None-Match
kérje le a fejléceket. Az etag
argumentum a pillanatkép-ábrázolás része. További információ: 14.24 és 14.26.
A következő kérés csak akkor kéri le a pillanatképet, ha az aktuális ábrázolás nem felel meg a megadottnak etag
:
GET /snapshot/{name}?api-version={api-version} HTTP/1.1
Accept: application/vnd.microsoft.appconfig.snapshot+json;
If-None-Match: "{etag}"
Válaszok:
HTTP/1.1 304 NotModified
vagy
HTTP/1.1 200 OK
Pillanatképek listázása
Nem kötelező: name
(Ha nincs megadva, az bármilyen nevet jelent.) Nem kötelező: status
(Ha nincs megadva, az bármilyen állapotot jelent.)
GET /snapshots?name=prod-*&api-version={api-version} HTTP/1.1
Válasz:
HTTP/1.1 200 OK
Content-Type: application/vnd.microsoft.appconfig.snapshotset+json; charset=utf-8
További lehetőségekért tekintse meg a cikk későbbi, "Szűrés" szakaszát.
Pagination
Az eredmény lapszámozott, ha a visszaadott elemek száma meghaladja a válaszkorlátot. Kövesse az opcionális Link
válaszfejléceket, és használja rel="next"
a navigációhoz.
Másik lehetőségként a tartalom egy következő hivatkozást is biztosít a @nextLink
tulajdonság formájában. A csatolt URI tartalmazza az argumentumot api-version
.
GET /snapshots?api-version={api-version} HTTP/1.1
Válasz:
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}"
}
Szűrés
A szűrés és status
a name
kombináció támogatott.
Használja az opcionális name
és status
a lekérdezési sztring paramétereit.
GET /snapshots?name={name}&status={status}&api-version={api-version}
Támogatott szűrők
Névszűrő | Hatály |
---|---|
name nincs megadva, vagy name=* |
Bármely névvel egyező pillanatképek |
name=abc |
Egy abc nevű pillanatképnek felel meg |
name=abc* |
Pillanatképek abc-vel kezdődő névvel |
name=abc,xyz |
Pillanatképek abc vagy xyz névvel (legfeljebb 5 CSV) |
Állapotszűrő | Hatály |
---|---|
status nincs megadva, vagy status=* |
A pillanatképek bármilyen állapottal megegyeznek |
status=ready |
Pillanatképek kész állapottal való egyezése |
status=ready,archived |
Kész vagy archivált állapotú pillanatképek (legfeljebb 5 CSV) |
Fenntartott karakterek
*
, \
, ,
Ha egy fenntartott karakter az érték része, akkor azt a használatával \{Reserved Character}
kell megszabadíteni. A nem fenntartott karakterek is feloldhatók.
Szűrés ellenőrzése
Szűrőérvényesítési hiba esetén a válasz HTTP 400
, a hiba részleteivel:
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
}
Példák
Mind
GET /snapshots?api-version={api-version}
A pillanatkép neve az abc-vel kezdődik
GET /snapshot?name=abc*&api-version={api-version}
A pillanatkép neve abc-vel kezdődik, és az állapot készen áll vagy archiválva lesz
GET /snapshot?name=abc*&status=ready,archived&api-version={api-version}
Adott mezők kérése
Használja az opcionális $select
lekérdezési sztring paramétert, és adja meg a kért mezők vesszővel tagolt listáját. Ha a $select
paraméter nincs megadva, a válasz tartalmazza az alapértelmezett halmazt.
GET /snapshot?$select=name,status&api-version={api-version} HTTP/1.1
Pillanatkép készítése
paraméterek
Tulajdonság neve | Szükséges | Default value | Ellenőrzés |
---|---|---|---|
név | igen | n.a. | Hossza maximum: 256 |
szűrők | igen | n.a. | Számít minimum: 1 maximum: 3 |
filters[<index>].key | igen | n.a. | |
tags | nem | {} | |
filters[<index>].label | nem | null | A többegyezéses címkeszűrők (pl. "*", "vessző,elválasztott") nem támogatottak a "kulcs" összetételtípussal. |
composition_type | nem | kulcs | |
retention_period | nem | Standard szint 2592000 (30 nap) Ingyenes szint 604800 (7 nap) |
Standard szint minimum: 3600 (1 óra) maximum: 7776000 (90 nap) Ingyenes szint minimum: 3600 (1 óra) maximum: 604800 (7 nap) |
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
}
Válaszok:
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
}
Az újonnan létrehozott pillanatkép állapota "kiépítés". A pillanatkép teljes kiépítése után az állapot "kész" állapotra frissül. Az ügyfelek lekérdezhetik a pillanatképet, hogy megvárják, amíg a pillanatkép készen áll, mielőtt felsorolnák a kapcsolódó kulcsértékeket. A művelettel kapcsolatos további információk lekérdezéséhez tekintse meg a lekérdezési pillanatkép létrehozását ismertető szakaszt.
Ha a pillanatkép már létezik, a következő választ kapja:
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": ""
}
Pillanatkép létrehozása lekérdezése
A pillanatkép-létrehozási kérés válasza egy fejlécet Operation-Location
ad vissza.
Válaszok:
HTTP/1.1 201 Created
...
Operation-Location: {appConfigurationEndpoint}/operations?snapshot={name}&api-version={api-version}
A pillanatkép-kiépítési művelet állapota az URI-ban Operation-Location
található.
Az ügyfelek lekérdezhetik ezt az állapotobjektumot, hogy meggyőződjenek arról, hogy a pillanatkép ki van építve a társított kulcsértékek felsorolása előtt.
GET {appConfigurationEndpoint}/operations?snapshot={name}&api-version={api-version}
Válasz:
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
{
"id": "{id}",
"status": "Succeeded",
"error": null
}
Ha hiba történik a pillanatkép kiépítése során, a error
tulajdonság a hibát leíró részleteket tartalmazza.
{
"id": "{name}",
"status": "Failed",
"error": {
"code": "QuotaExceeded",
"message": "The allotted quota for snapshot creation has been surpassed."
}
}
Archív (javítás)
Az állapotban lévő ready
pillanatképek archiválhatók.
Az archivált pillanatképek lejárati dátumot kapnak a létrehozáskor megállapított megőrzési idő alapján.
A lejárati dátum lejárta után a pillanatkép véglegesen törlődik.
A lejárati dátum előtt bármikor a pillanatkép elemei továbbra is listázhatók.
A már archived
meglévő pillanatképek archiválása nem befolyásolja a pillanatképet.
- Kötelező:
{name}
, ,{status}
{api-version}
PATCH /snapshots/{name}?api-version={api-version} HTTP/1.1
Content-Type: application/vnd.microsoft.appconfig.snapshot+json
{
"status": "archived"
}
Válasz: Az archivált pillanatkép visszaadása
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"
}
Az aktuálisan vagy failed
állapotban lévő provisioning
pillanatkép archiválása érvénytelen művelet.
Válasz:
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
}
Helyreállítás (javítás)
Az állapotban lévő archived
pillanatképek helyreállíthatók.
A pillanatkép helyreállítása után a pillanatkép lejárati dátuma el lesz távolítva.
A már ready
meglévő pillanatkép helyreállítása nem befolyásolja a pillanatképet.
- Kötelező:
{name}
, ,{status}
{api-version}
PATCH /snapshots/{name}?api-version={api-version} HTTP/1.1
Content-Type: application/vnd.microsoft.appconfig.snapshot+json
{
"status": "ready"
}
Válasz: A helyreállított pillanatkép visszaadása
HTTP/1.1 200 OK
Content-Type: application/vnd.microsoft.appconfig.snapshot+json; charset=utf-8
...
{
"etag": "90dd86e2885440f3af9398ca392095b9",
"name": "{name}",
"status": "ready",
...
}
A jelenleg vagy failed
állapotban lévő provisioning
pillanatkép helyreállítása érvénytelen művelet.
Válasz:
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
}
Pillanatkép archiválása/helyreállítása (feltételesen)
A versenyfeltételek elkerülése érdekében használja If-Match
vagy If-None-Match
kérje a fejléceket. Az etag
argumentum a pillanatkép-ábrázolás része.
Ha If-Match
nincs megadva If-None-Match
, a művelet feltétel nélküli.
Az alábbi válasz csak akkor frissíti az erőforrást, ha az aktuális ábrázolás megfelel a megadottnak etag
:
PATCH /snapshots/{name}?api-version={api-version} HTTP/1.1
Content-Type: application/vnd.microsoft.appconfig.snapshot+json
If-Match: "4f6dd610dd5e4deebc7fbaef685fb903"
Az alábbi válasz csak akkor frissíti az erőforrást, ha az aktuális ábrázolás nem felel meg a megadottnak etag
:
PATCH /snapshots/{name}?api-version={api-version} HTTP/1.1
Content-Type: application/vnd.microsoft.appconfig.snapshot+json;
If-None-Match: "4f6dd610dd5e4deebc7fbaef685fb903"
Válaszok
HTTP/1.1 200 OK
Content-Type: application/vnd.microsoft.appconfig.snapshot+json; charset=utf-8
...
vagy
HTTP/1.1 412 PreconditionFailed
Pillanatképkulcs-értékek listázása
Kötelező: {name}
, {api-version}
GET /kv?snapshot={name}&api-version={api-version}
Megjegyzés:
Ha megkísérli listázni egy pillanatkép azon elemeit, amelyek nem az állapotban archived
vagy állapotban ready
találhatók, üres listaválaszt eredményez.
Adott mezők kérése
Használja az opcionális $select
lekérdezési sztring paramétert, és adja meg a kért mezők vesszővel tagolt listáját. Ha a $select
paraméter nincs megadva, a válasz tartalmazza az alapértelmezett halmazt.
GET /kv?snapshot={name}&$select=key,value&api-version={api-version} HTTP/1.1