Übung: Erstellen einer Azure-Funktion, die von einem Webhook ausgelöst wird

Abgeschlossen

In dieser ersten Übung erstellen Sie Ihren Code, um die GitHub-Wiki-Ereignismeldungen in Azure Functions zu analysieren. Sie konfigurieren die Funktion so, dass sie bei Empfang einer Webhooknachricht ausgeführt wird.

Erstellen einer Funktions-App

  1. Melden Sie sich mit Ihrem MS Learn-Konto beim Azure-Portal an.

  2. Wählen Sie Ressource erstellen. Der Bereich Ressource erstellen wird angezeigt.

  3. Wählen Sie im linken Menübereich unter Kategorien die Option Compute aus, suchen Sie im Suchfeld Search services and marketplace (Dienste und Marketplace durchsuchen) nach Funktions-App, und wählen Sie das Ergebnis aus. Der Bereich Funktions-App wird angezeigt.

  4. Klicken Sie auf Erstellen. Der Bereich Funktions-App erstellen wird angezeigt.

  5. Füllen Sie auf der Registerkarte Grundlagen die folgenden Werte für jede Einstellung aus.

    Hinweis

    Der Name der Funktions-App muss eindeutig sein. Als Struktur wird <Ihr Name oder Ihre Initialen>triggerapp empfohlen. Verwenden Sie diesen Namen immer, wenn in dieser Übung <your-functionapp-name> angezeigt wird.

    Einstellung Wert
    Projektdetails
    Subscription Concierge-Abonnement
    Ressourcengruppe Wählen Sie aus der Dropdownliste die vorhandene Sandboxressourcengruppe [Name der Sandboxressourcengruppe] aus.
    Instanzendetails
    Name der Funktions-App <Name-Ihrer-Funktions-App>
    Veröffentlichen Code
    Laufzeitstapel Node.js
    Version Standardwert akzeptieren
    Region Wählen Sie den nächstgelegenen Standort aus, der auch zu den zulässigen Sandbox-Regionen gehört.
    Betriebssystem
    Betriebssystem Windows
    Hosting
    Hostingoptionen und -pläne Verbrauch (serverlos)

    Mit der kostenlosen Sandbox können Sie Ressourcen in einem Teil der globalen Azure-Regionen erstellen. Wählen Sie eine Region aus der folgenden Liste aus, wenn Sie Ressourcen erstellen:

    • USA, Westen 2
    • USA Süd Mitte
    • USA (Mitte)
    • East US
    • Europa, Westen
    • Asien, Südosten
    • Japan, Osten
    • Brasilien, Süden
    • Australien, Südosten
    • Indien, Mitte
  6. Klicken Sie auf Weiter: Speicher, um die Registerkarte Speicher zu öffnen. Füllen Sie die folgenden Werte für jede Einstellung aus.

    Einstellung Wert
    Storage
    Speicherkonto (Neu)“, und übernehmen Sie den Standardnamen.
  7. Klicken Sie auf Überprüfen + erstellen.

  8. Ihre Einträge werden von Azure überprüft. Klicken Sie anschließend auf Erstellen.

Erstellen eines Webhooks, der durch eine Funktion ausgelöst wird

  1. Wenn Ihre Bereitstellung abgeschlossen ist, wählen Sie Zu Ressource wechseln aus. Der Bereich Übersicht für Ihre Funktions-App wird angezeigt.

  2. Wählen Sie unter Funktionen die Option Im Azure-Portal erstellen aus.

  3. Der Bereich Funktion erstellen wird angezeigt.

  4. Wählen Sie unter Vorlage auswählen die Option HTTP-Trigger und dann Erstellen aus. Der Bereich HttpTrigger1 für Ihre Funktion wird angezeigt. Dieser enthält die Grundeinstellungen für Ihren neuen Trigger.

  5. Klicken Sie auf der linken Seite des Menübereichs unter Developer (Entwickler) auf Programmieren und testen. Der Bereich Programmieren und testen für Ihre Funktion wird angezeigt. Er enthält die JavaScript-Datei, die anhand der Vorlage erstellt wurde. Er sollte in etwa wie der folgende Code aussehen:

    module.exports = async function (context, req) {
        context.log('JavaScript HTTP trigger function processed a request.');
    
        const name = (req.query.name || (req.body && req.body.name));
        const responseMessage = name
            ? "Hello, " + name + ". This HTTP triggered function executed successfully."
            : "This HTTP triggered function executed successfully. Pass a name in the query string or in the request body for a personalized response.";
    
        context.res = {
            // status: 200, /* Defaults to 200 */
            body: responseMessage
        };
    }
    

    Die Datei index.js stellt die vom Portal generierte JavaScript-Funktion dar. Die Anforderung liest den Namen, der entweder als Abfragezeichenfolge oder als Teil des Anforderungstexts übergeben wird, und antwortet mit der Nachricht „Hallo“.

  6. Oberhalb des Codes befindet sich der Pfad mit einer Dropdownliste, die den Dateinamen enthält. Wählen Sie in der Dropdownliste die Option function.json aus. Die anhand der Vorlage erstellte JSON-Datei wird angezeigt. Er sollte in etwa wie der folgende Code aussehen:

    {
        "bindings": [
            {
                "authLevel": "function",
                "type": "httpTrigger",
                "direction": "in",
                "name": "req",
                "methods": [
                    "get",
                    "post"
                ]
            },
            {
                "type": "http",
                "direction": "out",
                "name": "res"
            }
        ]
    }
    

    Die JSON-Bindungen geben an, dass die Funktion von HTTP GET- und POST-Anforderungen ausgelöst wird, die an die URL der Funktions-App weitergeleitet werden.

Auslösen Ihrer Funktion als Test

  1. Klicken Sie in der oberen Menüleiste auf Funktions-URL abrufen.

  2. Wählen Sie im Dialogfeld Funktions-URL abrufen in der Dropdownliste Schlüssel unter Function key (Funktionsschlüssel) die Option Standard aus. Wählen Sie im Feld URL das Symbol In Zwischenablage kopieren aus. Die URL sollte ungefähr wie folgt aussehen:

    https://<your-functionapp-name>.azurewebsites.net/api/HttpTrigger1?code=aUjXIpqdJ0ZHPQuB0SzFegxGJu0nAXmsQBnmkCpJ6RYxleRaoxJ8cQ==
    
  3. Fügen Sie diese URL in einen Browser ein. Fügen Sie am Ende der URL den Abfragezeichenfolgenparameter „&name=<IhrName>“ an, z. B. „&name=Dick und Jane“.

  4. Drücken Sie die EINGABETASTE, um die Anforderung auszuführen. Die von der Funktion zurückgegebene Antwort wird im Browser angezeigt. Diese sieht ungefähr so aus:

    Hello Dick and Jane. This HTTP triggered function executed successfully.
    

Herzlichen Glückwunsch! Sie verfügen jetzt über eine Funktion, die durch eine URL ausgelöst werden kann.