Lab 02: Implementieren der Aufgabenverarbeitungslogik mittels Azure Functions
Microsoft Azure-Benutzeroberfläche
Aufgrund der dynamischen Natur der Microsoft-Cloudtools kann es vorkommen, dass sich die Azure-Benutzeroberfläche nach der Entwicklung dieses Trainingsinhalts ändert. Daher sind die Lab-Anweisungen und Lab-Schritte möglicherweise nicht mehr zutreffend.
Microsoft aktualisiert diesen Trainingskurs, wenn die Community uns über die erforderlichen Änderungen informiert. Cloudupdates kommen jedoch häufig vor, sodass möglicherweise Änderungen an der Benutzeroberfläche auftreten, bevor diese Trainingsinhalte aktualisiert werden. Wenn dies der Fall ist, stellen Sie sich auf die Veränderungen ein, und arbeiten Sie sie bei Bedarf in den Labs durch.
Anweisungen
Vorbereitung
Anmelden bei der Laborumgebung
Melden Sie sich mithilfe der folgenden Anmeldeinformationen bei Ihrer Windows 11-VM an:
- Benutzername:
Admin
- Kennwort:
Pa55w.rd
Hinweis: Ihr Kursleiter stellt Anweisungen zum Herstellen einer Verbindung mit der virtuellen Laborumgebung zur Verfügung.
Überprüfen der installierten Anwendungen
Suchen Sie auf Ihrem Windows 11-Desktop nach der Taskleiste. Die Taskleiste enthält die Symbole für die Anwendungen, die Sie in diesem Lab verwenden, darunter:
- Microsoft Edge
- Datei-Explorer
- Terminal
- Visual Studio Code
Übungsszenario
In diesem Lab zeigen Sie, wie eine einfache Azure-Funktion erstellt werden kann, die Text zurückgibt, der eingegeben und mithilfe von HTTP POST-Befehlen an die Funktion gesendet wird. Dadurch wird veranschaulicht, wie die Funktion über HTTP ausgelöst werden kann.
Außerdem zeigen Sie, wie eine Azure-Funktion ausgeführt wird, indem Sie sie auf einen festen Zeitplan festlegen. Die Funktion schreibt jedes Mal, wenn der Zeitplan ausgelöst wird, eine Nachricht in ein Protokoll.
Schließlich veranschaulichen Sie, wie eine Azure-Funktion eine Verbindung mit anderen Azure-Ressourcen herstellen kann, z. B. mit einem Speicherkonto. Die Funktion stellt eine Verbindung mit einem Speicherkonto her, das Sie erstellen, und gibt den Inhalt einer Datei zurück, die im Azure-Speicherkonto gespeichert ist.
Sehen Sie sich dieses Video an, indem Sie mit der rechten Maustaste auf diesen Videolink klicken und dann „Link in neuem Tab öffnen“ oder „Link in neuem Fenster öffnen“ auswählen.
Architekturdiagramm
Übung 1: Erstellen von Azure-Ressourcen
Aufgabe 1: Öffnen des Azure-Portals
- Wählen Sie auf der Taskleiste das Symbol Microsoft Edge aus.
-
Wechseln Sie im Browserfenster zum Azure-Portal unter
https://portal.azure.com
, und melden Sie sich dann mit dem Konto an, das Sie für dieses Lab verwenden werden.Hinweis: Wenn Sie sich zum ersten Mal am Azure-Portal anmelden, wird Ihnen eine Tour durch das Portal angeboten. Wenn Sie die Tour lieber überspringen möchten, wählen Sie Erste Schritte aus, um mit der Verwendung des Portals zu beginnen.
Aufgabe 2: Erstellen eines Azure-Speicherkontos
-
Verwenden Sie im Azure-Portal das Textfeld Ressourcen, Dienste und Dokumente durchsuchen, um nach Speicherkonten zu suchen, und wählen Sie dann in der Ergebnisliste Speicherkonten aus.
-
Wählen Sie auf dem Blatt Speicherkonten die Option + Erstellen aus.
-
Führen Sie auf der Registerkarte Grundlagen des Blatts Speicherkonto erstellen die folgenden Aktionen aus, und wählen Sie dann Überprüfen aus:
Einstellung Aktion Dropdownliste Abonnement Übernehmen Sie den Standardwert. Abschnitt Ressourcengruppe Wählen Sie Neu erstellen aus, geben Sie Serverlos ein, und wählen Sie dann OK aus. Textfeld Speicherkontoname Geben Sie funcstor [Ihr Name] ein. Dropdownliste Region Wählen Sie USA, Osten aus. Abschnitt Leistung Wählen Sie die Option Standard aus. Dropdownliste Redundanz Wählen Sie Lokal redundanter Speicher (LRS) aus. Der folgende Screenshot zeigt die konfigurierten Einstellungen im Blatt Speicherkonto erstellen.
-
Überprüfen Sie auf der Registerkarte Überprüfen die Optionen, die Sie in den vorherigen Schritten ausgewählt haben.
-
Wählen Sie Erstellen aus, um das Speicherkonto mithilfe Ihrer angegebenen Konfiguration zu erstellen.
Hinweis: Warten Sie, bis die Erstellungsaufgabe abgeschlossen ist, bevor Sie mit diesem Lab fortfahren.
-
Wählen Sie auf dem Blatt Übersicht die Schaltfläche Gehe zu Ressource aus, um zum Blatt des neu erstellten Speicherkontos zu navigieren.
-
Wählen Sie auf dem Blatt Speicherkonto im Abschnitt Sicherheit + Netzwerk den Eintrag Zugriffsschlüssel aus.
-
Wählen Sie auf dem Blatt Zugriffsschlüssel die Option Schlüssel anzeigen aus.
-
Überprüfen Sie auf dem Blatt Zugriffsschlüssel eine der Verbindungszeichenfolgen (mithilfe der Schaltfläche Anzeigen), und notieren Sie dann den Wert einer der Verbindungszeichenfolgen im Editor. Die Schlüssel sind plattformverwaltete Verschlüsselungsschlüssel und werden für dieses Lab nicht verwendet.
Hinweis: Es spielt keine Rolle, welche Verbindungszeichenfolge Sie auswählen. Sie können synonym verwendet werden.
-
Öffnen Sie Editor, und fügen Sie dann den kopierten Verbindungszeichenfolgenwert in Editor ein. Sie verwenden diesen Wert später in diesem Lab.
Aufgabe 3: Erstellen einer Funktions-App
-
Wählen Sie im Navigationsbereich des Azure-Portals den Link Ressource erstellen aus.
-
Geben Sie auf dem Blatt Ressource erstellen im Textfeld Dienste und Marketplace durchsuchen den Text Funktion ein, und drücken Sie dann die EINGABETASTE.
-
Wählen Sie auf dem Blatt mit den Marketplace-Suchergebnissen das Ergebnis Funktions-App aus.
-
Wählen Sie auf dem Blatt Funktions-App die Option Erstellen aus.
-
Stellen Sie auf dem Blatt Funktions-App erstellen sicher, dass der Hostingplan Verbrauch ausgewählt ist, und klicken Sie dann auf Auswählen.
-
Führen Sie auf dem Blatt Funktions-App erstellen (Verbrauch) auf der Registerkarte Grundlagen die folgenden Aktionen aus, und wählen Sie Weiter: Speicher aus:
Einstellung Aktion Dropdownliste Abonnement Übernehmen Sie den Standardwert. Abschnitt Ressourcengruppe Wählen Sie Serverlos aus. Textfeld Name der Funktions-App Geben Sie funclogic [Ihr Name] ein. Dropdownliste Laufzeitstapel Wählen Sie .NET aus. Dropdownliste Version Wählen Sie das isolierte Workermodell 8 (LTS) aus. Dropdownliste Region Wählen Sie die Region USA, Osten aus. Option Betriebssystem Wählen Sie Linux aus. Der folgende Screenshot veranschaulicht die konfigurierten Einstellungen auf dem Blatt Funktions-App erstellen.
-
Führen Sie auf der Registerkarte Speicher die folgenden Aktionen aus, und wählen Sie dann Überprüfen + erstellen aus:
Einstellung Aktion Dropdownliste Speicherkonto Wählen Sie das Speicherkonto funcstor [Ihr Name] aus. -
Überprüfen Sie auf der Registerkarte Überprüfen und erstellen die Optionen, die Sie in den vorherigen Schritten ausgewählt haben.
-
Wählen Sie Erstellen aus, um die Funktions-App mit Ihrer angegebenen Konfiguration zu erstellen.
Hinweis: Warten Sie, bis der Erstellungstask abgeschlossen ist, bevor Sie mit diesem Lab fortfahren.
Überprüfung
In dieser Übung haben Sie alle Ressourcen erstellt, die Sie in diesem Lab verwenden werden.
Übung 2: Konfigurieren eines lokalen Azure Functions-Projekts
Aufgabe 1: Initialisieren eines Funktionsprojekts
-
Wählen Sie auf der Taskleiste das Symbol Terminal aus.
-
Führen Sie den folgenden Befehl aus, um vom aktuellen Verzeichnis in das leere Verzeichnis Allfiles (F):\Allfiles\Labs\02\Starter\func zu wechseln:
cd F:\Allfiles\Labs\02\Starter\func
Hinweis: Entfernen Sie in Windows-Explorer das schreibgeschützte Attribut aus der Datei F:\Allfiles\Labs\02\Starter\func\.gitignore.
-
Führen Sie den folgenden Befehl aus, um mithilfe der Azure Functions Core Tools und unter Verwendung der dotnet-isolated-Runtime ein neues lokales Azure Functions-Projekt im aktuellen Verzeichnis zu erstellen:
func init --worker-runtime dotnet-isolated --target-framework net8.0 --force
Hinweis: Sie können die Dokumentation zum [Erstellen eines neuen Projekts][azure-functions-core-tools-new-project] mithilfe der Azure Functions Core Tools lesen.
-
Schließen Sie die Terminalanwendung.
Aufgabe 2: Konfigurieren einer Verbindungszeichenfolge
- Wählen Sie auf dem Startbildschirm die Kachel Visual Studio Code aus.
- Klicken Sie im Menü Datei auf Ordner öffnen.
- Suchen Sie im Fenster Datei-Explorer, das geöffnet wird, nach Allfiles (F):\Allfiles\Labs\02\Starter\func, und wählen Sie dann Ordner auswählen aus.
- Öffnen Sie im Explorer-Bereich des Visual Studio Code-Fensters die Datei local.settings.json.
-
Beachten Sie den aktuellen Wert der Einstellung AzureWebJobsStorage:
"AzureWebJobsStorage": "UseDevelopmentStorage=true",
- Ändern Sie den Wert des Elements AzureWebJobsStorage in die Verbindungszeichenfolge des Speicherkontos, die Sie sich zuvor in diesem Lab notiert haben.
- Speichern Sie die Datei local.settings.json.
Aufgabe 3: Erstellen und Überprüfen eines Projekts
- Wählen Sie auf der Taskleiste das Symbol Terminal aus.
-
Führen Sie den folgenden Befehl aus, um vom aktuellen Verzeichnis in das Verzeichnis Allfiles (F):\Allfiles\Labs\02\Starter\func zu wechseln:
cd F:\Allfiles\Labs\02\Starter\func
-
Führen Sie den folgenden Befehl aus, um das .NET-Projekt zu kompilieren:
dotnet build
Überprüfung
In dieser Übung haben Sie ein lokales Projekt erstellt, das für die Azure Functions-Entwicklung verwendet werden soll.
Übung 3: Erstellen einer Funktion, die von einer HTTP-Anforderung ausgelöst wird
Aufgabe 1: Erstellen einer durch HTTP ausgelösten Funktion
- Wählen Sie auf der Taskleiste das Symbol Terminal aus.
-
Führen Sie den folgenden Befehl aus, um vom aktuellen Verzeichnis in das Verzeichnis Allfiles (F):\Allfiles\Labs\02\Starter\func zu wechseln:
cd F:\Allfiles\Labs\02\Starter\func
-
Führen Sie den folgenden Befehl aus, um die Azure Functions Core Tools zu verwenden, um mithilfe der HTTP-Trigger-Vorlage eine neue Funktion namens Echo zu erstellen:
func new --template "HTTP trigger" --name "Echo"
Hinweis: Sie können die Dokumentation zum [Erstellen einer neuen Funktion][azure-functions-core-tools-new-function] mithilfe der Azure Functions Core Tools lesen.
- Schließen Sie die aktuell ausgeführte Terminalanwendung.
Aufgabe 2: Schreiben von durch HTTP ausgelöstem Funktionscode
- Wählen Sie auf dem Startbildschirm die Kachel Visual Studio Code aus.
- Klicken Sie im Menü Datei auf Ordner öffnen.
- Suchen Sie im Fenster Datei-Explorer, das geöffnet wird, nach Allfiles (F):\Allfiles\Labs\02\Starter\func, und wählen Sie dann Ordner auswählen aus.
-
Öffnen Sie im Explorer-Bereich des Visual Studio Code-Fensters die Datei Echo.cs.
-
Löschen Sie den gesamten Inhalt in der Datei Echo.cs, und fügen Sie den folgenden Code hinzu. Er definiert eine von HTTP ausgelöste Funktion namens „Echo“, die eine POST-Anforderung akzeptiert und den Anforderungstext zurückgibt. Die ILogger-Schnittstelle wird auch zum Protokollieren von Informationen verwendet. Diese Funktion kann verwendet werden, um HTTP-Anforderungen und -Antworten zu testen.
using System.Net; using Microsoft.Azure.Functions.Worker; using Microsoft.Azure.Functions.Worker.Http; using Microsoft.Extensions.Logging; namespace func { public class Echo { private readonly ILogger _logger; public Echo(ILoggerFactory loggerFactory) { _logger = loggerFactory.CreateLogger<Echo>(); } [Function("Echo")] public HttpResponseData Run([HttpTrigger(AuthorizationLevel.Function, "get", "post")] HttpRequestData req) { _logger.LogInformation("C# HTTP trigger function processed a request."); var response = req.CreateResponse(HttpStatusCode.OK); response.Headers.Add("Content-Type", "text/plain; charset=utf-8"); StreamReader reader = new StreamReader(req.Body); string requestBody = reader.ReadToEnd(); response.WriteString(requestBody); return response; } } }
- Wählen Sie Speichern aus, um Ihre Änderungen in der Datei Echo.cs zu speichern.
Aufgabe 3: Testen der durch HTTP ausgelösten Funktion mittels curl
- Wählen Sie auf der Taskleiste das Symbol Terminal aus.
-
Führen Sie den folgenden Befehl aus, um vom aktuellen Verzeichnis in das Verzeichnis Allfiles (F):\Allfiles\Labs\02\Starter\func zu wechseln:
cd F:\Allfiles\Labs\02\Starter\func
-
Führen Sie den folgenden Befehl aus, um das Funktions-App-Projekt auszuführen:
func start --build
Hinweis: Sie können die Dokumentation lesen, um das Funktions-App-Projekt lokal mithilfe von Azure Functions Core Tools zu beginnen.
-
Starten Sie auf dem Lab-Computer die Eingabeaufforderung.
-
Führen Sie den folgenden Befehl aus, um den REST-API-Aufruf POST auszuführen und mit
http://localhost:7071/api/echo
zu testen, wobei der HTTP-Anforderungstext auf einen numerischen Wert von 3 festgelegt ist:curl -X POST -i http://localhost:7071/api/echo -d 3
-
Führen Sie den folgenden Befehl aus, um den REST-API-Aufruf POST mit
http://localhost:7071/api/echo
zu testen, wobei der HTTP-Anforderungstext auf einen numerischen Wert von 5 festgelegt ist:curl -X POST -i http://localhost:7071/api/echo -d 5
-
Führen Sie den folgenden Befehl aus, um den REST-API-Aufruf POST mit
http://localhost:7071/api/echo
zu testen, wobei der HTTP-Anforderungstext auf den Zeichenfolgenwert Hello festgelegt ist:curl -X POST -i http://localhost:7071/api/echo -d "Hello"
-
Führen Sie den folgenden Befehl aus, um den REST-API-Aufruf POST mit
http://localhost:7071/api/echo
zu testen, wobei der HTTP-Anforderungstext auf den JSON-Wert (JavaScript Object Notation) {“msg”: “Successful”} festgelegt ist:curl -X POST -i http://localhost:7071/api/echo -d "{"msg": "Successful"}"
- Schließen Sie alle aktuell ausgeführten Instanzen der Terminalanwendung und der Eingabeaufforderung.
Überprüfung
In dieser Übung haben Sie eine einfache Funktion erstellt, die den über eine HTTP POST-Anforderung gesendeten Inhalt wiederholt.
Übung 4: Erstellen einer Funktion, die nach einem Zeitplan ausgelöst wird
Aufgabe 1: Erstellen einer nach Zeitplan ausgelösten Funktion
- Wählen Sie auf der Taskleiste das Symbol Terminal aus.
-
Führen Sie den folgenden Befehl aus, um vom aktuellen Verzeichnis in das Verzeichnis Allfiles (F):\Allfiles\Labs\02\Starter\func zu wechseln:
cd F:\Allfiles\Labs\02\Starter\func
-
Führen Sie im Terminal den folgenden Befehl aus, um mithilfe der Azure Functions Core Tools eine neue Funktion namens Recurring (Wiederkehrend) zu erstellen (mit der Vorlage Timetrigger):
func new --template "Timer trigger" --name "Recurring"
Hinweis: Sie können die Dokumentation zum [Erstellen einer neuen Funktion][azure-functions-core-tools-new-function] mithilfe der Azure Functions Core Tools lesen.
- Schließen Sie die aktuell ausgeführte Terminalanwendung.
Aufgabe 2: Beobachten des Funktionscodes
- Wählen Sie auf dem Startbildschirm die Kachel Visual Studio Code aus.
- Klicken Sie im Menü Datei auf Ordner öffnen.
- Suchen Sie im Fenster Datei-Explorer, das geöffnet wird, nach Allfiles (F):\Allfiles\Labs\02\Starter\func, und wählen Sie dann Ordner auswählen aus.
- Öffnen Sie im Explorer-Bereich des Visual Studio Code-Fensters die Datei Recurring.cs.
-
Sehen Sie sich im Code-Editor die Implementierung an:
using System; using Microsoft.Azure.Functions.Worker; using Microsoft.Extensions.Logging; namespace func { public class Recurring { private readonly ILogger _logger; public Recurring(ILoggerFactory loggerFactory) { _logger = loggerFactory.CreateLogger<Recurring>(); } [Function("Recurring")] public void Run([TimerTrigger("0 */5 * * * *")] TimerInfo myTimer) { _logger.LogInformation($"C# Timer trigger function executed at: {DateTime.Now}"); if (myTimer.ScheduleStatus is not null) { _logger.LogInformation($"Next timer schedule at: {myTimer.ScheduleStatus.Next}"); } } } }
- Ersetzen Sie
"0 */5 * * * *"
in Zeile 17 durch"0 */1 * * * *"
, um das Intervall für die Wiederholungshäufigkeit auf 1 Minute statt 5 Minuten festzulegen und speichern Sie die Änderung.
Aufgabe 3: Beobachten von Funktionsausführungen
- Wählen Sie auf der Taskleiste das Symbol Terminal aus.
-
Führen Sie den folgenden Befehl aus, um vom aktuellen Verzeichnis in das Verzeichnis Allfiles (F):\Allfiles\Labs\02\Starter\func zu wechseln:
cd F:\Allfiles\Labs\02\Starter\func
-
Führen Sie im Terminal den folgenden Befehl aus, um das Funktions-App-Projekt auszuführen:
func start --build
Hinweis: Sie können die Dokumentation zum [lokalen Starten des Funktions-App-Projekts][azure-functions-core-tools-start-function] mithilfe der Azure Functions Core Tools lesen.
- Beobachten Sie die Ausführung der Funktion, die etwa jede Minuten erfolgt. Jede Funktionsausführung sollte eine einfache Nachricht im Protokoll rendern.
- Schließen Sie die aktuell ausgeführte Terminalanwendung.
- Schließen Sie das Visual Studio Code-Fenster.
Überprüfung
In dieser Übung haben Sie eine Funktion erstellt, die automatisch nach einem festen Zeitplan ausgeführt wird.
Übung 5: Erstellen einer Funktion, die sich in andere Dienste integriert
Aufgabe 1: Hochladen von Beispielinhalten in Azure Blob Storage
- Wählen im Navigationsbereich des Azure-Portals den Link Ressourcengruppen aus.
- Wählen Sie auf dem Blatt Ressourcengruppen die Ressourcengruppe Serverlos aus, die Sie zuvor in diesem Lab erstellt haben.
- Wählen Sie auf dem Blatt Serverlos das Speicherkonto funcstor [Ihr Name] aus, das Sie zuvor in diesem Lab erstellt haben.
- Wählen Sie auf dem Blatt Speicherkonto den Link Container im Abschnitt Datenspeicher aus.
- Wählen Sie im Abschnitt Container die Option + Container aus.
-
Führen Sie im Popupfenster Neuer Container die folgenden Aktionen aus, und wählen Sie dann Erstellen aus:
Einstellung Aktion Textfeld Name Geben Sie content ein. - Kehren Sie zum Abschnitt Container zurück, und wählen Sie dann den zuletzt erstellten Container content (Inhalt) aus.
- Wählen Sie auf dem Blatt Container die Option Hochladen aus.
-
Führen Sie im Fenster Blob hochladen die folgenden Aktionen aus, und wählen Sie dann Hochladen aus:
Einstellung Aktion Abschnitt Dateien Wählen Sie Nach Dateien durchsuchen aus, oder verwenden Sie das Feature zum Ziehen und Ablegen. Fenster Datei-Explorer Wechseln Sie zu Allfiles (F):\Allfiles\Labs\02\Starter, und wählen Sie zuerst die Datei settings.json und dann Öffnen aus. Kontrollkästchen Überschreiben, falls Dateien bereits vorhanden sind Stellen Sie sicher, dass dieses Kontrollkästchen aktiviert ist. Hinweis: Warten Sie, bis das Blob hochgeladen wurde, bevor Sie mit diesem Lab fortfahren.
Aufgabe 2: Erstellen einer durch HTTP ausgelösten Funktion
- Wählen Sie auf der Taskleiste das Symbol Terminal aus.
-
Führen Sie den folgenden Befehl aus, um vom aktuellen Verzeichnis in das Verzeichnis Allfiles (F):\Allfiles\Labs\02\Starter\func zu wechseln:
cd F:\Allfiles\Labs\02\Starter\func
-
Führen Sie im Terminal den folgenden Befehl aus, um mithilfe der Azure Functions Core Tools eine neue Funktion namens GetSettingInfo mit der HTTP-Trigger-Vorlage zu erstellen:
func new --template "HTTP trigger" --name "GetSettingInfo"
Hinweis: Sie können die Dokumentation zum [Erstellen einer neuen Funktion][azure-functions-core-tools-new-function] mithilfe der Azure Functions Core Tools lesen.
- Schließen Sie die aktuell ausgeführte Terminalanwendung.
Aufgabe 3: Registrieren von Azure Storage Blob-Erweiterungen
- Wählen Sie auf der Taskleiste das Symbol Terminal aus.
-
Führen Sie den folgenden Befehl aus, um vom aktuellen Verzeichnis in das Verzeichnis Allfiles (F):\Allfiles\Labs\02\Starter\func zu wechseln:
cd F:\Allfiles\Labs\02\Starter\func
-
Führen Sie im Terminal den folgenden Befehl aus, um die Erweiterung Microsoft.Azure.Functions.Worker.Extensions.Storage zu registrieren:
dotnet add package Microsoft.Azure.Functions.Worker.Extensions.Storage --version 6.2.0
Aufgabe 4: Schreiben von durch HTTP ausgelöstem Funktionscode mit Blobeingabe
- Wählen Sie auf dem Startbildschirm die Kachel Visual Studio Code aus.
- Klicken Sie im Menü Datei auf Ordner öffnen.
- Suchen Sie im Fenster Datei-Explorer, das geöffnet wird, nach Allfiles (F):\Allfiles\Labs\02\Starter\func, und wählen Sie dann Ordner auswählen aus.
- Öffnen Sie im Explorer-Bereich des Visual Studio Code-Fensters die Datei GetSettingInfo.cs.
-
Ersetzen Sie den Inhalt des automatisch generierten Codes der Funktion GetSettingInfo ab Zeile 17 durch den folgenden Code:
[Function("GetSettingInfo")] public HttpResponseData Run([HttpTrigger(AuthorizationLevel.Function, "get", "post")] HttpRequestData req, [BlobInput("content/settings.json", Connection = "AzureWebJobsStorage")] string blobContent ) { _logger.LogInformation("C# HTTP trigger function processed a request."); _logger.LogInformation($"{blobContent}"); var response = req.CreateResponse(HttpStatusCode.OK); response.Headers.Add("Content-Type", "text/plain; charset=utf-8"); response.WriteString($"{blobContent}"); return response; }
-
Überprüfen Sie den resultierenden Code, der aus folgendem Inhalt bestehen sollte (dieser Code gibt den Inhalt einer JSON-Datei in einem Azure Blob Storage-Container als Antwort auf eine HTTP-GET-Anforderung zurück):
using System.Net; using Microsoft.Azure.Functions.Worker; using Microsoft.Azure.Functions.Worker.Http; using Microsoft.Extensions.Logging; namespace func { public class GetSettingInfo { private readonly ILogger _logger; public GetSettingInfo(ILoggerFactory loggerFactory) { _logger = loggerFactory.CreateLogger<GetSettingInfo>(); } [Function("GetSettingInfo")] public HttpResponseData Run([HttpTrigger(AuthorizationLevel.Function, "get", "post")] HttpRequestData req, [BlobInput("content/settings.json", Connection = "AzureWebJobsStorage")] string blobContent ) { _logger.LogInformation("C# HTTP trigger function processed a request."); _logger.LogInformation($"{blobContent}"); var response = req.CreateResponse(HttpStatusCode.OK); response.Headers.Add("Content-Type", "text/plain; charset=utf-8"); response.WriteString($"{blobContent}"); return response; } } }
- Wählen Sie Speichern aus, um Ihre Änderungen in der Datei GetSettingInfo.cs zu speichern.
Aufgabe 5: Testen der Funktion mit curl
- Wählen Sie auf der Taskleiste das Symbol Terminal aus.
-
Führen Sie im Terminal den folgenden Befehl aus, um das Funktions-App-Projekt auszuführen:
func start --build
Hinweis: Sie können die Dokumentation zum [lokalen Starten des Funktions-App-Projekts][azure-functions-core-tools-start-function] mithilfe der Azure Functions Core Tools lesen.
-
Starten Sie auf dem Lab-Computer die Eingabeaufforderung.
-
Führen Sie den folgenden Befehl aus, um den GET-Aufruf der REST-API für
http://localhost:7071/api/GetSettingInfo
zu testen:curl -X GET -i http://localhost:7071/api/GetSettingInfo
-
Sehen Sie sich den JSON-Inhalt der Antwort der Funktions-App an, der nun Folgendes enthalten sollte:
{ "version": "0.2.4", "root": "/usr/libexec/mews_principal/", "device": { "id": "21e46d2b2b926cba031a23c6919" }, "notifications": { "email": "joseph.price@contoso.com", "phone": "(425) 555-0162 x4151" } }
- Schließen Sie alle aktuell ausgeführten Instanzen der Terminalanwendung und der Eingabeaufforderung.
Überprüfung
In dieser Übung haben Sie eine Funktion erstellt, die den Inhalt einer JSON-Datei aus einem Speicherkonto zurückgibt.
Übung 6: Bereitstellen eines lokalen Funktionsprojekts für eine Azure Functions-App
Aufgabe 1: Bereitstellen mithilfe der Azure Functions Core Tools
- Wählen Sie auf der Taskleiste das Symbol Terminal aus.
-
Führen Sie den folgenden Befehl aus, um vom aktuellen Verzeichnis in das Verzeichnis Allfiles (F):\Allfiles\Labs\02\Starter\func zu wechseln:
cd F:\Allfiles\Labs\02\Starter\func
-
Führen Sie an der Eingabeaufforderung den folgenden Befehl aus, um sich bei der Azure CLI (Command-Line Interface, Befehlszeilenschnittstelle) anzumelden:
az login
- Geben Sie im Microsoft Edge-Browserfenster den Namen und das Kennwort des Microsoft- oder Azure Active Directory-Kontos ein, das Sie in diesem Lab verwenden, und wählen Sie dann Anmelden aus.
- Kehren Sie zum derzeit geöffneten Terminal-Fenster zurück. Warten Sie, bis der Anmeldevorgang abgeschlossen ist.
-
Führen Sie im Terminal den folgenden Befehl aus, um das Funktions-App-Projekt zu veröffentlichen (ersetzen Sie den Platzhalter
<function-app-name>
durch den Namen der Funktions-App, die Sie zuvor in diesem Lab erstellt haben):func azure functionapp publish <function-app-name> --dotnet-version 8.0
Hinweis: Wenn Ihr Funktions-App-Name beispielsweise funclogicstudent lautet, wäre Ihr Befehl
func azure functionapp publish funclogicstudent
. Sie können die Dokumentation zum [Veröffentlichen des lokalen Funktions-App-Projekts][azure-functions-core-tools-publish-azure] mithilfe der Azure Functions Core Tools lesen. - Warten Sie, bis die Bereitstellung fertig gestellt ist, bevor Sie mit dem Lab fortfahren.
- Schließen Sie die aktuell ausgeführte Terminalanwendung.
Aufgabe 2: Überprüfen der Bereitstellung
- Wählen Sie auf der Taskleiste das Symbol für Microsoft Edge aus, und wählen Sie die Registerkarte aus, die das Azure-Portal anzeigt.
- Wählen im Navigationsbereich des Azure-Portals den Link Ressourcengruppen aus.
- Wählen Sie auf dem Blatt Ressourcengruppen die Ressourcengruppe Serverlos aus, die Sie zuvor in diesem Lab erstellt haben.
- Wählen Sie auf dem Blatt Serverlos die Funktions-App funclogic [Ihr Name] aus, die Sie zuvor in diesem Lab erstellt haben.
- Wählen Sie auf dem Blatt Übersicht in der Funktions-App den Bereich Funktionen aus.
- Wählen Sie im Bereich Funktionen die vorhandene GetSettingInfo-Funktion aus.
- Wählen Sie auf dem Blatt Funktion im Abschnitt Entwickler die Option Programmieren und testen aus.
- Wählen Sie im Funktionen-Editor Testen/Ausführen aus.
- Wählen Sie im automatisch angezeigten Bereich in der Dropdownliste HTTP-Methode die Option GET aus.
- Wählen Sie Ausführen aus, um die Funktion zu testen.
-
Überprüfen Sie im HTTP-Antwortinhalt die Ergebnisse der Testausführung. Der JSON-Inhalt sollte nun den folgenden Code enthalten:
{ "version": "0.2.4", "root": "/usr/libexec/mews_principal/", "device": { "id": "21e46d2b2b926cba031a23c6919" }, "notifications": { "email": "joseph.price@contoso.com", "phone": "(425) 555-0162 x4151" } }
Überprüfung
In dieser Übung haben Sie ein lokales Funktionsprojekt in Azure Functions bereitgestellt und überprüft, ob die Funktionen in Azure funktionieren.