Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
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
- Niestandardowy temat usługi Azure Event Grid. Aby go utworzyć, zobacz Wyślij niestandardowe zdarzenia do punktu końcowego webowego za pomocą portalu Azure.
- Azure CLI, Azure PowerShell lub dostęp do portalu Azure w celu pobrania punktu końcowego tematu oraz klucza dostępu.
- Narzędzie, które może wysyłać żądania HTTP POST, takie jak
curl.
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.
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.
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.
W witrynie Azure Portal uruchom usługę Cloud Shell.
W usłudze Cloud Shell uruchom polecenia za pomocą narzędzia Azure PowerShell lub interfejsu wiersza polecenia platformy Azure w sesji Bash lub PowerShell.
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>"
}]
}
}
Powiązana zawartość
- Monitoruj dostarczanie komunikatów usługi Event Grid: Dowiedz się, jak śledzić i rozwiązywać problemy z dostarczaniem zdarzeń.
- Zabezpieczenia i uwierzytelnianie usługi Event Grid: informacje na temat zabezpieczania zdarzeń za pomocą kluczy uwierzytelniania.
- Schemat subskrypcji usługi Event Grid: szczegółowe wskazówki dotyczące tworzenia subskrypcji usługi Event Grid.