Publikowanie zdarzeń w niestandardowych tematach usługi Azure Event Grid przy użyciu kluczy dostępu
W tym artykule opisano sposób publikowania zdarzenia w temacie niestandardowym przy użyciu klucza dostępu. Przedstawia format danych postów i zdarzeń. Umowa dotycząca poziomu usług (SLA) dotyczy tylko wpisów, które są zgodne z oczekiwanym formatem.
Uwaga
Uwierzytelnianie firmy Microsoft Entra zapewnia lepszą obsługę uwierzytelniania niż jest to oferowane przez uwierzytelnianie za pomocą klucza dostępu lub tokenu sygnatury dostępu współdzielonego (SAS). W przypadku uwierzytelniania firmy Microsoft Entra tożsamość jest weryfikowana względem dostawcy tożsamości Firmy Microsoft Entra. Jako deweloper nie musisz obsługiwać kluczy w kodzie, jeśli używasz uwierzytelniania Microsoft Entra. Skorzystasz również ze wszystkich funkcji zabezpieczeń wbudowanych w Platforma tożsamości Microsoft, takich jak dostęp warunkowy, co może pomóc w ulepszaniu stanu zabezpieczeń aplikacji. Aby uzyskać więcej informacji, zobacz Uwierzytelnianie klientów publikowania przy użyciu identyfikatora Entra firmy Microsoft.
Punkt końcowy
Podczas wysyłania żądania HTTP POST do tematu niestandardowego użyj formatu identyfikatora 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ć punkt końcowy dla tematu niestandardowego przy użyciu interfejsu wiersza polecenia platformy Azure, użyj:
Punkt końcowy tematu można znaleźć na karcie Przegląd na stronie Temat usługi Event Grid w witrynie Azure Portal.
Nagłówek
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 dla tematu niestandardowego przy użyciu interfejsu wiersza polecenia platformy Azure, użyj:
Aby uzyskać klucz dostępu dla tematu niestandardowego, wybierz kartę Klucze dostępu na stronie Temat usługi Event Grid w witrynie Azure Portal.
Dane zdarzenia
W przypadku tematów niestandardowych dane najwyższego poziomu zawierają te same pola co standardowe zdarzenia zdefiniowane przez zasoby. Jedną z tych właściwości jest właściwość zawierająca data
właściwości unikatowe dla tematu niestandardowego. Jako wydawca zdarzeń określasz właściwości dla tego obiektu danych. Oto schemat:
[
{
"id": string,
"eventType": string,
"subject": string,
"eventTime": string-in-date-time-format,
"data":{
object-unique-to-each-publisher
},
"dataVersion": string
}
]
Opis tych właściwości można znaleźć w temacie Azure Event Grid event schema (Schemat zdarzeń usługi Azure Event Grid). Gdy klient wysyła zdarzenia do tematu usługi Event Grid, tablica może mieć całkowity rozmiar do 1 MB. Maksymalny dozwolony rozmiar zdarzenia wynosi również 1 MB. Zdarzenia powyżej 64 KB są naliczane w przyrostach 64 KB. Gdy klient odbiera zdarzenia w partii, maksymalna dozwolona liczba zdarzeń wynosi 5000 na partię.
Na przykład prawidłowy schemat danych zdarzenia to:
[{
"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 z poziomu programu Azure PowerShell lub interfejsu wiersza polecenia platformy Azure w sesji powłoki Bash lub programu PowerShell .
Response
Po opublikowaniu w punkcie końcowym tematu otrzymasz odpowiedź. Odpowiedź to standardowy kod odpowiedzi HTTP. Oto niektóre typowe odpowiedzi:
Result | Response |
---|---|
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 limity rozmiaru | 413 Zbyt duży ładunek |
W przypadku błędów treść komunikatu ma następujący format:
{
"error": {
"code": "<HTTP status code>",
"message": "<description>",
"details": [{
"code": "<HTTP status code>",
"message": "<description>"
}]
}
}
Powiązana zawartość
- Aby uzyskać informacje na temat monitorowania dostarczania zdarzeń, zobacz Monitorowanie dostarczania komunikatów usługi Event Grid.
- Aby uzyskać więcej informacji na temat klucza uwierzytelniania, zobacz Zabezpieczenia i uwierzytelnianie usługi Event Grid.
- Aby uzyskać więcej informacji na temat tworzenia subskrypcji usługi Azure Event Grid, zobacz Schemat subskrypcji usługi Event Grid.