Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
mit Azure Functions können Sie Azure Dienste und andere Ressourcen mit Funktionen verbinden, ohne ihren eigenen Integrationscode schreiben zu müssen. Diese Bindungen, die sowohl Eingabe als auch Ausgabe darstellen, werden innerhalb der Funktionsdefinition deklariert. Daten von Bindungen werden der Funktion als Parameter bereitgestellt. Ein Trigger ist ein spezieller Typ von Eingabebindung. Eine Funktion hat zwar nur einen Trigger, kann aber mehrere Ein- und Ausgabebindungen haben. Weitere Informationen finden Sie unter Azure Functions Trigger und Bindungen Konzepte.
In diesem Artikel erfahren Sie, wie Sie Visual Studio verwenden, um die funktion, die Sie im previous Schnellstartartikel erstellt haben, mit Azure Storage zu verbinden. Die Ausgabebindung, die Sie dieser Funktion hinzufügen, schreibt Daten aus der HTTP-Anforderung in eine Nachricht in einer Azure Queue storage-Warteschlange.
Die meisten Bindungen erfordern eine gespeicherte Verbindungszeichenfolge, die Funktionen zum Zugriff auf den gebundenen Dienst verwenden. Um dies zu vereinfachen, verwenden Sie das Storage Konto, das Sie mit Ihrer Funktions-App erstellt haben. Die Verbindung mit diesem Konto ist bereits in einer App-Einstellung namens AzureWebJobsStorage gespeichert.
Voraussetzungen
Bevor Sie mit diesem Artikel beginnen, sind folgende Schritte erforderlich:
- Schließen Sie Teil 1 des Visual Studio Schnellstarts ab.
- Installieren Sie Azure Storage Explorer. Storage Explorer ist ein Tool, mit dem Sie die von Ihrer Ausgabebindung generierten Warteschlangennachrichten untersuchen können. Storage Explorer wird unter macOS-, Windows- und Linux-basierten Betriebssystemen unterstützt.
- Melden Sie sich bei Ihrem Azure-Abonnement von Visual Studio an.
Herunterladen der Funktions-App-Einstellungen
Im vorherigen Schnellstartartikel haben Sie eine Funktions-App in Azure zusammen mit dem erforderlichen Speicherkonto erstellt. Die connection string für dieses Konto wird sicher in den App-Einstellungen in Azure gespeichert. In diesem Artikel schreiben Sie Nachrichten in eine Speicher-Warteschlange innerhalb desselben Kontos. Um beim lokalen Ausführen der Funktion eine Verbindung mit Ihrem Storage Konto herzustellen, müssen Sie app-Einstellungen in die Datei local.settings.json herunterladen.
Klicken Sie in Solution Explorer mit der rechten Maustaste auf das project, und wählen Sie Publish aus.
Erweitern Sie auf der Registerkarte Publish unter Hosting die drei Punkte (... ) und wählen Sie Manage Azure App Service Einstellungen aus.
Kopieren Sie unter AzureWebJobsStorage den Zeichenfolgenwert Remote in das Feld Lokal, und wählen Sie dann OK aus.
Die Storage-Bindung, die die Einstellung AzureWebJobsStorage für die Verbindung verwendet, kann jetzt bei der lokalen Ausführung eine Verbindung mit Ihrem Warteschlangenspeicher herstellen.
Registrieren von Bindungserweiterungen
Da Sie eine Warteschlangenspeicher-Ausgabebindung verwenden, müssen Sie die Storage-Bindungserweiterung installiert haben, bevor Sie das Projekt ausführen. Mit Ausnahme von HTTP- und Timertriggern werden Bindungen als Erweiterungspakete implementiert.
Wählen Sie im Menü ToolsNuGet Package Manager>Package Manager Console aus.
Führen Sie in der Konsole den folgenden Befehl Install-Package aus, um die Storage Erweiterungen zu installieren:
Install-Package Microsoft.Azure.Functions.Worker.Extensions.Storage.Queues
Jetzt können Sie dem Projekt die Speicher-Ausgabebindung hinzufügen.
Hinzufügen einer Ausgabebindung
In einem C#-project werden die Bindungen als Bindungsattribute für die Funktionsmethode definiert. Bestimmte Definitionen hängen davon ab, ob Ihre App In-Process (C#-Klassenbibliothek) oder in einem isolierten Workerprozess ausgeführt wird.
Öffnen Sie die Datei HttpExample.cs project, und fügen Sie die folgende MultiResponseKlasse hinzu:
public class MultiResponse
{
[QueueOutput("outqueue", Connection = "AzureWebJobsStorage")]
public string[] Messages { get; set; }
public IActionResult HttpResponse { get; set; }
}
Mit der MultiResponse-Klasse können Sie in eine Speicherwarteschlange mit dem Namen outqueue sowie eine HTTP-Erfolgsmeldung schreiben. Da das QueueOutput-Attribut auf ein Zeichenfolgenarray angewendet wird, können mehrere Nachrichten an die Warteschlange gesendet werden.
Die Eigenschaft Connection legt die Verbindungszeichenfolge für das Speicherkonto fest. In diesem Fall können Sie Connection weglassen, da Sie bereits das Standardkonto storage verwenden.
Hinzufügen von Code, der die Ausgabebindung verwendet
Nachdem die Bindung definiert wurde, können Sie das name der Bindung verwenden, um darauf als Attribut in der Funktionssignatur zuzugreifen. Wenn Sie eine Ausgabebindung verwenden, müssen Sie nicht den Azure Storage SDK-Code für die Authentifizierung, das Abrufen eines Warteschlangenverweises oder das Schreiben von Daten verwenden. Die Functions-Runtime und die Warteschlangenausgabebindung übernehmen diese Aufgaben für Sie.
Ersetzen Sie die vorhandene Run Methode durch den folgenden Code:
[Function("HttpExample")]
public MultiResponse Run([HttpTrigger(AuthorizationLevel.Function, "get", "post")] HttpRequest req)
{
_logger.LogInformation("C# HTTP trigger function processed a request.");
var message = "Welcome to Azure Functions!";
// Return a response to both HTTP trigger and storage output binding.
return new MultiResponse()
{
// Write a single message.
Messages = new string[] { message },
HttpResponse = new OkObjectResult(message)
};
}
Lokales Ausführen der Funktion
Um Die Funktion auszuführen, drücken Sie F5 in Visual Studio. Sie müssen unter Umständen eine Firewallausnahme aktivieren, damit die Tools HTTP-Anforderungen verarbeiten können. Autorisierungsebenen werden niemals erzwungen, wenn Sie eine Funktion lokal ausführen.
Kopieren Sie die URL Ihrer Funktion aus der Azure Functions Laufzeitausgabe.
Fügen Sie die URL der HTTP-Anforderung in die Adresszeile des Browsers ein, und führen Sie die Anforderung aus. Im folgenden Bild wird die Antwort auf die lokale GET-Anforderung im Browser angezeigt, die von der Funktion zurückgegeben wird:
Um das Debuggen zu beenden, drücken Sie Shift+F5 in Visual Studio.
Eine neue Warteschlange mit dem Namen outqueue wird von der Functions-Laufzeit in Ihrem Speicherkonto erstellt, wenn die Ausgabebindung zum ersten Mal verwendet wird. Sie verwenden Storage Explorer, um zu überprüfen, ob die Warteschlange zusammen mit der neuen Nachricht erstellt wurde.
Verbinden von Storage Explorer mit Ihrem Konto
Überspringen Sie diesen Abschnitt, wenn Sie bereits Azure Storage Explorer installiert und mit Ihrem Azure-Konto verbunden haben.
Führen Sie das Tool Azure Storage Explorer aus, wählen Sie das Symbol "Verbinden" auf der linken Seite aus, und wählen Sie Add an account aus.
Wählen Sie im Dialogfeld VerbindenEin Azure Konto hinzufügen Ihre Azure Umgebung aus, und wählen Sie dann Sign in... .
Nachdem Sie sich erfolgreich bei Ihrem Konto angemeldet haben, werden alle Azure Abonnements angezeigt, die Ihrem Konto zugeordnet sind. Wählen Sie Ihr Abonnement, und wählen Sie Explorer öffnen aus.
Überprüfen der Ausgabewarteschlange
Erweitern Sie in Storage Explorer den Knoten Queues, und wählen Sie dann die Warteschlange mit dem Namen outqueue aus.
Die Warteschlange enthält die Meldung, die die Warteschlangen-Ausgabebindung erstellt hat, als Sie die per HTTP ausgelöste Funktion ausgeführt haben. Wenn Sie die Funktion mit dem Standardwert
namevon Azure aufgerufen haben, wird die Warteschlangennachricht Name an die Funktion übergeben: Azure.
Führen Sie die Funktion erneut aus, und senden Sie eine andere Anforderung. Daraufhin wird eine neue Nachricht in der Warteschlange angezeigt.
Jetzt ist es an der Zeit, die aktualisierte Funktions-App erneut in Azure zu veröffentlichen.
Erneutes Bereitstellen und Überprüfen der aktualisierten App
Klicken Sie in Solution Explorer mit der rechten Maustaste auf das project, und wählen Sie Publish aus, und wählen Sie dann Publish aus, um die project erneut Azure zu veröffentlichen.
Nach Abschluss der Bereitstellung können Sie die erneut bereitgestellte Funktion wieder in einem Browser testen. Fügen Sie wie zuvor die Abfragezeichenfolge
&name=<yourname>an die URL an.Erneut zeigen Sie die Nachricht in der Speicherwarteschlange an, um zu überprüfen, ob die Ausgabebindung eine neue Nachricht erneut in der Warteschlange generiert.
Bereinigen von Ressourcen
Andere Schnellstarts in dieser Sammlung bauen auf diesem Schnellstart auf. Überspringen Sie die Bereinigung der Ressourcen, falls Sie mit nachfolgenden Schnellstarts, Tutorials oder einem der Dienste, die Sie in diesem Schnellstart erstellt haben, weiterarbeiten möchten.
Resources in Azure beziehen sich auf Funktions-Apps, Funktionen, Speicherkonten usw. Sie werden in Ressourcengruppen zusammengefasst, und sämtliche Inhalte einer Gruppe können durch das Löschen der Gruppe gelöscht werden.
Im Rahmen dieser Schnellstarts haben Sie Ressourcen erstellt. Je nach Ihrem Kontostatus und den Servicepreisen könnten Ihnen für diese Ressourcen Kosten berechnet werden. Nicht mehr benötigte Ressourcen können wie folgt gelöscht werden:
Gehen Sie im Azure-Portal zur Seite Ressourcengruppe.
Von der Seite „Funktions-App“ aus gelangen Sie zu dieser Seite, indem Sie die Registerkarte Übersicht und anschließend unter Ressourcengruppe den Link auswählen.
Vom Dashboard aus gelangen Sie zu dieser Seite, indem Sie Ressourcengruppen und anschließend die Ressourcengruppe auswählen, die Sie für diesen Artikel verwendet haben.
Prüfen Sie auf der Seite Ressourcengruppe die Liste mit den enthaltenen Ressourcen, und vergewissern Sie sich, dass es sich dabei um die Ressourcen handelt, die Sie löschen möchten.
Wählen Sie Ressourcengruppe löschen aus, und folgen Sie den Anweisungen.
Der Löschvorgang kann einige Minuten in Anspruch nehmen. Nach Abschluss des Vorgangs wird kurz eine Benachrichtigung angezeigt. Sie können auch am oberen Seitenrand auf das Glockensymbol klicken, um die Benachrichtigung anzuzeigen.
Nächste Schritte
Sie haben Ihre HTTP-ausgelöste Funktion aktualisiert, um Daten in eine Storage-Warteschlange zu schreiben. Weitere Informationen zum Entwickeln von Funktionen finden Sie unter Develop-Azure Functions mithilfe von Visual Studio.
Als Nächstes sollten Sie die Application Insights-Überwachung für Ihre Funktions-App aktivieren: