Publikuj wydarzenia do niestandardowych tematów Azure Event Grid za pomocą kluczy dostępu

Niestandardowy temat Event Grid to punkt końcowy, do którego Twoje aplikacje wysyłają własne zdarzenia, aby Event Grid mógł kierować te zdarzenia do zainteresowanych subskrybentów. Ten artykuł pokazuje, jak publikować zdarzenia do niestandardowego tematu za pomocą kluczy dostępu, które uwierzytelniają Twoje żądania bez konieczności konfigurowania Microsoft Entra ID. Otrzymujesz punkt końcowy tematu i klucz dostępu, formatujesz ładunek danych zdarzenia, wysyłasz przykładowe zdarzenie i sprawdzasz odpowiedź.

Umowa o Poziomie Obsługi (SLA) dotyczy tylko postów spełniających oczekiwany format.

Wymagania wstępne

Uwaga

Uwierzytelnianie Microsoft Entra zapewnia lepsze wsparcie uwierzytelniania niż uwierzytelnianie za pomocą klucza dostępu lub podpisu współdzielonego dostępu (SAS). Korzystając z uwierzytelniania Microsoft Entra, dostawca tożsamości Microsoft Entra weryfikuje tożsamość, więc nie musisz obsługiwać kluczy w kodzie. Korzystasz także z funkcji bezpieczeństwa wbudowanych w Platforma tożsamości Microsoft, takich jak Conditional Access, które pomagają poprawić bezpieczeństwo Twojej aplikacji. Aby uzyskać więcej informacji, zobacz Uwierzytelnianie klientów publikujących za pomocą Microsoft Entra ID.

Pobierz punkt końcowy tematu

Aby opublikować zdarzenia do tematu niestandardowego, wyślij żądanie HTTP POST za pomocą następującego formatu URI: https://<topic-endpoint>?api-version=2018-01-01. Na przykład prawidłowy identyfikator URI to: https://exampletopic.westus2-1.eventgrid.azure.net/api/events?api-version=2018-01-01. Aby uzyskać endpoint dla niestandardowego tematu, użyj portalu Azure, Azure CLI lub Azure PowerShell.

Znajdź punkt końcowy tematu na zakładce Przegląd na stronie Event Grid Topic w portalu Azure.

Zrzut ekranu przedstawiający stronę tematu usługi Event Grid w witrynie Azure Portal z wyróżnionym punktem końcowym tematu.

Uzyskiwanie klucza dostępu

W żądaniu dołącz wartość nagłówka o nazwie aeg-sas-key , która zawiera klucz do uwierzytelniania. Na przykład prawidłową wartością nagłówka jest aeg-sas-key: xxxxxxxxxxxxxxxxxxxxxxx. Aby uzyskać klucz do tematu niestandardowego, użyj portalu Azure, Azure CLI lub Azure PowerShell.

Aby uzyskać klucz dostępu do tematu niestandardowego, wybierz zakładkę Klucze dostępu na stronie tematu Event Grid w portalu Azure.

Zrzut ekranu przedstawiający kartę Klucze dostępu na stronie tematu usługi Event Grid w witrynie Azure Portal.

Formatuj ładunek zdarzenia

Formatuj każde zdarzenie jako obiekt JSON. Pola najwyższego poziomu są takie same jak standardowe zdarzenia zdefiniowane zasobami, a data własność zawiera właściwości unikalne dla Twojego tematu niestandardowego. Jako wydawca definiujesz zawartość data obiektu. Opis każdej właściwości można znaleźć w Azure Event Grid event schema.

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

Miej na uwadze te limity rozmiaru podczas budowy ładunku:

  • Tablica zdarzeń może mieć całkowity rozmiar do 1 MB.
  • Maksymalny rozmiar pojedynczego zdarzenia to 1 MB. Za zdarzenia powyżej 64 KB naliczane są opłaty w jednostkach co 64 KB.
  • Partia może zawierać maksymalnie 5 000 zdarzeń.

Poniższy przykład pokazuje poprawny ładunek zdarzeń:

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

Wysyłanie przykładowego zdarzenia

W tej sekcji pokazano, jak wysłać przykładowe zdarzenie do tematu niestandardowego.

  1. W witrynie Azure Portal uruchom usługę Cloud Shell.

  2. W usłudze Cloud Shell uruchom polecenia za pomocą narzędzia Azure PowerShell lub interfejsu wiersza polecenia platformy Azure w sesji Bash lub PowerShell.

    Zrzut ekranu przedstawiający usługę Cloud Shell w witrynie Azure Portal.

Przejrzyj odpowiedź

Po wysłaniu żądania do punktu końcowego tematu otrzymasz odpowiedź. Odpowiedź to standardowy kod odpowiedzi HTTP. Oto niektóre typowe odpowiedzi:

Wynik Odpowiedź
Powodzenie 200 OK
Dane zdarzenia mają niepoprawny format 400 Nieprawidłowe żądanie
Nieprawidłowy klucz dostępu 401 Brak autoryzacji
Nieprawidłowy punkt końcowy 404 Nie znaleziono
Tablica lub zdarzenie przekracza dopuszczalny rozmiar 413 Zbyt duży ładunek

W przypadku błędów treść wiadomości używa następującego formatu:

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