Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W tej dokumentacji pokazano, jak nawiązać połączenie z usługą Azure Event Grid przy użyciu wyzwalaczy i powiązań usługi Azure Functions.
Event Grid to usługa platformy Azure, która wysyła żądania HTTP w celu powiadomienia o zdarzeniach występujących w wydawcach. Wydawca to usługa lub zasób, który pochodzi ze zdarzenia. Na przykład konto usługi Azure Blob Storage jest wydawcą, a przekazywanie lub usuwanie obiektów blob jest zdarzeniem. Niektóre usługi platformy Azure obsługują publikowanie zdarzeń w usłudze Event Grid.
Programy obsługi zdarzeń odbierają i przetwarzają zdarzenia. Usługa Azure Functions to jedna z kilku usług platformy Azure, które mają wbudowaną obsługę obsługi zdarzeń usługi Event Grid. Funkcje udostępnia wyzwalacz usługi Event Grid, który wywołuje funkcję po odebraniu zdarzenia z usługi Event Grid. Podobne powiązanie wyjściowe może służyć do wysyłania zdarzeń z funkcji do niestandardowego tematu usługi Event Grid.
Możesz również użyć wyzwalacza HTTP do obsługi zdarzeń usługi Event Grid. Aby dowiedzieć się więcej, zobacz Odbieranie zdarzeń do punktu końcowego HTTP. Zalecamy użycie wyzwalacza usługi Event Grid za pośrednictwem wyzwalacza HTTP.
| Akcja | Typ |
|---|---|
| Uruchamianie funkcji po wysłaniu zdarzenia usługi Event Grid | Wyzwalacz |
| Wysyła zdarzenie usługi Event Grid | Powiązanie wyjściowe |
| Kontrolowanie zwróconego kodu stanu HTTP | Punkt końcowy HTTP |
Instalowanie rozszerzenia
Instalowany pakiet NuGet rozszerzenia zależy od trybu języka C#, którego używasz w aplikacji funkcji:
Funkcje są wykonywane w izolowanym procesie roboczym języka C#. Aby dowiedzieć się więcej, zobacz Przewodnik dotyczący uruchamiania usługi Azure Functions w języku C# w izolowanym procesie roboczym.
Funkcjonalność rozszerzenia różni się w zależności od wersji rozszerzenia:
Dodaj rozszerzenie do projektu, instalując pakiet NuGet w wersji 3.x.
Instalowanie pakietu
Aby móc używać tego rozszerzenia powiązania w aplikacji, upewnij się, że plik host.json w katalogu głównym projektu zawiera następujące extensionBundle odwołanie:
{
"version": "2.0",
"extensionBundle": {
"id": "Microsoft.Azure.Functions.ExtensionBundle",
"version": "[4.0.0, 5.0.0)"
}
}
W tym przykładzie version[4.0.0, 5.0.0) wartość polecenia nakazuje hostowi usługi Functions użycie wersji pakietu, która jest co najmniej 4.0.0 mniejsza niż 5.0.0, która zawiera wszystkie potencjalne wersje 4.x. Ta notacja skutecznie utrzymuje aplikację w najnowszej dostępnej wersji pomocniczej pakietu rozszerzenia v4.x.
Jeśli to możliwe, należy użyć najnowszej wersji głównej pakietu rozszerzeń i zezwolić środowisku uruchomieniowemu na automatyczne utrzymywanie najnowszej wersji pomocniczej. Zawartość najnowszego pakietu można wyświetlić na stronie wydania pakietów rozszerzeń. Aby uzyskać więcej informacji, zobacz Pakiety rozszerzeń usługi Azure Functions.
Zagadnienia dotyczące rozszerzenia usługi Event Grid:
- Wersje rozszerzenia usługi Event Grid starsze niż 3.x nie obsługują schematu CloudEvents. Aby użyć tego schematu, zamiast tego użyj wyzwalacza HTTP.
- Powiązanie wyjściowe usługi Event Grid jest dostępne tylko dla funkcji 2.x i nowszych.
Typy powiązań
Typy powiązań obsługiwane dla platformy .NET zależą zarówno od wersji rozszerzenia, jak i trybu wykonywania języka C#, który może być jednym z następujących elementów:
Izolowana biblioteka klas procesów roboczych skompilowana funkcja języka C# jest uruchamiana w procesie odizolowanym od środowiska uruchomieniowego.
Wybierz wersję, aby wyświetlić szczegóły typu powiązania dla trybu i wersji.
Proces izolowany proces roboczy obsługuje typy parametrów zgodnie z poniższymi tabelami. Obsługa tworzenia powiązań z Streamelementami i i z usługi Azure.Messaging jest dostępna w wersji zapoznawczej.
Wyzwalacz usługi Event Grid
Jeśli chcesz, aby funkcja przetwarzała pojedyncze zdarzenie, wyzwalacz usługi Event Grid może powiązać z następującymi typami:
| Typ | Opis |
|---|---|
| Typy serializowalne w formacie JSON | Funkcje próbują wykonać deserializacji danych JSON zdarzenia w zwykły typ obiektu CLR (POCO). |
string |
Zdarzenie jako ciąg. |
| BinaryData1 | Bajty komunikatu zdarzenia. |
| CloudEvent1 | Obiekt zdarzenia. Użyj polecenia , gdy usługa Event Grid jest skonfigurowana do dostarczania przy użyciu schematu CloudEvents. |
| EventGridEvent1 | Obiekt zdarzenia. Użyj polecenia , gdy usługa Event Grid jest skonfigurowana do dostarczania przy użyciu schematu usługi Event Grid. |
Jeśli chcesz, aby funkcja przetwarzała partię zdarzeń, wyzwalacz usługi Event Grid może powiązać z następującymi typami:
| Typ | Opis |
|---|---|
CloudEvent[]
1,EventGridEvent[]
1,string[],BinaryData[]
1 |
Tablica zdarzeń z partii. Każdy wpis reprezentuje jedno zdarzenie. |
1 Aby użyć tych typów, należy odwołać się do elementów Microsoft.Azure.Functions.Worker.Extensions.EventGrid 3.3.0 lub nowszych oraz typowych zależności dla powiązań typu zestawu SDK.
Powiązanie danych wyjściowych usługi Event Grid
Jeśli chcesz, aby funkcja zapisywała pojedyncze zdarzenie, powiązanie danych wyjściowych usługi Event Grid może wiązać się z następującymi typami:
| Typ | Opis |
|---|---|
string |
Zdarzenie jako ciąg. |
byte[] |
Bajty komunikatu zdarzenia. |
| Typy serializowalne w formacie JSON | Obiekt reprezentujący zdarzenie JSON. Funkcje próbują serializować zwykły typ obiektu CLR (POCO) do danych JSON. |
Jeśli chcesz, aby funkcja zapisywała wiele zdarzeń, powiązanie danych wyjściowych usługi Event Grid może wiązać się z następującymi typami:
| Typ | Opis |
|---|---|
T[] gdzie T jest jednym z typów zdarzeń |
Tablica zawierająca wiele zdarzeń. Każdy wpis reprezentuje jedno zdarzenie. |
W przypadku innych scenariuszy wyjściowych utwórz element EventGridPublisherClient i użyj go bezpośrednio z poziomu usługi Azure.Messaging.EventGrid. Zobacz Rejestrowanie klientów platformy Azure, aby zapoznać się z przykładem użycia wstrzykiwania zależności w celu utworzenia typu klienta z zestawu Azure SDK.
ustawienia host.json
Wyzwalacz usługi Event Grid używa żądania HTTP elementu webhook, które można skonfigurować przy użyciu tych samych ustawień host.json co wyzwalacz HTTP.
Następne kroki
- Jeśli masz pytania, prześlij problem do zespołu tutaj
- Wyzwalacz usługi Event Grid
- Powiązanie danych wyjściowych usługi Event Grid
- Uruchamianie funkcji po wysłaniu zdarzenia usługi Event Grid
- Wysyłanie zdarzenia usługi Event Grid