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

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