Co to jest usługa Azure Functions?
Azure Functions to oparta na chmurze usługa obliczeniowa, która zapewnia skalowalne i oparte na zdarzeniach obliczenia bezserwerowe dla platformy Azure. W niektórych przypadkach opłaty są naliczane tylko za czas uruchomienia kodu funkcji.
Możesz użyć usługi Azure Functions, aby uruchomić kod, gdy będzie potrzebny do uruchomienia. Na przykład kod może być uruchamiany w wyniku zdarzenia lub zmiany, na przykład gdy komunikat pojawi się w kolejce lub gdy przechowywany obiekt zostanie zaktualizowany. Można również zdefiniować zaplanowany interwał uruchamiania kodu przy użyciu cron
reguł.
Używanie wyzwalaczy do decydowania o tym, kiedy uruchamiać kod
Usługa Azure Functions umożliwia definiowanie wyzwalaczy, które rozpoczynają wykonywanie kodu. Wyzwalacze mogą również przetwarzać dane wejściowe w celu przekazywania danych do funkcji. Każda funkcja może mieć tylko jeden wyzwalacz. Niektóre typy wyzwalaczy obsługiwane przez funkcje platformy Azure obejmują:
- Magazyn: możesz nasłuchiwać zdarzeń z baz danych, takich jak Azure Cosmos DB. Na przykład po wstawieniu nowego wiersza.
- Zdarzenia: usługa Event Grid i usługa Event Hubs generują zdarzenia, które mogą wyzwalać kod.
- Kod HTTP: żądania internetowe i elementy webhook mogą wyzwalać kod HTTP.
- Kolejki: komunikaty kolejki można również przetwarzać.
- Czasomierz: wywoływanie kodu na podstawie określonego interwału czasu.
Nawiązywanie połączenia ze źródłami danych przy użyciu powiązań
Powiązania to sposoby upraszczania kodowania dla danych wejściowych i wyjściowych. Zestaw SDK klienta umożliwia łączenie się z usługami z poziomu kodu funkcji, ale usługa Azure Functions udostępnia powiązania, aby uprościć te połączenia. Zasadniczo powiązania to kod połączenia, którego nie trzeba pisać. Możesz zintegrować z wieloma usługami na platformie Azure i rozwiązywać problemy z integracją i automatyzować procesy biznesowe.
Powiązania są dostępne w dwóch odmianach, danych wejściowych i wyjściowych. Powiązanie danych wyjściowych umożliwia zapisywanie danych w miejscu docelowym danych, na przykład umieszczenie komunikatu w kolejce lub nowym wierszu w bazie danych. Powiązanie wejściowe może służyć do przekazywania danych do funkcji ze źródła danych innego niż powiązanie, które wyzwoliło funkcję.
Funkcje
Istnieją pewne funkcje, które sprawiają, że usługa Azure Functions jest atrakcyjnym wyborem:
Elastyczne plany hostingu. Istnieją trzy różne plany hostingu spełniające twoje potrzeby biznesowe.
- Plan zużycia. W pełni bezserwerowa opcja hostingu dla funkcji. Funkcje są skalowane automatycznie i płacisz za zasoby obliczeniowe tylko wtedy, gdy funkcje są uruchomione. Ten plan zapewnia ekonomiczne obliczenia dla krótkich obciążeń procesów, które zwykle są bardziej sporadyczne z mniej przewidywalnymi obciążeniami.
- Plan Premium. W tym planie funkcje są inicjowane, co oznacza, że po bezczynności nie ma opóźnień. Plan Premium to dobry plan, który należy wybrać, kiedy aplikacja funkcji musi działać przez dłuższy czas, ale nadal potrzebujesz skalowania dynamicznego. Ten plan umożliwia również rozpoczęcie skalowania przy użyciu większej ilości zasobów niż w przypadku planu Zużycie. W planie Zużycie istnieją również limity czasu wykonywania, który ten plan może zastąpić. Mimo że nadal uzyskujesz korzyści wynikające z skalowania dynamicznego, płacisz więcej.
- Dedykowany plan. Funkcje są uruchamiane przy użyciu zwykłego planu usługi App Service. Najlepiej jest pracować w scenariuszach, w których funkcje muszą być uruchamiane w sposób ciągły. Kolejną korzyścią jest to, że w pełni kontrolujesz sposób skalowania aplikacji i można łatwiej przewidywać koszty. Plan dedykowany jest również dobrym wyborem, jeśli masz dostępny istniejący, ale niedostatecznie wykorzystany plan usługi App Service.
Dynamiczne skalowanie. W większości planów funkcje są dynamicznie skalowane na podstawie obciążenia. Gdy zapotrzebowanie na wykonywanie wzrasta, więcej zasobów jest przydzielanych automatycznie do usługi, a gdy żądania spadną, zasoby i wystąpienia aplikacji zostaną automatycznie wyłączone. W planie Zużycie nie płacisz w ogóle za funkcje bezczynne.
Architektura oparta na zdarzeniach. Funkcje mają być małe i skoncentrowane. Przetwarzają dane przychodzące i są wykonywane lub zgłaszają nowe zdarzenie z kolei. Niektóre typowe obszary użycia usługi Azure Functions to wysyłanie wiadomości e-mail, uruchamianie kopii zapasowej, przetwarzanie zamówień, planowanie zadań, takie jak czyszczenie bazy danych, wysyłanie powiadomień, wiadomości i przetwarzanie danych IoT.