Een door een webhook geactiveerde functie maken
U hebt besloten om Azure Functions te gebruiken om de GitHub-wiki van het bedrijf te bewaken voor updates. Elke keer dat de wiki wordt bijgewerkt, wilt u een functie kunnen activeren die details over de update kan verwerken (zoals bijgewerkte datum, naam van de inzender, enzovoort). De eerste stap is het maken van een Azure-functie-app die een functie bevat die wordt geactiveerd door een webhook.
In dit gedeelte leert u meer over de voordelen van het gebruik van webhooks en hoe u met webhooks een Azure-functie kunt activeren.
Wat is een webhook?
Webhooks zijn door de gebruiker gedefinieerde HTTP-callbacks. Ze worden geactiveerd door een bepaalde gebeurtenis, zoals het pushen van code naar een opslagplaats of het bijwerken van een wikipagina. Wanneer de gebeurtenis zich voordoet, verzendt de bronsite een HTTP-aanvraag aan de voor de webhook geconfigureerde URL. Met Azure Functions kunnen we logica definiëren in een functie die wordt uitgevoerd wanneer een webhookbericht wordt ontvangen.
Een veel voorkomend gebruik van webhooks in een DevOps-omgeving is het melden van een Azure-functie die de code of configuratie voor een toepassing heeft gewijzigd in GitHub. De nettolading van het bericht dat is verzonden via de webhook bevat de details van de gebeurtenis. U kunt de webhook met een functie gebruiken om een taak uit te voeren, zoals de implementatie van de bijgewerkte versie van de toepassing.
Wat is Azure Functions?
Azure Functions is een ‘serverloze’ rekenservice. Hiermee kunt u code uitvoeren zonder dat u expliciet infrastructuur hoeft aan te bieden of te beheren. U kunt Azure Functions gebruiken om een script of code uit te voeren als reactie op verschillende gebeurtenissen.
Een Trigger zorgt ervoor dat een functie wordt uitgevoerd. Via een trigger wordt bepaald hoe een functie wordt aangeroepen. Een functie moet precies één trigger hebben. Aan triggers zijn gegevens gekoppeld. Meestal is dit de nettolading waarmee de functie is geactiveerd.
Een Binding wordt gebruikt voor het verbinden van een resource aan een functie. U kunt invoer- en uitvoerbindingen definiëren. Gegevens van een binding worden als parameters aan de functie geleverd. Met een binding kunt u bijvoorbeeld een database koppelen aan uw Azure Functions-code. Daardoor hoeft u de database niet aan de functie te koppelen met verbindingscode. Bindingen zijn optioneel en een functie kan een of meerdere invoer- en/of uitvoerbindingen hebben.