Jak stworzyć podstawowego konsumenta webhooków za pomocą funkcji Azure

Nick Zimmerman

20 gru 2017

Email

1 min read

Jak stworzyć podstawowego konsumenta webhooków za pomocą funkcji Azure

Kluczowe Wnioski

    • Funkcje Azure zapewniają szybki, bezserwerowy sposób wdrażania i skalowania konsumentów webhooków bez zarządzania infrastrukturą.

    • Webhooki przesyłają dane zdarzenia do zdefiniowanego punktu końcowego — integracja z funkcjami Azure umożliwia automatyzację na platformach takich jak Slack, Facebook i Salesforce.

    • Używając Visual Studio lub konsoli Azure, można łatwo budować, debugować i publikować konsumentów webhooków.

    • Aby uniknąć kosztownych limitów czasowych, przetwarzaj dane webhooków asynchronicznie — przechowuj i obsługuj duże lub zmienne ładunki poza główną funkcją.

    • Azure Container Services (AKS) mogą rozszerzać funkcjonalność dla zadań długoterminowych, zachowując lekkość funkcji.

    • Łączenie funkcji bezserwerowych z webhookami eliminuje potrzebę skomplikowanego oprogramowania pośredniczącego, co sprawia, że automatyzacja jest bardziej elastyczna i skalowalna.

Q&A Highlights

  • Czym są webhooks i dlaczego są przydatne?

    Webhooki to zautomatyzowane wiadomości wysyłane przez usługi takie jak Slack lub PayPal do wybranego punktu końcowego, gdy wystąpią określone zdarzenia. Umożliwiają one integracje w czasie rzeczywistym i przepływy pracy oparte na zdarzeniach.

  • Dlaczego używać Azure Functions do konsumpcji webhook?

    Azure Functions oferują model bezserwerowy — brak serwerów do zarządzania, automatyczne skalowanie i koszty płatności za wykonanie — co czyni je idealnymi dla nieprzewidywalnego ruchu webhook.

  • Jak zbudować podstawowy konsument webhook w Azure?

    Możesz utworzyć funkcję Azure za pomocą Visual Studio lub Azure Console, dodać nowy projekt funkcji Azure, przetestować lokalnie, a następnie opublikować bezpośrednio w Azure.

  • Jaka jest największa pułapka przy pracy z webhookami?

    Długotrwałe lub blokujące funkcje. Zawsze przetwarzaj żądania asynchronicznie, szybko odpowiadaj na wywołania POST i przekazuj obciążające zadania do innych procesów.

  • Jak mogę obsłużyć złożone lub długotrwające zdarzenia webhook?

    Używaj Azure Container Services (AKS) lub podobnych narzędzi do rozszerzonego przetwarzania. Funkcja powinna uruchamiać te kontenery i natychmiast zwracać wynik, aby zapobiec przekroczeniu limitu czasu.

  • Jaka jest główna zaleta łączenia serverless functions i webhooks?

    Otrzymujesz konfigurację o niskim nakładzie pracy i wysokiej zwinności do budowania zautomatyzowanych ekosystemów w różnych usługach—bez tradycyjnego oprogramowania pośredniczącego lub dużych obciążeń integracyjnych.

W listopadzie wygłosiłem wykład na Live! 360 na temat tworzenia podstawowego konsumenta webhooków przy użyciu Azure Functions. Ten post na blogu podsumuje ten wykład i uprości kwestie, tak abyś mógł zrozumieć podstawy Azure Functions.

Interfejs webhook funkcji Azure

W listopadzie, I gave a talk at Live! 360 na temat tworzenia podstawowego konsumenta webhooków przy użyciu Azure Functions. Ten post na blogu podsumuje tamto wystąpienie i wyodrębni rzeczy tak, abyście zrozumieli podstawy Azure Function, i rozszerzą framework solution found on Github.

W listopadzie, I gave a talk at Live! 360 na temat tworzenia podstawowego konsumenta webhooków przy użyciu Azure Functions. Ten post na blogu podsumuje tamto wystąpienie i wyodrębni rzeczy tak, abyście zrozumieli podstawy Azure Function, i rozszerzą framework solution found on Github.

W listopadzie, I gave a talk at Live! 360 na temat tworzenia podstawowego konsumenta webhooków przy użyciu Azure Functions. Ten post na blogu podsumuje tamto wystąpienie i wyodrębni rzeczy tak, abyście zrozumieli podstawy Azure Function, i rozszerzą framework solution found on Github.

Czym są Webhooki?

Webhooki to świetne małe rzeczy dostarczane przez wiele popularnych usług, w tym SparkPos

t, Slack, Visual Studio Team Services, Office 365, Facebook, PayPal i Salesforce. Webhooki przesyłają dane na podstawie zdarzenia do zdefiniowanego przez Ciebie punktu końcowego.

Webhooki to świetne małe rzeczy dostarczane przez wiele popularnych usług, w tym SparkPos

t, Slack, Visual Studio Team Services, Office 365, Facebook, PayPal i Salesforce. Webhooki przesyłają dane na podstawie zdarzenia do zdefiniowanego przez Ciebie punktu końcowego.

Webhooki to świetne małe rzeczy dostarczane przez wiele popularnych usług, w tym SparkPos

t, Slack, Visual Studio Team Services, Office 365, Facebook, PayPal i Salesforce. Webhooki przesyłają dane na podstawie zdarzenia do zdefiniowanego przez Ciebie punktu końcowego.

Dlaczego serverless functions?

Serwerless functions to świetna innowacja pomagająca szybko wdrażać rozwiązania przy jednoczesnym zmniejszeniu obciążeń dla organizacji. Brak sprzętu do utrzymania to ogromna korzyść, a serwerless functions są w stanie obsługiwać nieprzewidywalne przepływy ruchu. Są łatwe do wdrożenia i aktualizacji, więc można szybko zacząć działać.

Serwerless functions to świetna innowacja pomagająca szybko wdrażać rozwiązania przy jednoczesnym zmniejszeniu obciążeń dla organizacji. Brak sprzętu do utrzymania to ogromna korzyść, a serwerless functions są w stanie obsługiwać nieprzewidywalne przepływy ruchu. Są łatwe do wdrożenia i aktualizacji, więc można szybko zacząć działać.

Serwerless functions to świetna innowacja pomagająca szybko wdrażać rozwiązania przy jednoczesnym zmniejszeniu obciążeń dla organizacji. Brak sprzętu do utrzymania to ogromna korzyść, a serwerless functions są w stanie obsługiwać nieprzewidywalne przepływy ruchu. Są łatwe do wdrożenia i aktualizacji, więc można szybko zacząć działać.

Synergia!

Kombinacja webhooków i funkcji bezserwerowych umożliwia bardzo łatwe tworzenie bogatych ekosystemów do automatyzacji lub interakcji z użytkownikiem. Możliwość korzystania ze zdarzeń i danych generowanych przez te wszystkie różnorodne systemy eliminuje potrzebę skomplikowanego middleware, jednocześnie umożliwiając bardzo łatwe włączenie niestandardowego kodu i zdarzeń.

Kombinacja webhooków i funkcji bezserwerowych umożliwia bardzo łatwe tworzenie bogatych ekosystemów do automatyzacji lub interakcji z użytkownikiem. Możliwość korzystania ze zdarzeń i danych generowanych przez te wszystkie różnorodne systemy eliminuje potrzebę skomplikowanego middleware, jednocześnie umożliwiając bardzo łatwe włączenie niestandardowego kodu i zdarzeń.

Kombinacja webhooków i funkcji bezserwerowych umożliwia bardzo łatwe tworzenie bogatych ekosystemów do automatyzacji lub interakcji z użytkownikiem. Możliwość korzystania ze zdarzeń i danych generowanych przez te wszystkie różnorodne systemy eliminuje potrzebę skomplikowanego middleware, jednocześnie umożliwiając bardzo łatwe włączenie niestandardowego kodu i zdarzeń.

Azure Functions Basics

Azure Functions mogą być tworzone za pomocą Azure Console lub Visual Studio. Polecam wypróbowanie obu, aby zaznajomić się z tymi doświadczeniami. Jedną z zalet tworzenia czegoś w Azure Console jest to, że można pobrać wynikowy Azure Function jako plik rozwiązania Visual Studio. Visual Studio to to samo znane, silne środowisko IDE, które znasz i kochasz.

Obie metody mają swoje zalety. Konsola Azure Function daje bezpośredni dostęp do kontroli parametrów działania funkcji, od dostępnych zasobów po miesięczne limity zużycia w celu kontroli kosztów. Wszystkie te opcje można ustawić i manipulować nimi z poziomu Visual Studio poprzez plik host.json i zmienne środowiskowe.

Azure Functions mogą być tworzone za pomocą Azure Console lub Visual Studio. Polecam wypróbowanie obu, aby zaznajomić się z tymi doświadczeniami. Jedną z zalet tworzenia czegoś w Azure Console jest to, że można pobrać wynikowy Azure Function jako plik rozwiązania Visual Studio. Visual Studio to to samo znane, silne środowisko IDE, które znasz i kochasz.

Obie metody mają swoje zalety. Konsola Azure Function daje bezpośredni dostęp do kontroli parametrów działania funkcji, od dostępnych zasobów po miesięczne limity zużycia w celu kontroli kosztów. Wszystkie te opcje można ustawić i manipulować nimi z poziomu Visual Studio poprzez plik host.json i zmienne środowiskowe.

Azure Functions mogą być tworzone za pomocą Azure Console lub Visual Studio. Polecam wypróbowanie obu, aby zaznajomić się z tymi doświadczeniami. Jedną z zalet tworzenia czegoś w Azure Console jest to, że można pobrać wynikowy Azure Function jako plik rozwiązania Visual Studio. Visual Studio to to samo znane, silne środowisko IDE, które znasz i kochasz.

Obie metody mają swoje zalety. Konsola Azure Function daje bezpośredni dostęp do kontroli parametrów działania funkcji, od dostępnych zasobów po miesięczne limity zużycia w celu kontroli kosztów. Wszystkie te opcje można ustawić i manipulować nimi z poziomu Visual Studio poprzez plik host.json i zmienne środowiskowe.

Tworzenie Basic Webhook Consumer

Krok 1

Utwórz nowe rozwiązanie Visual Studio i dodaj do tego rozwiązania nowy projekt.

Visual studio editor


Krok 2

Kliknij prawym przyciskiem myszy na węźle projektu i dodaj nowy element. Wybierz Azure Function.


Visual studio editor


Krok 3

Teraz masz bardzo dobrze znany projekt Visual Studio. Powinieneś mieć szablon dla podstawowej C# Azure Function. Czas stworzyć trochę kodu, aby korzystać z webhooka.

Visual studio editor


Krok 4

Debuguj lokalnie. Tak, możesz debugować to lokalnie za pomocą wszystkich znanych narzędzi do debugowania i introspekcji w Visual Studio. Zwróć uwagę na konsolę debugowania, ponieważ zawiera wiele cennych informacji o każdym wywołaniu funkcji podczas testowania lokalnego.

Debugging console


Krok 5

Opublikuj Azure Function. Kliknij prawym przyciskiem myszy na węźle projektu i wybierz opcję Publikuj. Wybierz Azure Function i utwórz nową. Należy zauważyć, że można również zaktualizować istniejącą funkcję. Funkcja pojawi się teraz w konsoli Azure.

Visual studio editor

Krok 1

Utwórz nowe rozwiązanie Visual Studio i dodaj do tego rozwiązania nowy projekt.

Visual studio editor


Krok 2

Kliknij prawym przyciskiem myszy na węźle projektu i dodaj nowy element. Wybierz Azure Function.


Visual studio editor


Krok 3

Teraz masz bardzo dobrze znany projekt Visual Studio. Powinieneś mieć szablon dla podstawowej C# Azure Function. Czas stworzyć trochę kodu, aby korzystać z webhooka.

Visual studio editor


Krok 4

Debuguj lokalnie. Tak, możesz debugować to lokalnie za pomocą wszystkich znanych narzędzi do debugowania i introspekcji w Visual Studio. Zwróć uwagę na konsolę debugowania, ponieważ zawiera wiele cennych informacji o każdym wywołaniu funkcji podczas testowania lokalnego.

Debugging console


Krok 5

Opublikuj Azure Function. Kliknij prawym przyciskiem myszy na węźle projektu i wybierz opcję Publikuj. Wybierz Azure Function i utwórz nową. Należy zauważyć, że można również zaktualizować istniejącą funkcję. Funkcja pojawi się teraz w konsoli Azure.

Visual studio editor

Krok 1

Utwórz nowe rozwiązanie Visual Studio i dodaj do tego rozwiązania nowy projekt.

Visual studio editor


Krok 2

Kliknij prawym przyciskiem myszy na węźle projektu i dodaj nowy element. Wybierz Azure Function.


Visual studio editor


Krok 3

Teraz masz bardzo dobrze znany projekt Visual Studio. Powinieneś mieć szablon dla podstawowej C# Azure Function. Czas stworzyć trochę kodu, aby korzystać z webhooka.

Visual studio editor


Krok 4

Debuguj lokalnie. Tak, możesz debugować to lokalnie za pomocą wszystkich znanych narzędzi do debugowania i introspekcji w Visual Studio. Zwróć uwagę na konsolę debugowania, ponieważ zawiera wiele cennych informacji o każdym wywołaniu funkcji podczas testowania lokalnego.

Debugging console


Krok 5

Opublikuj Azure Function. Kliknij prawym przyciskiem myszy na węźle projektu i wybierz opcję Publikuj. Wybierz Azure Function i utwórz nową. Należy zauważyć, że można również zaktualizować istniejącą funkcję. Funkcja pojawi się teraz w konsoli Azure.

Visual studio editor

Potencjalne Pułapki

Najczęstszy błąd, który dotyka ludzi podczas pracy z konsumpcją webhooków i funkcjami bezserwerowymi, polega na tym, że funkcja działa zbyt długo. To albo powoduje, że funkcja staje się bardzo kosztowna albo całkowicie zawodzi, ponieważ webhook POST ulega czasowi oczekiwania. Istnieje kilka rzeczy, które możesz zrobić, aby załagodzić te problemy.

Konsumenci webhooków powinni działać asynchronicznie. Dane powinny być pobierane możliwie najszybciej, a następnie przetwarzane. Wspólnym błędem projektowym jest próba przetworzenia danych w czasie rzeczywistym, gdy dotychczas nadchodzą. To działa, o ile dane są spójne i mają mały rozmiar, ale jeśli rozmiar danych może się zwiększać lub być niespójny, najlepiej jest zapewnić, że dane są odbierane i odpowiedź HTTP jest wysyłana, aby uniknąć przekroczenia czasu.

Kolejną rzeczą, która może pomóc w ograniczeniu długotrwałych procesów, jest przechowywanie przesłanych danych i użycie funkcji bezserwerowej do uruchomienia procesu konteneryzacji za pomocą czegoś jak Azure Container Services (AKS) do obsługi długotrwałych części. Korzystając z tego projektu, funkcja bezserwerowa powinna uruchamiać i zapomnieć o kontenerze, pozwalając kontenerowi na przesłanie swoich wyników albo do dziennika, albo do innej usługi powiadamiania według twojego wyboru. Zapewnia to, że funkcja bezserwerowa jest możliwie jak najkrótsza, jednocześnie pozwalając na wykonywanie skomplikowanego przetwarzania.

Najczęstszy błąd, który dotyka ludzi podczas pracy z konsumpcją webhooków i funkcjami bezserwerowymi, polega na tym, że funkcja działa zbyt długo. To albo powoduje, że funkcja staje się bardzo kosztowna albo całkowicie zawodzi, ponieważ webhook POST ulega czasowi oczekiwania. Istnieje kilka rzeczy, które możesz zrobić, aby załagodzić te problemy.

Konsumenci webhooków powinni działać asynchronicznie. Dane powinny być pobierane możliwie najszybciej, a następnie przetwarzane. Wspólnym błędem projektowym jest próba przetworzenia danych w czasie rzeczywistym, gdy dotychczas nadchodzą. To działa, o ile dane są spójne i mają mały rozmiar, ale jeśli rozmiar danych może się zwiększać lub być niespójny, najlepiej jest zapewnić, że dane są odbierane i odpowiedź HTTP jest wysyłana, aby uniknąć przekroczenia czasu.

Kolejną rzeczą, która może pomóc w ograniczeniu długotrwałych procesów, jest przechowywanie przesłanych danych i użycie funkcji bezserwerowej do uruchomienia procesu konteneryzacji za pomocą czegoś jak Azure Container Services (AKS) do obsługi długotrwałych części. Korzystając z tego projektu, funkcja bezserwerowa powinna uruchamiać i zapomnieć o kontenerze, pozwalając kontenerowi na przesłanie swoich wyników albo do dziennika, albo do innej usługi powiadamiania według twojego wyboru. Zapewnia to, że funkcja bezserwerowa jest możliwie jak najkrótsza, jednocześnie pozwalając na wykonywanie skomplikowanego przetwarzania.

Najczęstszy błąd, który dotyka ludzi podczas pracy z konsumpcją webhooków i funkcjami bezserwerowymi, polega na tym, że funkcja działa zbyt długo. To albo powoduje, że funkcja staje się bardzo kosztowna albo całkowicie zawodzi, ponieważ webhook POST ulega czasowi oczekiwania. Istnieje kilka rzeczy, które możesz zrobić, aby załagodzić te problemy.

Konsumenci webhooków powinni działać asynchronicznie. Dane powinny być pobierane możliwie najszybciej, a następnie przetwarzane. Wspólnym błędem projektowym jest próba przetworzenia danych w czasie rzeczywistym, gdy dotychczas nadchodzą. To działa, o ile dane są spójne i mają mały rozmiar, ale jeśli rozmiar danych może się zwiększać lub być niespójny, najlepiej jest zapewnić, że dane są odbierane i odpowiedź HTTP jest wysyłana, aby uniknąć przekroczenia czasu.

Kolejną rzeczą, która może pomóc w ograniczeniu długotrwałych procesów, jest przechowywanie przesłanych danych i użycie funkcji bezserwerowej do uruchomienia procesu konteneryzacji za pomocą czegoś jak Azure Container Services (AKS) do obsługi długotrwałych części. Korzystając z tego projektu, funkcja bezserwerowa powinna uruchamiać i zapomnieć o kontenerze, pozwalając kontenerowi na przesłanie swoich wyników albo do dziennika, albo do innej usługi powiadamiania według twojego wyboru. Zapewnia to, że funkcja bezserwerowa jest możliwie jak najkrótsza, jednocześnie pozwalając na wykonywanie skomplikowanego przetwarzania.

Zapalmy tę świecę

Oto jest to. Teraz możesz iść naprzód i tworzyć własny bogaty ekosystem przy użyciu funkcji bezserwerowych i webhooków. Poniżej znajduje się lista innych zasobów, które pomogą Ci zgłębić Azure Functions.

-Nick Zimmerman

ps – poniżej znajdują się dodatkowe zasoby dotyczące Azure Functions, które mogą Cię zainteresować – miłej lektury!

Oto jest to. Teraz możesz iść naprzód i tworzyć własny bogaty ekosystem przy użyciu funkcji bezserwerowych i webhooków. Poniżej znajduje się lista innych zasobów, które pomogą Ci zgłębić Azure Functions.

-Nick Zimmerman

ps – poniżej znajdują się dodatkowe zasoby dotyczące Azure Functions, które mogą Cię zainteresować – miłej lektury!

Oto jest to. Teraz możesz iść naprzód i tworzyć własny bogaty ekosystem przy użyciu funkcji bezserwerowych i webhooków. Poniżej znajduje się lista innych zasobów, które pomogą Ci zgłębić Azure Functions.

-Nick Zimmerman

ps – poniżej znajdują się dodatkowe zasoby dotyczące Azure Functions, które mogą Cię zainteresować – miłej lektury!

Inne wiadomości

Czytaj więcej z tej kategorii

A person is standing at a desk while typing on a laptop.

Kompletna, natywna dla AI platforma, która rośnie wraz z Twoim biznesem.

A person is standing at a desk while typing on a laptop.

Kompletna, natywna dla AI platforma, która rośnie wraz z Twoim biznesem.