Publikování událostí do vlastních témat Azure Event Gridu pomocí přístupových klíčů

Tento článek popisuje, jak publikovat událost do vlastního tématu pomocí přístupového klíče. Zobrazuje formát dat příspěvku a události. Smlouva o úrovni služeb (SLA) se vztahuje pouze na příspěvky, které odpovídají očekávanému formátu.

Poznámka:

Ověřování Microsoft Entra poskytuje vynikající podporu ověřování, než kterou nabízí přístupový klíč nebo ověřování tokenu sdíleného přístupového podpisu (SAS). Při ověřování Microsoft Entra se identita ověřuje u zprostředkovatele identity Microsoft Entra. Jako vývojář nebudete muset zpracovávat klíče v kódu, pokud používáte ověřování Microsoft Entra. Získáte také výhody ze všech funkcí zabezpečení integrovaných do platformy Microsoft Identity Platform, jako je podmíněný přístup, které vám můžou pomoct zlepšit postoj k zabezpečení vaší aplikace. Další informace naleznete v tématu Ověřování klientů publikování pomocí Microsoft Entra ID.

Koncový bod

Při odesílání HTTP POST do vlastního tématu použijte formát identifikátoru URI: https://<topic-endpoint>?api-version=2018-01-01. Platný identifikátor URI je například: https://exampletopic.westus2-1.eventgrid.azure.net/api/events?api-version=2018-01-01. Pokud chcete získat koncový bod vlastního tématu pomocí Azure CLI, použijte:

az eventgrid topic show --name <topic-name> -g <topic-resource-group> --query "endpoint"

Pokud chcete získat koncový bod pro vlastní téma pomocí Azure PowerShellu, použijte:

(Get-AzEventGridTopic -ResourceGroupName <topic-resource-group> -Name <topic-name>).Endpoint

Do požadavku zahrňte hodnotu aeg-sas-key hlavičky, která obsahuje klíč pro ověřování. Například platná hodnota záhlaví je aeg-sas-key: xxxxxxxxxxxxxxxxxxxxxxx. Pokud chcete získat klíč vlastního tématu pomocí Azure CLI, použijte:

az eventgrid topic key list --name <topic-name> -g <topic-resource-group> --query "key1"

Klíč vlastního tématu získáte pomocí PowerShellu:

(Get-AzEventGridTopicKey -ResourceGroupName <topic-resource-group> -Name <topic-name>).Key1

Data událostí

U vlastních témat obsahují data nejvyšší úrovně stejná pole jako standardní události definované prostředky. Jednou z těchto vlastností je data vlastnost, která obsahuje vlastnosti jedinečné pro vlastní téma. Jako vydavatel události určíte vlastnosti daného datového objektu. Toto je 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 ve schématu událostí služby Azure Event Grid. Při publiková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 nad 64 kB se účtují v přírůstcích po 64 kB. Při přijímání událostí v dávce je maximální povolený počet událostí 5 000 na dávku.

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ěď respondenta

Po publikování do koncového bodu tématu obdržíte odpověď. Odpověď je standardní kód odpovědi HTTP. Mezi běžné odpovědi patří:

Výsledek Odpověď respondenta
Success 200 OK
Data událostí 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 limity velikosti. 413 Příliš velká datová část

V případě chyb má text zprávy následující formát:

{
    "error": {
        "code": "<HTTP status code>",
        "message": "<description>",
        "details": [{
            "code": "<HTTP status code>",
            "message": "<description>"
    }]
  }
}

Další kroky