Azure Functions danych wyjściowych z usługi Azure Stream Analytics
Azure Functions to bezserwerowa usługa obliczeniowa, której można użyć do uruchamiania kodu na żądanie bez konieczności jawnego aprowizowania infrastruktury ani zarządzania nią. Umożliwia zaimplementowanie kodu wyzwalanego przez zdarzenia występujące na platformie Azure lub w usługach partnerskich. Ta możliwość Azure Functions reagowania na wyzwalacze sprawia, że jest to naturalne dane wyjściowe dla usługi Azure Stream Analytics. Ta karta wyjściowa umożliwia użytkownikom łączenie usługi Stream Analytics z Azure Functions i uruchamianie skryptu lub fragmentu kodu w odpowiedzi na różne zdarzenia.
Azure Functions dane wyjściowe z usługi Stream Analytics nie są dostępne na platformie Microsoft Azure obsługiwanej przez firmę 21Vianet i platformę Azure (T-Systems International). Połączenie z Azure Functions wewnątrz sieci wirtualnej (VNet) z zadania usługi Stream Analytics uruchomionego w klastrze z wieloma dzierżawami również nie jest obsługiwane.
Usługa Azure Stream Analytics wywołuje Azure Functions za pośrednictwem wyzwalaczy HTTP. Adapter wyjściowy Azure Functions jest dostępny z następującymi konfigurowalnymi właściwościami:
Nazwa właściwości | Opis |
---|---|
Aplikacja funkcji | Nazwa aplikacji Azure Functions. |
Funkcja | Nazwa funkcji w aplikacji Azure Functions. |
Klucz | Jeśli chcesz użyć funkcji platformy Azure z innej subskrypcji, możesz to zrobić, podając klucz dostępu do funkcji. |
Maksymalny rozmiar partii | Właściwość, która umożliwia ustawienie maksymalnego rozmiaru dla każdej partii wyjściowej wysyłanej do funkcji platformy Azure. Jednostka wejściowa jest wyrażona w bajtach. Domyślnie ta wartość to 262 144 bajtów (256 KB). |
Maksymalna liczba partii | Właściwość umożliwiająca określenie maksymalnej liczby zdarzeń w każdej partii wysyłanej do Azure Functions. Wartość domyślna to 100. |
Usługa Azure Stream Analytics oczekuje stanu HTTP 200 z aplikacji usługi Functions dla partii, które zostały pomyślnie przetworzone.
Gdy usługa Azure Stream Analytics otrzyma wyjątek 413 ("http Request Entity Too Large") od funkcji platformy Azure, zmniejsza rozmiar partii wysyłanych do Azure Functions. W kodzie funkcji platformy Azure użyj tego wyjątku, aby upewnić się, że usługa Azure Stream Analytics nie wysyła ponadwymiarowych partii. Upewnij się również, że maksymalna liczba partii i wartości rozmiaru używane w funkcji są zgodne z wartościami wprowadzonymi w portalu usługi Stream Analytics.
Uwaga
Podczas testu połączenia usługa Stream Analytics wysyła (POST) pustą partię do Azure Functions, aby sprawdzić, czy połączenie między nimi działa. Upewnij się, że aplikacja usługi Functions obsługuje puste żądania wsadowe, aby upewnić się, że połączenie testowe przebiegło pomyślnie.
Ponadto w sytuacji, gdy w przedziale czasu nie ma żadnego zdarzenia, żadne dane wyjściowe nie są generowane. W związku z tym funkcja computeResult nie jest wywoływana. To zachowanie jest zgodne z wbudowanymi funkcjami agregacji okiennych.
Partycjonowanie
Klucz partycji jest oparty na klauzuli PARTITION BY w zapytaniu. Liczba składników zapisywania danych wyjściowych jest zgodna z partycjonowaniem danych wejściowych dla w pełni równoległych zapytań.
Rozmiar partii wyjściowej
Domyślny rozmiar partii to 262 144 bajtów (256 KB). Domyślna liczba zdarzeń na partię wynosi 100. Rozmiar partii można konfigurować i można go zwiększyć lub zmniejszyć w opcjach danych wyjściowych usługi Stream Analytics.
Ograniczenie
Azure Functions powinno zakończyć żądanie w czasie poniżej 100 sekund, ponieważ klient HTTP upłynął po upływie 100 sekund. Jeśli przetwarzanie partii danych trwa dłużej niż 100 sekund, w przypadku Azure Functions nastąpi przekroczenie limitu czasu, który spowoduje wyzwolenie ponawiania próby. Ta ponowna próba może spowodować zduplikowanie danych, ponieważ Azure Functions ponownie przetworzy dane i potencjalnie wygenerować te same dane wyjściowe, ponieważ mogły zostać wygenerowane częściowo w poprzednim żądaniu
Przykłady kodu
Dane wyjściowe Azure Functions mogą służyć do przekazywania komunikatów do nieobsługiwanych baz danych, takich jak Redis, lub aktualizowania tabel w Azure SQL.
Następne kroki
- Szybki start: tworzenie zadania usługi Stream Analytics przy użyciu witryny Azure Portal
- Szybki start: tworzenie zadania usługi Azure Stream Analytics przy użyciu interfejsu wiersza polecenia platformy Azure
- Szybki start: tworzenie zadania usługi Azure Stream Analytics przy użyciu szablonu usługi ARM
- Szybki start: tworzenie zadania usługi Stream Analytics przy użyciu Azure PowerShell
- Szybki start: tworzenie zadania usługi Azure Stream Analytics przy użyciu programu Visual Studio
- Szybki start: tworzenie zadania usługi Azure Stream Analytics w usłudze Visual Studio Code