Megosztás a következőn keresztül:


Események közzététele egyéni Azure Event Grid-témakörökben hozzáférési kulcsokkal

Ez a cikk azt ismerteti, hogyan tehet közzé eseményt egy egyéni témakörbe egy hozzáférési kulcs használatával. A bejegyzés és az esemény adatainak formátumát jeleníti meg. A szolgáltatásiszint-szerződés (SLA) csak a várt formátumnak megfelelő bejegyzésekre vonatkozik.

Feljegyzés

A Microsoft Entra-hitelesítés a hozzáférési kulcs vagy a közös hozzáférésű jogosultságkód (SAS) jogkivonat-hitelesítés által kínáltnál magasabb szintű hitelesítési támogatást nyújt. A Microsoft Entra-hitelesítéssel az identitás a Microsoft Entra identitásszolgáltatón lesz érvényesítve. Fejlesztőként nem kell kezelnie a kód kulcsait, ha Microsoft Entra-hitelesítést használ. Emellett a Microsoft Identitásplatform beépített összes biztonsági funkció, például a feltételes hozzáférés előnyeit is élvezheti, amelyek segíthetnek az alkalmazás biztonsági helyzetének javításában. További információ: Közzétételi ügyfelek hitelesítése a Microsoft Entra-azonosítóval.

Végpont

Ha a HTTP POST-et egyéni témakörbe küldi, használja az URI formátumot: https://<topic-endpoint>?api-version=2018-01-01. Egy érvényes URI például a következő: https://exampletopic.westus2-1.eventgrid.azure.net/api/events?api-version=2018-01-01. Ha az Azure CLI-vel szeretné lekérni egy egyéni témakör végpontot, használja a következőt:

A témakör végpontja az Eseményrács témakör lapJának Áttekintés lapján található az Azure Portalon.

Képernyőkép az Azure Portal Event Grid-témaköroldaláról, kiemelt témakörvégponttal.

A kérelemben adjon meg egy fejlécértéket aeg-sas-key , amely tartalmazza a hitelesítés kulcsát. Az érvényes fejlécérték például a következő aeg-sas-key: xxxxxxxxxxxxxxxxxxxxxxx: . Ha az Azure CLI használatával szeretné lekérni egy egyéni témakör kulcsát, használja a következőt:

Az egyéni témakör hozzáférési kulcsának lekéréséhez válassza az Access billentyűk lapját az Azure Portal Event Grid-témakör lapján.

Képernyőkép az Azure Portal Event Grid-témaköroldalának Hozzáférési kulcsok lapjáról.

Eseményadatok

Egyéni témakörök esetén a legfelső szintű adatok ugyanazokat a mezőket tartalmazzák, mint a standard erőforrás által definiált események. Ezen tulajdonságok egyike az data egyéni témakörhöz egyedi tulajdonságokat tartalmazó tulajdonság. Esemény közzétevőként ön határozza meg az adatobjektum tulajdonságait. A séma a következő:

[
  {
    "id": string,    
    "eventType": string,
    "subject": string,
    "eventTime": string-in-date-time-format,
    "data":{
      object-unique-to-each-publisher
    },
    "dataVersion": string
  }
]

Ezeknek a tulajdonságoknak a leírását az Azure Event Grid eseményséma tartalmazza. Amikor egy ügyfél eseményeket küld egy Event Grid-témakörnek, a tömb teljes mérete legfeljebb 1 MB lehet. Az esemény maximális megengedett mérete szintén 1 MB. A 64 KB-nál nagyobb eseményeket 64 KB-os növekményekben számítjuk fel. Amikor egy ügyfél eseményeket fogad egy kötegben, az események maximális száma kötegenként 5000.

Egy érvényes eseményadat-séma például a következő:

[{
  "id": "1807",
  "eventType": "recordInserted",
  "subject": "myapp/vehicles/motorcycles",
  "eventTime": "2017-08-10T21:03:07+00:00",
  "data": {
    "make": "Ducati",
    "model": "Monster"
  },
  "dataVersion": "1.0"
}]

A mintaesemény elküldése

Ez a szakasz bemutatja, hogyan küldhet mintaeseményt az egyéni témakörnek.

  1. Az Azure Portalon indítsa el a Cloud Shellt.

  2. A Cloud Shellben futtassa a parancsokat az Azure PowerShellből vagy az Azure CLI-ből a Bash- vagy PowerShell-munkamenetben.

    Képernyőkép a Cloud Shellről az Azure Portalon.

Válasz

Miután közzétette a témakörvégpontot, választ kap. A válasz egy szabványos HTTP-válaszkód. Néhány gyakori válasz:

Eredmény Válasz
Siker 200 OK
Az eseményadatok formátuma helytelen 400 Hibás kérés
Érvénytelen hozzáférési kulcs 401 Nem engedélyezett
Helytelen végpont 404 Nem található
A tömb vagy esemény túllépi a méretkorlátokat 413 Túl nagy hasznos adat

Hibák esetén az üzenettörzs formátuma a következő:

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