Publikování událostí pro Azure Event Grid vlastních témat pomocí přístupových klíčů
Tento článek popisuje, jak odeslat událost do vlastního tématu pomocí přístupového klíče. Zobrazuje formát dat pro odeslání a událost. Smlouva SLA (SLA) se vztahuje pouze na příspěvky, které odpovídají očekávanému formátu.
Poznámka
Ověřování Azure AD poskytuje špičkovou podporu ověřování, než kterou nabízí přístupový klíč nebo ověřování pomocí tokenu sdíleného přístupového podpisu (SAS). Při ověřování Azure AD se identita ověřuje u poskytovatele identity Azure AD. Pokud použijete ověřování Azure AD, nebudete moct v kódu jako vývojář zpracovávat klíče. budete také využívat všechny funkce zabezpečení integrované do platformy Microsoft identity, jako je například podmíněný přístup, které vám mohou pomoci vylepšit potřebujete pomoc podporují zabezpečení aplikace. Další informace najdete v tématu ověřování klientů publikování pomocí Azure Active Directory.
Koncový bod
Při odesílání příspěvku HTTP na vlastní téma použijte formát identifikátoru URI: https://<topic-endpoint>?api-version=2018-01-01 .
Například platný identifikátor URI je: https://exampletopic.westus2-1.eventgrid.azure.net/api/events?api-version=2018-01-01 .
Pokud chcete získat koncový bod pro vlastní téma pomocí Azure CLI, použijte:
az eventgrid topic show --name <topic-name> -g <topic-resource-group> --query "endpoint"
Chcete-li získat koncový bod pro vlastní téma s Azure PowerShell, použijte:
(Get-AzEventGridTopic -ResourceGroupName <topic-resource-group> -Name <topic-name>).Endpoint
Hlavička
V žádosti zahrňte hodnotu záhlaví s názvem aeg-sas-key , která obsahuje klíč pro ověření.
Například platná hodnota hlavičky je aeg-sas-key: VXbGWce53249Mt8wuotr0GPmyJ/nDT4hgdEj9DpBeRr38arnnm5OFg== .
Pokud chcete získat klíč pro vlastní téma pomocí Azure CLI, použijte:
az eventgrid topic key list --name <topic-name> -g <topic-resource-group> --query "key1"
Pokud chcete získat klíč pro vlastní téma pomocí PowerShellu, použijte:
(Get-AzEventGridTopicKey -ResourceGroupName <topic-resource-group> -Name <topic-name>).Key1
Data událostí
Pro vlastní témata data nejvyšší úrovně obsahují stejná pole jako standardní události definované prostředky. Jedna z těchto vlastností je vlastnost dat, která obsahuje vlastnosti, které jsou jedinečné pro vlastní téma. Jako vydavatel událostí určíte vlastnosti pro daný datový objekt. Použijte následující schéma:
[
{
"id": string,
"eventType": string,
"subject": string,
"eventTime": string-in-date-time-format,
"data":{
object-unique-to-each-publisher
},
"dataVersion": string
}
]
Popis těchto vlastností najdete v tématu Azure Event Grid schéma událostí. Při odesílání událostí do tématu Event gridu může mít pole celkovou velikost až 1 MB. Maximální povolená velikost události je také 1 MB. Události větší než 64 KB se účtují v přírůstcích po 64 až KB.
Například platné schéma dat událostí je:
[{
"id": "1807",
"eventType": "recordInserted",
"subject": "myapp/vehicles/motorcycles",
"eventTime": "2017-08-10T21:03:07+00:00",
"data": {
"make": "Ducati",
"model": "Monster"
},
"dataVersion": "1.0"
}]
Odpověď
Po odeslání do koncového bodu tématu obdržíte odpověď. Odpověď je standardní kód odpovědi HTTP. Mezi běžné odezvy patří:
| Výsledek | Odpověď |
|---|---|
| Success | 200 OK |
| Data události mají nesprávný formát. | 400 – Chybný požadavek |
| Neplatný přístupový klíč | 401 – Neautorizováno |
| Nesprávný koncový bod | 404 Nenalezeno |
| Pole nebo událost překračuje omezení velikosti. | datová část 413 je moc velká. |
V případě chyb má tělo zprávy následující formát:
{
"error": {
"code": "<HTTP status code>",
"message": "<description>",
"details": [{
"code": "<HTTP status code>",
"message": "<description>"
}]
}
}
Další kroky
- Informace o sledování doručení událostí najdete v tématu monitorování Event Grid doručování zpráv.
- Další informace o ověřovacím klíči najdete v tématu Event Grid Security and Authentication.
- Další informace o vytváření předplatného Azure Event Grid najdete v tématu schéma předplatného Event Grid.