Jak stworzyć podstawowego konsumenta webhooka z funkcjami Azure

Nick Zimmerman

20 gru 2017

Email

1 min read

Jak stworzyć podstawowego konsumenta webhooka z funkcjami Azure

Najważniejsze informacje

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

    • Webhooki wysyłają dane o zdarzeniach do zdefiniowanego punktu końcowego — integracja ich z funkcjami Azure umożliwia automatyzację w różnych platformach, takich jak Slack, Facebook i Salesforce.

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

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

    • Usługi kontenerowe Azure (AKS) mogą rozszerzyć funkcjonalność dla długoterminowych zadań, jednocześnie utrzymując funkcję lekką.

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

Podsumowanie pytań i odpowiedzi

  • Czym są webhooki i dlaczego są użyteczne?

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

  • Dlaczego warto używać funkcji Azure do konsumpcji webhooków?

    Azure Functions oferują model bezserwerowy—brak serwerów do zarządzania, automatyczne skalowanie i opłaty za wykonanie—co czyni je idealnymi do nieprzewidywalnego ruchu webhooków.

  • Jak zbudować podstawowego konsumenta webhooków w Azure?

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

  • Jakie jest największe niebezpieczeństwo podczas pracy z webhookami?

    Długoterminowe lub blokujące funkcje. Zawsze przetwarzaj żądania asynchronicznie, szybko odpowiadaj na wywołania POST i przekazuj ciężką pracę do innych procesów.

  • Jak mogę obsługiwać złożone lub długotrwałe zdarzenia webhook?

    Użyj usługi Azure Container Services (AKS) lub podobnych narzędzi do rozszerzonego przetwarzania. Funkcja powinna uruchamiać te kontenery i natychmiast wracać, aby zapobiec przekroczeniu limitu czasu.

  • Jaka jest główna zaleta łączenia funkcji serverless i webhooków?

    Uzyskujesz setup o niskich wymaganiach konserwacyjnych i wysokiej zwrotności do budowania zautomatyzowanych ekosystemów w wielu usługach—bez tradycyjnego oprogramowania pośredniczącego lub dużych obciążeń integracyjnych.

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

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

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

Potencjalne pułapki

Najczęstszym pułapką, która dotyka ludzi pracujących z konsumpcją webhooków i funkcjami serverless, jest to, że funkcja działa zbyt długo. To albo powoduje, że funkcja staje się bardzo kosztowna, albo całkowicie zawodzi, ponieważ webhook POST przekracza czas oczekiwania. Istnieje kilka rzeczy, które możesz zrobić, aby złagodzić te problemy.

Konsumenci webhooków powinni działać asynchronicznie. Dane powinny być przetwarzane tak szybko, jak to możliwe, a następnie przetwarzane. Powszechnym błędem projektowym jest próba przetwarzania danych w czasie rzeczywistym, gdy tylko przychodzą. Działa to tak długo, jak długo dane mają stały i mały rozmiar, ale jeśli rozmiar danych może wzrosnąć lub być niespójny, najlepiej jest upewnić się, że dane są odbierane, a żądanie HTTP jest obsługiwane, aby uniknąć przekroczeń czasu oczekiwania.

Kolejną rzeczą, która może pomóc w złagodzeniu długoterminowych procesów, jest przechowywanie przesłanych danych i użycie funkcji serverless do uruchamiania procesów konteneryzowanych z wykorzystaniem takich narzędzi jak Azure Container Services (AKS), aby obsłużyć długoterminowe części. Używając tego projektu, funkcja serverless powinna uruchomić kontener i zapomnieć o nim, pozwalając kontenerowi opublikować swoje wyniki albo do dziennika, albo do innej usługi powiadamiania według własnego wyboru. Utrzymuje to funkcję serverless jak najkrótszą, jednocześnie pozwalając na skomplikowane przetwarzanie.

Najczęstszym pułapką, która dotyka ludzi pracujących z konsumpcją webhooków i funkcjami serverless, jest to, że funkcja działa zbyt długo. To albo powoduje, że funkcja staje się bardzo kosztowna, albo całkowicie zawodzi, ponieważ webhook POST przekracza czas oczekiwania. Istnieje kilka rzeczy, które możesz zrobić, aby złagodzić te problemy.

Konsumenci webhooków powinni działać asynchronicznie. Dane powinny być przetwarzane tak szybko, jak to możliwe, a następnie przetwarzane. Powszechnym błędem projektowym jest próba przetwarzania danych w czasie rzeczywistym, gdy tylko przychodzą. Działa to tak długo, jak długo dane mają stały i mały rozmiar, ale jeśli rozmiar danych może wzrosnąć lub być niespójny, najlepiej jest upewnić się, że dane są odbierane, a żądanie HTTP jest obsługiwane, aby uniknąć przekroczeń czasu oczekiwania.

Kolejną rzeczą, która może pomóc w złagodzeniu długoterminowych procesów, jest przechowywanie przesłanych danych i użycie funkcji serverless do uruchamiania procesów konteneryzowanych z wykorzystaniem takich narzędzi jak Azure Container Services (AKS), aby obsłużyć długoterminowe części. Używając tego projektu, funkcja serverless powinna uruchomić kontener i zapomnieć o nim, pozwalając kontenerowi opublikować swoje wyniki albo do dziennika, albo do innej usługi powiadamiania według własnego wyboru. Utrzymuje to funkcję serverless jak najkrótszą, jednocześnie pozwalając na skomplikowane przetwarzanie.

Najczęstszym pułapką, która dotyka ludzi pracujących z konsumpcją webhooków i funkcjami serverless, jest to, że funkcja działa zbyt długo. To albo powoduje, że funkcja staje się bardzo kosztowna, albo całkowicie zawodzi, ponieważ webhook POST przekracza czas oczekiwania. Istnieje kilka rzeczy, które możesz zrobić, aby złagodzić te problemy.

Konsumenci webhooków powinni działać asynchronicznie. Dane powinny być przetwarzane tak szybko, jak to możliwe, a następnie przetwarzane. Powszechnym błędem projektowym jest próba przetwarzania danych w czasie rzeczywistym, gdy tylko przychodzą. Działa to tak długo, jak długo dane mają stały i mały rozmiar, ale jeśli rozmiar danych może wzrosnąć lub być niespójny, najlepiej jest upewnić się, że dane są odbierane, a żądanie HTTP jest obsługiwane, aby uniknąć przekroczeń czasu oczekiwania.

Kolejną rzeczą, która może pomóc w złagodzeniu długoterminowych procesów, jest przechowywanie przesłanych danych i użycie funkcji serverless do uruchamiania procesów konteneryzowanych z wykorzystaniem takich narzędzi jak Azure Container Services (AKS), aby obsłużyć długoterminowe części. Używając tego projektu, funkcja serverless powinna uruchomić kontener i zapomnieć o nim, pozwalając kontenerowi opublikować swoje wyniki albo do dziennika, albo do innej usługi powiadamiania według własnego wyboru. Utrzymuje to funkcję serverless jak najkrótszą, jednocześnie pozwalając na skomplikowane przetwarzanie.

Interfejs webhooka Azure Functions

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 rzeczy, abyś zrozumiał podstawy Azure Function, oraz rozwinie rozwiązanie frameworka znalezione na Github.

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 rzeczy, abyś zrozumiał podstawy Azure Function, oraz rozwinie rozwiązanie frameworka znalezione na Github.

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 rzeczy, abyś zrozumiał podstawy Azure Function, oraz rozwinie rozwiązanie frameworka znalezione na Github.

Czym są Webhooki?

Webhooks to świetne małe rzeczy oferowane przez wiele popularnych usług, w tym SparkPost, Slack, Visual Studio Team Services, Office 365, Facebook, PayPal i Salesforce. Webhooki przesyłają dane na podstawie zdarzenia do punktu końcowego, który definiujesz.

Webhooks to świetne małe rzeczy oferowane przez wiele popularnych usług, w tym SparkPost, Slack, Visual Studio Team Services, Office 365, Facebook, PayPal i Salesforce. Webhooki przesyłają dane na podstawie zdarzenia do punktu końcowego, który definiujesz.

Webhooks to świetne małe rzeczy oferowane przez wiele popularnych usług, w tym SparkPost, Slack, Visual Studio Team Services, Office 365, Facebook, PayPal i Salesforce. Webhooki przesyłają dane na podstawie zdarzenia do punktu końcowego, który definiujesz.

Dlaczego funkcje bezserwerowe?

Funkcje bezserwerowe to wspaniała innowacja, która pomaga szybko wdrażać rozwiązania, jednocześnie redukując obciążenie dla organizacji. Brak sprzętu do utrzymania to wielka korzyść, a funkcje bezserwerowe są w stanie obsługiwać nieprzewidywalne przepływy ruchu. Są łatwe do wdrożenia i aktualizacji, dzięki czemu można szybko rozpocząć pracę.

Funkcje bezserwerowe to wspaniała innowacja, która pomaga szybko wdrażać rozwiązania, jednocześnie redukując obciążenie dla organizacji. Brak sprzętu do utrzymania to wielka korzyść, a funkcje bezserwerowe są w stanie obsługiwać nieprzewidywalne przepływy ruchu. Są łatwe do wdrożenia i aktualizacji, dzięki czemu można szybko rozpocząć pracę.

Funkcje bezserwerowe to wspaniała innowacja, która pomaga szybko wdrażać rozwiązania, jednocześnie redukując obciążenie dla organizacji. Brak sprzętu do utrzymania to wielka korzyść, a funkcje bezserwerowe są w stanie obsługiwać nieprzewidywalne przepływy ruchu. Są łatwe do wdrożenia i aktualizacji, dzięki czemu można szybko rozpocząć pracę.

Synergia!

Łączenie webhooków i funkcji serverless sprawia, że bardzo łatwo jest tworzyć bogate ekosystemy do automatyzacji lub interakcji z użytkownikiem. Możliwość wykorzystania zdarzeń i danych generowanych przez wszystkie te różne systemy eliminuje potrzebę skomplikowanego oprogramowania pośredniczącego, jednocześnie ułatwiając włączenie niestandardowego kodu i zdarzeń.

Łączenie webhooków i funkcji serverless sprawia, że bardzo łatwo jest tworzyć bogate ekosystemy do automatyzacji lub interakcji z użytkownikiem. Możliwość wykorzystania zdarzeń i danych generowanych przez wszystkie te różne systemy eliminuje potrzebę skomplikowanego oprogramowania pośredniczącego, jednocześnie ułatwiając włączenie niestandardowego kodu i zdarzeń.

Łączenie webhooków i funkcji serverless sprawia, że bardzo łatwo jest tworzyć bogate ekosystemy do automatyzacji lub interakcji z użytkownikiem. Możliwość wykorzystania zdarzeń i danych generowanych przez wszystkie te różne systemy eliminuje potrzebę skomplikowanego oprogramowania pośredniczącego, jednocześnie ułatwiając włączenie niestandardowego kodu i zdarzeń.

Podstawy Azure Functions

Funkcje Azure można tworzyć za pomocą konsoli Azure lub Visual Studio. Rekomenduję, abyś spróbował obu opcji, aby zapoznać się z doświadczeniem. Jedną z przyjemnych rzeczy przy tworzeniu czegoś w konsoli Azure jest to, że możesz pobrać powstałą funkcję Azure jako plik rozwiązania Visual Studio. Visual Studio to ta sama znana i lubiana silna aplikacja IDE.

Oba metody mają swoje zalety. Konsola funkcji Azure daje bezpośredni dostęp do kontroli parametrów działania funkcji, począwszy od zasobów dostępnych do miesięcznych limitów użytkowania w celu kontroli kosztów. Wszystkie te opcje można ustawić i manipulować nimi z poziomu Visual Studio przez plik host.json i zmienne środowiskowe.

Funkcje Azure można tworzyć za pomocą konsoli Azure lub Visual Studio. Rekomenduję, abyś spróbował obu opcji, aby zapoznać się z doświadczeniem. Jedną z przyjemnych rzeczy przy tworzeniu czegoś w konsoli Azure jest to, że możesz pobrać powstałą funkcję Azure jako plik rozwiązania Visual Studio. Visual Studio to ta sama znana i lubiana silna aplikacja IDE.

Oba metody mają swoje zalety. Konsola funkcji Azure daje bezpośredni dostęp do kontroli parametrów działania funkcji, począwszy od zasobów dostępnych do miesięcznych limitów użytkowania w celu kontroli kosztów. Wszystkie te opcje można ustawić i manipulować nimi z poziomu Visual Studio przez plik host.json i zmienne środowiskowe.

Funkcje Azure można tworzyć za pomocą konsoli Azure lub Visual Studio. Rekomenduję, abyś spróbował obu opcji, aby zapoznać się z doświadczeniem. Jedną z przyjemnych rzeczy przy tworzeniu czegoś w konsoli Azure jest to, że możesz pobrać powstałą funkcję Azure jako plik rozwiązania Visual Studio. Visual Studio to ta sama znana i lubiana silna aplikacja IDE.

Oba metody mają swoje zalety. Konsola funkcji Azure daje bezpośredni dostęp do kontroli parametrów działania funkcji, począwszy od zasobów dostępnych do miesięcznych limitów użytkowania w celu kontroli kosztów. Wszystkie te opcje można ustawić i manipulować nimi z poziomu Visual Studio przez plik host.json i zmienne środowiskowe.

Tworzenie podstawowego konsumenta webhooków

Krok 1

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

Visual studio editor

Krok 2

Kliknij prawym przyciskiem myszy węzeł projektu i dodaj nowy element. Wybierz funkcję Azure.


Visual studio editor

Krok 3

Teraz masz bardzo znajomy projekt Visual Studio. Powinieneś mieć szablon podstawowej funkcji Azure w C#. Czas zbudować trochę kodu, aby obsłużyć swój webhook.

Visual studio editor

Krok 4

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

Debugging console

Krok 5

Opublikuj funkcję Azure. Kliknij prawym przyciskiem myszy węzeł projektu i wybierz Publikuj. Wybierz funkcję Azure i utwórz nową. Zauważ, że możesz 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 nowy projekt do tego rozwiązania.

Visual studio editor

Krok 2

Kliknij prawym przyciskiem myszy węzeł projektu i dodaj nowy element. Wybierz funkcję Azure.


Visual studio editor

Krok 3

Teraz masz bardzo znajomy projekt Visual Studio. Powinieneś mieć szablon podstawowej funkcji Azure w C#. Czas zbudować trochę kodu, aby obsłużyć swój webhook.

Visual studio editor

Krok 4

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

Debugging console

Krok 5

Opublikuj funkcję Azure. Kliknij prawym przyciskiem myszy węzeł projektu i wybierz Publikuj. Wybierz funkcję Azure i utwórz nową. Zauważ, że możesz 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 nowy projekt do tego rozwiązania.

Visual studio editor

Krok 2

Kliknij prawym przyciskiem myszy węzeł projektu i dodaj nowy element. Wybierz funkcję Azure.


Visual studio editor

Krok 3

Teraz masz bardzo znajomy projekt Visual Studio. Powinieneś mieć szablon podstawowej funkcji Azure w C#. Czas zbudować trochę kodu, aby obsłużyć swój webhook.

Visual studio editor

Krok 4

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

Debugging console

Krok 5

Opublikuj funkcję Azure. Kliknij prawym przyciskiem myszy węzeł projektu i wybierz Publikuj. Wybierz funkcję Azure i utwórz nową. Zauważ, że możesz również zaktualizować istniejącą funkcję. Funkcja pojawi się teraz w konsoli Azure.

Visual studio editor

Inne wiadomości

Przeczytaj więcej z tej kategorii

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

Kompletna platforma oparta na sztucznej inteligencji, która rośnie wraz z Twoim biznesem.

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

Kompletna platforma oparta na sztucznej inteligencji, która rośnie wraz z Twoim biznesem.