Reagálás Azure-alkalmazás konfigurációs eseményekre
Azure-alkalmazás konfigurációs események lehetővé teszik, hogy az alkalmazások reagáljanak a kulcsértékek változásaira. Ez bonyolult kód vagy költséges és nem hatékony lekérdezési szolgáltatások nélkül történik. Ehelyett az eseményeket az Azure Event Griden keresztül küldi el az előfizetőknek, például az Azure Functionsnek, az Azure Logic Appsnek vagy akár a saját egyéni HTTP-figyelőjének. Kritikus fontosságú, hogy csak azért kell fizetnie, amit használ.
Azure-alkalmazás konfigurációs eseményeket az Azure Event Grid küldi el, amely megbízható kézbesítési szolgáltatásokat nyújt az alkalmazásoknak részletes újrapróbálkozési szabályzatokkal és kézbesítetlen levelek kézbesítésével. További információ: Event Grid üzenetkézbesítés és újrapróbálkozás.
Az alkalmazáskonfiguráció gyakori eseményforgatókönyvei közé tartozik az alkalmazáskonfiguráció frissítése, az üzembe helyezések aktiválása vagy bármilyen konfigurációorientált munkafolyamat. Ha a módosítások ritkán fordulnak elő, de a forgatókönyv azonnali válaszkészséget igényel, az eseményalapú architektúra különösen hatékony lehet.
Egy gyors példáért tekintse meg az Event Grid használata adatmódosítási értesítésekhez című témakört.
Elérhető eseménytípusok
Az Event Grid esemény-előfizetésekkel irányítja át az eseményüzeneteket az előfizetőknek. Azure-alkalmazás konfiguráció a következő eseménytípusokat bocsátja ki:
Eseménytípus | Leírás |
---|---|
Microsoft.AppConfiguration.KeyValueModified | Kulcs-érték létrehozásakor vagy cseréjekor történik. |
Microsoft.AppConfiguration.KeyValueDeleted | Kulcsérték törlésekor történik. |
Microsoft.AppConfiguration.SnapshotCreated | Pillanatkép létrehozásakor merül fel. |
Microsoft.AppConfiguration.SnapshotModified | Pillanatkép módosításakor emelik ki. |
Eseményséma
Egy esemény a következő legfelső szintű adatokkal rendelkezik:
Tulajdonság | Típus | Leírás |
---|---|---|
source |
húr | Az eseményforrás teljes erőforrás-elérési útja. Ez a mező nem írható. Az értéket az Event Grid adja meg. |
subject |
húr | Az esemény tárgyra mutató, a közzétevő által megadott elérési út. |
type |
húr | Az eseményforráshoz felvett eseménytípusok egyike. |
time |
húr | Az esemény létrehozásának időpontja a szolgáltató UTC-ideje alapján. |
id |
húr | Az esemény egyedi azonosítója. |
data |
object | Alkalmazáskonfigurációs eseményadatok. |
specversion |
húr | A CloudEvents sémaspecifikációs verziója. |
Az adatobjektum a következő tulajdonságokkal rendelkezik:
Kulcs-érték esemény
Tulajdonság | Típus | Leírás |
---|---|---|
key |
húr | A módosított vagy törölt kulcsérték kulcsa. |
label |
húr | A módosított vagy törölt kulcsérték címkéje, ha van ilyen. |
etag |
húr | Az KeyValueModified új kulcs-érték etagje. A KeyValueDeleted törölt kulcs-érték etagje esetében. |
syncToken |
húr | A kiszolgáló állapotát a kulcs-érték esemény után jelölő szinkronizálási jogkivonat. |
Pillanatkép-esemény
Tulajdonság | Típus | Leírás |
---|---|---|
name |
húr | A létrehozott vagy módosított pillanatkép neve. |
etag |
húr | Az SnapshotCreated új pillanatkép etagje számára. A módosított pillanatkép etagjének esetében SnapshotModified . |
syncToken |
húr | A pillanatkép-esemény után a kiszolgáló állapotát jelképező szinkronizálási jogkivonat. |
Példaesemény
Az alábbi példa egy kulcs-érték módosított esemény sémáját mutatja be:
[{
"id": "84e17ea4-66db-4b54-8050-df8f7763f87b",
"source": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/testrg/providers/microsoft.appconfiguration/configurationstores/contoso",
"subject": "https://contoso.azconfig.io/kv/Foo?label=FizzBuzz",
"data": {
"key": "Foo",
"label": "FizzBuzz",
"etag": "FnUExLaj2moIi4tJX9AXn9sakm0"
},
"type": "Microsoft.AppConfiguration.KeyValueModified",
"time": "2019-05-31T20:05:03Z",
"specversion": "1.0"
}]
Az alábbi példa egy kulcs-érték törölt esemény sémáját mutatja be:
[{
"id": "84e17ea4-66db-4b54-8050-df8f7763f87b",
"source": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/testrg/providers/microsoft.appconfiguration/configurationstores/contoso",
"subject": "https://contoso.azconfig.io/kv/Foo?label=FizzBuzz",
"data": {
"key": "Foo",
"label": "FizzBuzz",
"etag": "FnUExLaj2moIi4tJX9AXn9sakm0"
},
"type": "Microsoft.AppConfiguration.KeyValueDeleted",
"time": "2019-05-31T20:05:03Z",
"specversion": "1.0"
}]
Az alábbi példa egy pillanatkép által létrehozott esemény sémáját mutatja be:
[{
"source": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/testrg/providers/microsoft.appconfiguration/configurationstores/contoso",
"subject": "https://contoso.azconfig.io/kvsnapshots/Foo",
"type": "Microsoft.AppConfiguration.SnapshotCreated",
"time": "2023-09-02T20:05:03.0000000Z",
"id": "84e17ea4-66db-4b54-8050-df8f7763f87b",
"data": {
"name": "Foo",
"etag": "FnUExLaj2moIi4tJX9AXn9sakm0",
"syncToken": "zAJw6V16=Njo1IzUxNjQ2NzM=;sn=5164673"
},
"specversion": "1.0"
}]
Az alábbi példa egy pillanatkép-módosított esemény sémáját mutatja be:
[{
"source": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/testrg/providers/microsoft.appconfiguration/configurationstores/contoso",
"subject": "https://contoso.azconfig.io/snapshots/Foo",
"type": "Microsoft.AppConfiguration.SnapshotModified",
"time": "2023-09-03T20:05:03.0000000Z",
"id": "84e17ea4-66db-4b54-8050-df8f7763f87b",
"data": {
"name": "Foo",
"etag": "FnUExLaj2moIi4tJX9AXn9sakm0",
"syncToken": "zAJw6V16=Njo1IzUxNjQ2NzM=;sn=5164673"
},
"specversion": "1.0"
}]
További információ: Azure-alkalmazás Konfigurációs események sémája.
Az események felhasználásának gyakorlata
Az alkalmazáskonfigurációs eseményeket kezelő alkalmazásoknak az alábbi ajánlott eljárásokat kell követniük:
- Több előfizetés is konfigurálható úgy, hogy az eseményeket ugyanahhoz az eseménykezelőhöz irányítsa, ezért ne feltételezze, hogy az események egy adott forrásból származnak. Ehelyett ellenőrizze az üzenet témakörét, hogy az alkalmazáskonfigurációs példány elküldi-e az eseményt.
- Ellenőrizze a
eventType
elemet, és ne feltételezze, hogy az összes kapott esemény a várt típus lesz. - A mezők segítségével
etag
megtudhatja, hogy az objektumok adatai továbbra is naprakészek-e. - A szekvenciamezők segítségével megismerheti az egyes objektumok eseményeinek sorrendjét.
- A tárgymezővel érheti el a módosított kulcsértéket.
Következő lépések
Az Event Gridről és a Azure-alkalmazás konfigurációs események kipróbálásáról a következő témakörben olvashat bővebben: