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 Code verwenden, um Azure Storage mit der Funktion zu verbinden, die Sie im vorherigen Schnellstartartikel erstellt haben. 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 Speicherkonto, das Sie mit Ihrer Funktions-App erstellt haben. Die Verbindung mit diesem Konto ist bereits in einer App-Einstellung namens AzureWebJobsStorage gespeichert.
Hinweis
Dieser Artikel unterstützt derzeit Node.js v4 für Azure Functions.
Konfigurieren Ihrer lokalen Umgebung
Bevor Sie beginnen, müssen die folgenden Voraussetzungen erfüllt sein:
Installieren Sie die Azure Storage Erweiterung für Visual Studio Code.
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.
- Installieren Sie .NET Core CLI-Tools.
- Führen Sie die Schritte in Part 1 von Create a function in Azure using Visual Studio Code aus.
In diesem Artikel wird davon ausgegangen, dass Sie bereits über Visual Studio Code bei Ihrem Azure-Abonnement angemeldet sind. Sie können sich anmelden, indem Sie Azure: Sign In über die Befehlspalette ausführen.
Herunterladen der Funktions-App-Einstellungen
Im Artikel früheren Schnellstart-Artikel haben Sie eine Funktionsanwendung 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.
Drücken Sie F1, um die Befehlspalette zu öffnen, und suchen Sie dann nach dem Befehl
Azure Functions: Download Remote Settings....Wählen Sie die im vorherigen Artikel erstellte Funktions-App aus. Wählen Sie Ja, alle aus, um die vorhandenen lokalen Einstellungen zu überschreiben.
Wichtig
Da die Datei local.settings.json Geheimnisse enthält, wird sie nie veröffentlicht und ist von der Quellcodeverwaltung ausgeschlossen.
Kopieren Sie den Wert
AzureWebJobsStorage, welcher der Schlüssel für die Speicherkonto-Verbindungszeichenfolge ist. Sie verwenden diese Verbindung, um sicherzustellen, dass die Ausgabebindung wie erwartet funktioniert.
Registrieren von Bindungserweiterungen
Da Sie eine Warteschlangen-Speicher-Ausgabebindung verwenden, müssen Sie die Speicherbindungserweiterung installiert haben, bevor Sie das Projekt ausführen.
Ihr Projekt wurde für die Verwendung von Erweiterungsbündeln konfiguriert, die automatisch einen vordefinierten Satz von Erweiterungspaketen installieren.
Erweiterungspakete sind bereits in der Datei host.json im Stammverzeichnis der project aktiviert, die wie im folgenden Beispiel aussehen sollte:
{
"version": "2.0",
"extensionBundle": {
"id": "Microsoft.Azure.Functions.ExtensionBundle",
"version": "[3.*, 4.0.0)"
}
}
Jetzt können Sie dem Projekt die Speicher-Ausgabebindung hinzufügen.
Ihr Projekt wurde konfiguriert, um Extension Bundles zu verwenden, die einen vordefinierten Satz von Erweiterungspaketen automatisch installieren.
Erweiterungspakete sind bereits in der Datei host.json im Stammverzeichnis der project aktiviert, die wie im folgenden Beispiel aussehen sollte:
{
"version": "2.0",
"logging": {
"applicationInsights": {
"samplingSettings": {
"isEnabled": true,
"excludedTypes": "Request"
}
}
},
"extensionBundle": {
"id": "Microsoft.Azure.Functions.ExtensionBundle",
"version": "[4.*, 5.0.0)"
}
}
Jetzt können Sie Ihrem Projekt die Speicher-Ausgabebindung hinzufügen.
Mit Ausnahme von HTTP- und Timertriggern werden Bindungen als Erweiterungspakete implementiert. Führen Sie den folgenden Befehl dotnet add package im Terminalfenster aus, um dem project das Storage Erweiterungspaket hinzuzufügen.
dotnet add package Microsoft.Azure.Functions.Worker.Extensions.Storage.Queues --prerelease
Jetzt können Sie dem Projekt die Speicher-Ausgabebindung hinzufügen.
Hinzufügen einer Ausgabebindung
Um in eine Azure Storage-Warteschlange zu schreiben:
Hinzufügen einer
extraOutputs-Eigenschaft zur Bindungskonfiguration{ methods: ['GET', 'POST'], extraOutputs: [sendToQueue], // add output binding to HTTP trigger authLevel: 'function', handler: () => {} }Hinzufügen einer
output.storageQueue-Funktion oberhalb des Aufrufs vonapp.httpconst sendToQueue = output.storageQueue({ queueName: 'outqueue', connection: 'AzureWebJobsStorage', });
Um in eine Azure Storage-Warteschlange zu schreiben:
Hinzufügen einer
extraOutputs-Eigenschaft zur Bindungskonfiguration{ methods: ['GET', 'POST'], extraOutputs: [sendToQueue], // add output binding to HTTP trigger authLevel: 'function', handler: () => {} }Hinzufügen einer
output.storageQueue-Funktion oberhalb des Aufrufs vonapp.httpconst sendToQueue: StorageQueueOutput = output.storageQueue({ queueName: 'outqueue', connection: 'AzureWebJobsStorage', });
In Functions benötigt jeder Bindungstyp einen direction, type und einen eindeutigen name. Wie Sie diese Attribute definieren, hängt von der Sprache der Funktions-App ab.
Bindungsattribute werden in der Datei function.json für eine bestimmte Funktion definiert. Abhängig vom Bindungstyp sind möglicherweise zusätzliche Eigenschaften erforderlich. Die Queue-Ausgabekonfiguration beschreibt die felder, die für eine Azure Storage Warteschlangenbindung erforderlich sind. Mit der Erweiterung können Bindungen einfach in der Datei function.json hinzugefügt werden.
Klicken Sie zum Erstellen einer Bindung im Ordner „HttpTrigger“ mit der rechten Maustaste (STRG+Klicken unter macOS) auf die Datei function.json, und wählen Sie Bindung hinzufügen... aus. Befolgen Sie die Anweisungen, um die folgenden Bindungseigenschaften für die neue Bindung zu definieren:
| Prompt | Wert | BESCHREIBUNG |
|---|---|---|
| Wählen Sie die Bindungsrichtung | out |
Die Bindung ist eine Ausgabebindung. |
| Wählen Sie eine Bindung mit Richtung... | Azure Queue Storage |
Die Bindung ist eine Azure Storage Warteschlangen-Verbindung. |
| Der Name, der zum Identifizieren dieser Bindung in Ihrem Code verwendet wird | msg |
Name, der den Bindungsparameter identifiziert, auf den in Ihrem Code verwiesen wird. |
| Die Warteschlange, an die die Nachricht gesendet wird | outqueue |
Der Name der Warteschlange, in den die Bindung schreibt. Wenn der queueName nicht vorhanden ist, erstellt die Bindung ihn bei der ersten Verwendung. |
| Wählen Sie die Einstellung aus „local.setting.json“ | AzureWebJobsStorage |
Der Name einer Anwendungseinstellung, die die connection string für das Storage Konto enthält. Die Einstellung AzureWebJobsStorage enthält die Verbindungszeichenfolge für das mit der Funktions-App erstellte Speicherkonto. |
Eine Bindung wird dem Array bindings in der Datei function.json hinzugefügt, die wie folgt aussehen sollte:
"name": "msg",
"queueName": "outqueue",
"connection": "AzureWebJobsStorage"
}
]
}
Bindungsattribute werden definiert, indem spezifischer Funktionscode in der Datei function_app.py ergänzt wird. Sie verwenden den queue_output-Dekorateur, um eine Azure-Warteschlangenspeicher-Ausgabebindung hinzuzufügen.
Mithilfe des queue_output-Dekorators ist die Bindungsrichtung implizit "out" – und der Typ ist Azure Storage Warteschlange. Fügen Sie Ihrem Funktionscode in der Datei function_app.py den folgenden Dekorator hinzu:
@app.queue_output(arg_name="msg", queue_name="outqueue", connection="AzureWebJobsStorage")
In diesem Code identifiziert arg_name den Bindungsparameter, auf den in Ihrem Code verwiesen wird, queue_name ist der Name der Warteschlange, in die die Bindung schreibt, und connection ist der Name einer Anwendungseinstellung, die den connection string für das Storage Konto enthält. In Quickstarts verwenden Sie dasselbe Speicherkonto wie die Funktions-App, die sich in der Einstellung AzureWebJobsStorage befindet. Wenn das queue_name-Element nicht vorhanden ist, erstellt die Bindung es bei der ersten Verwendung.
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.
In einem Java-project werden die Bindungen als Bindungsanmerkungen für die Funktionsmethode definiert. Die Datei function.json wird dann automatisch auf der Grundlage dieser Anmerkungen generiert.
Navigieren Sie zum Speicherort des Funktionscodes unter src/main/java, öffnen Sie die Datei Function.java project, und fügen Sie der run-Methodendefinition den folgenden Parameter hinzu:
@QueueOutput(name = "msg", queueName = "outqueue",
connection = "AzureWebJobsStorage") OutputBinding<String> msg,
Der Parameter msg ist ein OutputBinding<T> Typ, der eine Auflistung von Zeichenfolgen darstellt, die als Nachrichten in eine Ausgabebindung geschrieben werden, wenn die Funktion abgeschlossen ist. In diesem Fall ist die Ausgabe eine Speicherwarteschlange mit dem Namen outqueue. Die Connection String für das Speicherkonto wird von der Methode connection festgelegt. Statt der Verbindungszeichenfolge selber übergeben Sie die Anwendungseinstellung, die die Storage-Konto-Verbindungszeichenfolge enthält.
Die Definition der Methode run sollte nun wie im folgenden Beispiel aussehen:
@FunctionName("HttpExample")
public HttpResponseMessage run(
@HttpTrigger(name = "req", methods = {HttpMethod.GET, HttpMethod.POST}, authLevel = AuthorizationLevel.ANONYMOUS)
HttpRequestMessage<Optional<String>> request,
@QueueOutput(name = "msg", queueName = "outqueue",
connection = "AzureWebJobsStorage") OutputBinding<String> msg,
final ExecutionContext context) {
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.
Fügen Sie Code hinzu, der das Ausgabebindungsobjekt mit context.extraOutputs verwendet, um eine Warteschlangennachricht zu erstellen. Fügen Sie diesen Code vor der return-Anweisung hinzu.
context.extraOutputs.set(sendToQueue, [msg]);
Ihre Funktion könnte nun wie folgt aussehen:
const { app, output } = require('@azure/functions');
const sendToQueue = output.storageQueue({
queueName: 'outqueue',
connection: 'AzureWebJobsStorage',
});
app.http('HttpExample', {
methods: ['GET', 'POST'],
authLevel: 'anonymous',
extraOutputs: [sendToQueue],
handler: async (request, context) => {
try {
context.log(`Http function processed request for url "${request.url}"`);
const name = request.query.get('name') || (await request.text());
context.log(`Name: ${name}`);
if (name) {
const msg = `Name passed to the function ${name}`;
context.extraOutputs.set(sendToQueue, [msg]);
return { body: msg };
} else {
context.log('Missing required data');
return { status: 404, body: 'Missing required data' };
}
} catch (error) {
context.log(`Error: ${error}`);
return { status: 500, body: 'Internal Server Error' };
}
},
});
Fügen Sie Code hinzu, der das Ausgabebindungsobjekt mit context.extraOutputs verwendet, um eine Warteschlangennachricht zu erstellen. Fügen Sie diesen Code vor der return-Anweisung hinzu.
context.extraOutputs.set(sendToQueue, [msg]);
Ihre Funktion könnte nun wie folgt aussehen:
import {
app,
output,
HttpRequest,
HttpResponseInit,
InvocationContext,
StorageQueueOutput,
} from '@azure/functions';
const sendToQueue: StorageQueueOutput = output.storageQueue({
queueName: 'outqueue',
connection: 'AzureWebJobsStorage',
});
export async function HttpExample(
request: HttpRequest,
context: InvocationContext,
): Promise<HttpResponseInit> {
try {
context.log(`Http function processed request for url "${request.url}"`);
const name = request.query.get('name') || (await request.text());
context.log(`Name: ${name}`);
if (name) {
const msg = `Name passed to the function ${name}`;
context.extraOutputs.set(sendToQueue, [msg]);
return { body: msg };
} else {
context.log('Missing required data');
return { status: 404, body: 'Missing required data' };
}
} catch (error) {
context.log(`Error: ${error}`);
return { status: 500, body: 'Internal Server Error' };
}
}
app.http('HttpExample', {
methods: ['GET', 'POST'],
authLevel: 'anonymous',
handler: HttpExample,
});
Fügen Sie Code hinzu, der das Cmdlet Push-OutputBinding verwendet, um Text unter Verwendung der Ausgabebindung msg in die Warteschlange zu schreiben. Fügen Sie diesen Code hinzu, bevor Sie den OK-Status in der if-Anweisung festlegen.
$outputMsg = $name
Push-OutputBinding -name msg -Value $outputMsg
Die Funktion muss nun wie folgt aussehen:
using namespace System.Net
# Input bindings are passed in via param block.
param($Request, $TriggerMetadata)
# Write to the Azure Functions log stream.
Write-Host "PowerShell HTTP trigger function processed a request."
# Interact with query parameters or the body of the request.
$name = $Request.Query.Name
if (-not $name) {
$name = $Request.Body.Name
}
if ($name) {
# Write the $name value to the queue,
# which is the name passed to the function.
$outputMsg = $name
Push-OutputBinding -name msg -Value $outputMsg
$status = [HttpStatusCode]::OK
$body = "Hello $name"
}
else {
$status = [HttpStatusCode]::BadRequest
$body = "Please pass a name on the query string or in the request body."
}
# Associate values to output bindings by calling 'Push-OutputBinding'.
Push-OutputBinding -Name Response -Value ([HttpResponseContext]@{
StatusCode = $status
Body = $body
})
Aktualisieren Sie HttpExample\function_app.py so, dass es dem folgenden Code entspricht, indem Sie den Parameter msg zur Funktionsdefinition und msg.set(name) unter der if name:-Anweisung hinzufügen:
import azure.functions as func
import logging
app = func.FunctionApp(http_auth_level=func.AuthLevel.ANONYMOUS)
@app.route(route="HttpExample")
@app.queue_output(arg_name="msg", queue_name="outqueue", connection="AzureWebJobsStorage")
def HttpExample(req: func.HttpRequest, msg: func.Out [func.QueueMessage]) -> func.HttpResponse:
logging.info('Python HTTP trigger function processed a request.')
name = req.params.get('name')
if not name:
try:
req_body = req.get_json()
except ValueError:
pass
else:
name = req_body.get('name')
if name:
msg.set(name)
return func.HttpResponse(f"Hello, {name}. This HTTP triggered function executed successfully.")
else:
return func.HttpResponse(
"This HTTP triggered function executed successfully. Pass a name in the query string or in the request body for a personalized response.",
status_code=200
)
Der Parameter msg ist eine Instanz des azure.functions.Out class. Die set-Methode schreibt eine Zeichenfolgennachricht in die Warteschlange. In diesem Fall ist dies der name, der in der URL-Abfragezeichenfolge an die Funktion übergeben wird.
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)
};
}
Nun können Sie den neuen Parameter msg verwenden, um von Ihrem Funktionscode aus in die Ausgabebindung zu schreiben. Fügen Sie vor der Erfolgsantwort die folgende Codezeile hinzu, um der Ausgabebindung name den Wert msg hinzuzufügen:
msg.setValue(name);
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.
Die Methode run sollte bei Ihnen nun wie im folgenden Beispiel aussehen:
@FunctionName("HttpExample")
public HttpResponseMessage run(
@HttpTrigger(name = "req", methods = {HttpMethod.GET, HttpMethod.POST}, authLevel = AuthorizationLevel.ANONYMOUS)
HttpRequestMessage<Optional<String>> request,
@QueueOutput(name = "msg", queueName = "outqueue",
connection = "AzureWebJobsStorage") OutputBinding<String> msg,
final ExecutionContext context) {
context.getLogger().info("Java HTTP trigger processed a request.");
// Parse query parameter
String query = request.getQueryParameters().get("name");
String name = request.getBody().orElse(query);
if (name == null) {
return request.createResponseBuilder(HttpStatus.BAD_REQUEST)
.body("Please pass a name on the query string or in the request body").build();
} else {
// Write the name to the message queue.
msg.setValue(name);
return request.createResponseBuilder(HttpStatus.OK).body("Hello, " + name).build();
}
}
Aktualisieren der Tests
Da der Archetyp auch eine Reihe von Tests erstellt, müssen Sie diese Tests aktualisieren, um den neuen Parameter msg in der Signatur der Methode run zu behandeln.
Navigieren Sie unter src/test/java zum Speicherort des Testcodes, öffnen Sie die Datei Function.java project, und ersetzen Sie die Codezeile unter //Invoke durch den folgenden Code.
@SuppressWarnings("unchecked")
final OutputBinding<String> msg = (OutputBinding<String>)mock(OutputBinding.class);
final HttpResponseMessage ret = new Function().run(req, msg, context);
Lokales Ausführen der Funktion
Visual Studio Code lässt sich in Azure Functions Core-Tools integrieren, damit Sie dieses Projekt auf Ihrem lokalen Entwicklungscomputer ausführen können, bevor Sie es nach Azure veröffentlichen. Wenn Sie core Tools noch nicht lokal installiert haben, werden Sie aufgefordert, sie beim ersten Ausführen des project zu installieren.
Um die Funktion aufzurufen, drücken Sie F5, um das Funktionsanwendungsprojekt zu starten. Im Terminalbereich wird die Ausgabe aus den Core Tools angezeigt. Ihre App wird im Terminal-Bereich gestartet. Der lokal ausgeführte URL-Endpunkt Ihrer über HTTP ausgelösten Funktion wird angezeigt.
Wenn Sie noch keine Core Tools installiert haben, wählen Sie Install aus, um Core Tools zu installieren, wenn Sie dazu aufgefordert werden.
Wenn Probleme bei der Ausführung unter Windows auftreten, stellen Sie sicher, dass das Standardterminal für Visual Studio Code nicht auf WSL Bash festgelegt ist.Navigieren Sie während die Kerntools laufen zum Bereich Azure: Functions. Erweitern Sie unter FunktionenLokales Projekt>Funktionen. Klicken Sie unter Windows mit der rechten Maustaste (unter macOS STRG+Mausklick) auf die Funktion
HttpExample, und wählen Sie Funktion jetzt ausführen... aus.
Drücken Sie in Anforderungstext eingeben die EINGABETASTE, um eine Anforderungsnachricht an Ihre Funktion zu übermitteln.
Wenn die Funktion lokal ausgeführt wird und eine Antwort zurückgibt, wird eine Benachrichtigung in Visual Studio Code ausgelöst. Informationen zur Funktionsausführung werden im Terminalbereich angezeigt.
Drücken Sie STRG+C, um die Core Tools zu beenden und die Verbindung mit dem Debugger zu trennen.
Lokales Ausführen der Funktion
Wie im vorherigen Artikel drücken Sie F5, um das Funktions-App-Projekt und die Core-Tools zu starten.
Wechseln Sie, wenn die Core-Tools ausgeführt werden, zum Bereich Azure: Functions. Unter Functions erweitern Sie Local Project>Functions. Klicken Sie mit der rechten Maustaste (unter macOS STRG+Mausklick) auf die Funktion
HttpExample, und wählen Sie Funktion jetzt ausführen... aus.
Im Anforderungstext Anforderungstext eingeben sehen Sie den Wert des Nachrichtentextes
{ "name": "Azure" }. Drücken Sie die EINGABETASTE, um diese Anforderungsmeldung an Ihre Funktion zu senden.Drücken Sie nach der Rückgabe einer Antwort STRG+C, um Core Tools zu beenden.
Da Sie die storage connection string verwenden, stellt Ihre Funktion beim lokalen Ausführen eine Verbindung mit dem Azure storage Konto bereit. Eine neue Warteschlange mit dem Namen outqueue wird 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
Drücken Sie in Visual Studio Code F1, um die Befehlspalette zu öffnen, suchen und führen Sie den Befehl
Azure Storage: Open in Storage Exploreraus, und wählen Sie Ihren Speicherkonto-Namen aus. Ihr Speicherkonto wird im Azure Storage Explorer geöffnet.Erweitern Sie den Knoten Warteschlangen, und wählen Sie 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
Drücken Sie in Visual Studio Code F1, um die Befehlspalette zu öffnen. Suchen Sie in der Befehlspalette nach
Azure Functions: Deploy to function app....Wählen Sie die im ersten Artikel erstellte Funktions-App aus. Da Sie Ihr Projekt in derselben App erneut deployen, wählen Sie Deploy aus, um die Warnung zum Überschreiben von Dateien zu schließen.
Nach Abschluss der Bereitstellung können Sie erneut die Funktion Execute-Funktion jetzt... verwenden, um die Funktion in Azure auszulösen. Dieser Befehl ruft automatisch den Funktionszugriffsschlüssel ab und verwendet ihn beim Aufrufen des Endpoints des HTTP-Triggers.
Erneut sehen Sie die Nachricht in der Speicherschlange, um zu bestätigen, dass die Ausgabe-Bindung eine neue Nachricht in der Warteschlange erzeugt.
Bereinigen von Ressourcen
In Azure beziehen sich Ressourcen auf Funktions-Apps, Funktionen, Speicherkonten und so weiter. 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 Servicepreisen können Ihnen diese Ressourcen in Rechnung gestellt werden. Nicht mehr benötigte Ressourcen können wie folgt gelöscht werden:
Drücken Sie in Visual Studio Code F1, um die Befehlspalette zu öffnen. Suchen Sie in der Befehlspalette nach
Azure: Open in portal.Wählen Sie Ihre Funktions-App aus, und drücken Sie die EINGABETASTE. Die Seite der Funktions-App wird im Azure portal geöffnet.
Wählen Sie auf der Registerkarte Übersicht den benannten Link neben Ressourcengruppe aus.
Überprü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.
Klicken Sie auf Ressourcengruppe löschen, und folgen Sie den Anweisungen.
Der Löschvorgang kann einige Minuten dauern. 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. Jetzt erfahren Sie mehr über die Entwicklung von Funktionen mithilfe von Visual Studio Code: