Azure Functions verbinden met Azure Storage met behulp van Visual Studio Code
Met Azure Functions kunt u Azure-services en andere resource verbinden met services zonder dat u zelf integratiecode moet schrijven. Deze zogenaamde bindingen, die zowel invoer als uitvoer vertegenwoordigen, worden gedeclareerd binnen de functiedefinitie. Gegevens van bindingen worden als parameters doorgegeven aan de functie. Een trigger is een speciaal type invoerbinding. Hoewel een functie slechts één trigger heeft, kan deze meerdere invoer- en uitvoerbindingen hebben. Zie Azure Functions triggers and bindings concepts (Concepten van Azure Functions-triggers en -bindingen) voor meer informatie.
In dit artikel leert u hoe u Visual Studio Code gebruikt om Azure Storage te verbinden met de functie die u in het vorige quickstart-artikel hebt gemaakt. De uitvoerbinding die u aan deze functie toevoegt, schrijft gegevens van een HTTP-aanvraag naar een bericht in een Azure Queue Storage-wachtrij.
Voor de meeste bindingen is een opgeslagen verbindingsreeks vereist die Functions gebruikt om toegang te krijgen tot de gebonden service. Om het eenvoudiger te maken, gebruikt u het opslagaccount dat u hebt gemaakt met uw functie-app. De verbinding met dit account is al opgeslagen in een app-instelling met de naam AzureWebJobsStorage
.
Notitie
Dit artikel ondersteunt momenteel Node.js v4 voor Functions.
Uw lokale omgeving configureren
Voordat u begint, moet u aan de volgende vereisten voldoen:
De Azure Storage-extensie voor Visual Studio Code installeren.
Azure Storage Explorer installeren. Storage Explorer is een hulpprogramma dat u gebruikt om wachtrijberichten te onderzoeken die zijn gegenereerd door uw uitvoerbinding. Storage Explorer wordt ondersteund op macOS-, Windows- en Linux-besturingssystemen.
.NET Core CLI-hulpprogramma's installeren.
Voer de stappen in deel 1 van de Visual Studio Code-snelstartgids.
- Voer de stappen in deel 1 van de Visual Studio Code-snelstartgids.
- Voer de stappen in deel 1 van de Visual Studio Code-snelstartgids.
- Voer de stappen in deel 1 van de Visual Studio Code-snelstartgids.
- Voer de stappen in deel 1 van de Visual Studio Code-snelstartgids.
- Voer de stappen in deel 1 van de Visual Studio Code-snelstartgids.
In dit artikel wordt ervan uitgegaan dat u al bent aangemeld bij uw Azure-abonnement vanuit Visual Studio Code. U kunt zich aanmelden door Azure: Sign In
vanuit het opdrachtpalet uit te voeren.
De instellingen voor functie-apps downloaden
In het vorige quickstart-artikel hebt u een functie-app gemaakt in Azure, samen met het vereiste opslagaccount. De verbindingsreeks voor dit account wordt veilig opgeslagen in de app-instellingen in Azure. In dit artikel schrijft u berichten naar een opslagwachtrij in hetzelfde account. Als u verbinding wilt maken met uw opslagaccount wanneer u de functie lokaal uitvoert, moet u app-instellingen downloaden naar het local.settings.json-bestand .
Druk op F1 om het opdrachtenpalet te openen en zoek en voer de opdracht
Azure Functions: Download Remote Settings...
uit.Kies de functie-app die u in het vorige artikel hebt gemaakt. Selecteer Ja op alle om de bestaande lokale instellingen te overschrijven.
Belangrijk
Omdat het local.settings.json-bestand geheimen bevat, wordt het nooit gepubliceerd en wordt het uitgesloten van het broncodebeheer.
Kopieer de waarde
AzureWebJobsStorage
, de sleutel voor het opslagaccount verbindingsreeks waarde. U gebruikt deze verbinding om te controleren of de uitvoerbinding werkt zoals verwacht.
Binding-extensies registreren
Omdat u een Queue Storage-uitvoerbinding gebruikt, moet u de extensie voor Storage-bindingen hebben geïnstalleerd voordat u het project uitvoert.
Uw project is geconfigureerd voor het gebruik van uitbreidingsbundels, waarmee automatisch een vooraf gedefinieerde set uitbreidingspakketten wordt geïnstalleerd.
Uitbreidingsbundels zijn al ingeschakeld in het host.json-bestand in de hoofdmap van het project. Dit moet er als volgt uitzien:
{
"version": "2.0",
"extensionBundle": {
"id": "Microsoft.Azure.Functions.ExtensionBundle",
"version": "[3.*, 4.0.0)"
}
}
Nu kunt u de Storage-uitvoerbinding toevoegen aan uw project.
Uw project is geconfigureerd voor het gebruik van uitbreidingsbundels, waarmee automatisch een vooraf gedefinieerde set uitbreidingspakketten wordt geïnstalleerd.
Uitbreidingsbundels zijn al ingeschakeld in het host.json-bestand in de hoofdmap van het project. Dit moet er als volgt uitzien:
{
"version": "2.0",
"logging": {
"applicationInsights": {
"samplingSettings": {
"isEnabled": true,
"excludedTypes": "Request"
}
}
},
"extensionBundle": {
"id": "Microsoft.Azure.Functions.ExtensionBundle",
"version": "[4.*, 5.0.0)"
}
}
Nu kunt u de Storage-uitvoerbinding toevoegen aan uw project.
Met uitzondering van HTTP- en timertriggers worden bindingen geïmplementeerd als uitbreidingspakketten. Voer de volgende dotnet add package-opdracht in het terminalvenster uit om het Storage-extensiepakket toe te voegen aan uw project.
dotnet add package Microsoft.Azure.Functions.Worker.Extensions.Storage.Queues --prerelease
Nu kunt u de Storage-uitvoerbinding toevoegen aan uw project.
Een uitvoerbinding toevoegen
Schrijven naar een Azure Storage-wachtrij:
extraOutputs
Een eigenschap toevoegen aan de bindingsconfiguratie{ methods: ['GET', 'POST'], extraOutputs: [sendToQueue], // add output binding to HTTP trigger authLevel: 'anonymous', handler: () => {} }
output.storageQueue
Een functie toevoegen boven deapp.http
aanroepconst sendToQueue = output.storageQueue({ queueName: 'outqueue', connection: 'AzureWebJobsStorage', });
Schrijven naar een Azure Storage-wachtrij:
extraOutputs
Een eigenschap toevoegen aan de bindingsconfiguratie{ methods: ['GET', 'POST'], extraOutputs: [sendToQueue], // add output binding to HTTP trigger authLevel: 'anonymous', handler: () => {} }
output.storageQueue
Een functie toevoegen boven deapp.http
aanroepconst sendToQueue: StorageQueueOutput = output.storageQueue({ queueName: 'outqueue', connection: 'AzureWebJobsStorage', });
In Functions vereist elk type binding een direction
, type
en uniek name
. De manier waarop u deze kenmerken definieert, is afhankelijk van de taal van uw functie-app.
Bindingskenmerken worden gedefinieerd in het function.json-bestand voor een bepaalde functie. Afhankelijk van het type binding zijn er aanvullende eigenschappen vereist. In de configuratie van de wachtrij uitvoer worden de vereiste velden beschreven voor een Azure Storage-wachtrijbinding. Met de extensie kunt u eenvoudig bindingen toevoegen aan het function.json-bestand .
Als u een binding wilt maken, klikt u met de rechtermuisknop op het bestand (Ctrl+klik op macOS) in de function.json
map HttpTrigger en kiest u Binding toevoegen.... Volg de aanwijzingen om de volgende bindingseigenschappen voor de nieuwe binding te definiëren:
Prompt | Weergegeven als | Beschrijving |
---|---|---|
Bindingsrichting selecteren | out |
De binding is een uitvoerbinding. |
Binding met richting selecteren... | Azure Queue Storage |
De binding is een Azure Storage-wachtrijbinding. |
De naam voor het identificeren van deze binding in uw code | msg |
Naam die de bindingsparameter identificeert waar in uw code naar wordt verwezen. |
De wachtrij waarnaar het bericht wordt verzonden | outqueue |
De naam van de wachtrij waarnaar de binding schrijft. Wanneer de queueName niet bestaat, wordt deze bij het eerste gebruik door de binding gemaakt. |
Selecteer de instelling in 'local.setting.json' | AzureWebJobsStorage |
De naam van een toepassingsinstelling die de verbindingsreeks voor het Storage-account bevat. De instelling AzureWebJobsStorage bevat de verbindingsreeks voor het Storage-account dat u hebt gemaakt met de functie-app. |
Er wordt een binding toegevoegd aan de matrix in uw bindings
function.json, die er als volgt uit moet zien:
"name": "msg",
"queueName": "outqueue",
"connection": "AzureWebJobsStorage"
}
]
}
Bindingskenmerken worden gedefinieerd door specifieke functiecode in het function_app.py-bestand te decoreren. U gebruikt de queue_output
decorator om een Uitvoerbinding voor Azure Queue Storage toe te voegen.
Door de queue_output
decorator te gebruiken, wordt de bindingsrichting impliciet 'out' en is het type Azure Storage Queue. Voeg de volgende decorator toe aan uw functiecode in HttpExample\function_app.py:
@app.queue_output(arg_name="msg", queue_name="outqueue", connection="AzureWebJobsStorage")
In deze code arg_name
identificeert u de bindingsparameter waarnaar wordt verwezen in uw code, queue_name
de naam van de wachtrij waarnaar de binding schrijft en connection
is dit de naam van een toepassingsinstelling die de verbindingsreeks voor het opslagaccount bevat. In quickstarts gebruikt u hetzelfde opslagaccount als de functie-app, die zich in de AzureWebJobsStorage
instelling bevindt. Wanneer de queue_name
binding niet bestaat, wordt deze gemaakt bij het eerste gebruik.
In een C#-project worden de bindingen gedefinieerd als bindingskenmerken voor de functiemethode. Specifieke definities zijn afhankelijk van of uw app in proces (C#-klassebibliotheek) of in een geïsoleerd werkproces wordt uitgevoerd.
Open het HttpExample.cs projectbestand en voeg de volgende MultiResponse
klasse toe:
public class MultiResponse
{
[QueueOutput("outqueue",Connection = "AzureWebJobsStorage")]
public string[] Messages { get; set; }
public HttpResponseData HttpResponse { get; set; }
}
Met de MultiResponse
klasse kunt u schrijven naar een opslagwachtrij met de naam outqueue
en een HTTP-succesbericht. Er kunnen meerdere berichten naar de wachtrij worden verzonden omdat het QueueOutput
kenmerk wordt toegepast op een tekenreeksmatrix.
Met Connection
de eigenschap wordt het verbindingsreeks voor het opslagaccount ingesteld. In dit geval kunt u weglaten Connection
omdat u al het standaardopslagaccount gebruikt.
In een Java-project worden de bindingen gedefinieerd als bindingsaantekeningen in de functiemethode. Het bestand function.json wordt vervolgens automatisch gegenereerd op basis van deze aantekeningen.
Blader naar de locatie van de functiecode onder src/main/java, open het projectbestand Function.java en voeg de volgende parameter aan de methodedefinitie run
toe:
@QueueOutput(name = "msg", queueName = "outqueue",
connection = "AzureWebJobsStorage") OutputBinding<String> msg,
Parameter msg
is van het type OutputBinding<T>
, dat een verzameling berichten voorstelt die naar een uitvoerbinding wordt geschreven wanneer de functie is voltooid. In dit geval is de uitvoer een opslagwachtrij met de naam outqueue
. De verbindingsreeks voor het Storage-account wordt ingesteld door de methode connection
. In plaats van de verbindingsreeks zelf, geeft u de toepassingsinstelling door die de verbindingsreeks voor het Storage-account bevat.
De methodedefinitie run
moet er nu uitzien als in het volgende voorbeeld:
@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) {
Code toevoegen die gebruikmaakt van de uitvoerbinding
Nadat de binding is gedefinieerd, kunt u de name
van de binding gebruiken om deze te openen als een kenmerk in de functie handtekening. Als u een uitvoerbinding gebruikt, hoeft u niet de Azure Storage SDK-code te gebruiken voor verificatie, het ophalen van een wachtrijverwijzing of het schrijven van gegevens. Deze taken worden voor u verwerkt via Functions-runtime en Queue Storage-uitvoerbinding.
Voeg code toe die gebruikmaakt van het uitvoerbindingsobject om context.extraOutputs
een wachtrijbericht te maken. Voeg deze code toe vóór de retourinstructie.
context.extraOutputs.set(sendToQueue, [msg]);
Op dit moment kan uw functie er als volgt uitzien:
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' };
}
},
});
Voeg code toe die gebruikmaakt van het uitvoerbindingsobject om context.extraOutputs
een wachtrijbericht te maken. Voeg deze code toe vóór de retourinstructie.
context.extraOutputs.set(sendToQueue, [msg]);
Op dit moment kan uw functie er als volgt uitzien:
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,
});
Voeg code toe die gebruikmaakt van de cmdlet Push-OutputBinding
om tekst te schrijven naar de wachtrij met de uitvoerbinding msg
. Voeg deze code toe voordat u de status Ok in de instructie if
instelt.
$outputMsg = $name
Push-OutputBinding -name msg -Value $outputMsg
Op dit moment moet uw functie er als volgt uitzien:
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
})
Werk HttpExample\function_app.py bij zodat deze overeenkomt met de volgende code, voeg de msg
parameter toe aan de functiedefinitie en msg.set(name)
onder de if name:
instructie:
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
)
De parameter msg
is een instantie van de azure.functions.Out class
. De set
methode schrijft een tekenreeksbericht naar de wachtrij. In dit geval wordt deze name
doorgegeven aan de functie in de URL-querytekenreeks.
Vervang de bestaande HttpExample
klasse door de volgende code:
[Function("HttpExample")]
public static MultiResponse Run([HttpTrigger(AuthorizationLevel.Function, "get", "post")] HttpRequestData req,
FunctionContext executionContext)
{
var logger = executionContext.GetLogger("HttpExample");
logger.LogInformation("C# HTTP trigger function processed a request.");
var message = "Welcome to Azure Functions!";
var response = req.CreateResponse(HttpStatusCode.OK);
response.Headers.Add("Content-Type", "text/plain; charset=utf-8");
response.WriteString(message);
// Return a response to both HTTP trigger and storage output binding.
return new MultiResponse()
{
// Write a single message.
Messages = new string[] { message },
HttpResponse = response
};
}
}
U kunt nu de nieuwe parameter, msg
, gebruiken om naar de uitvoerbinding van uw functiecode te schrijven. Voordat u het antwoord krijgt dat de bewerking is geslaagd, voegt u de volgende regel code toe om de waarde van name
aan de msg
-uitvoerbinding toe te voegen.
msg.setValue(name);
Als u een uitvoerbinding gebruikt, hoeft u niet de Azure Storage SDK-code voor verificatie te gebruiken, een wachtrijverwijzing op te halen of gegevens te schrijven. Deze taken worden voor u verwerkt via Functions-runtime en Queue Storage-uitvoerbinding.
De methode run
moet er nu uitzien als in het volgende voorbeeld:
@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();
}
}
De tests bijwerken
Omdat het archetype ook een reeks tests maakt, moet u deze tests bijwerken om de nieuwe parameter msg
in de handtekening van methode run
te verwerken.
Blader naar de locatie van de testcode onder src/test/java, open projectbestand Function.java en vervang de regel met code onder //Invoke
door de volgende code.
@SuppressWarnings("unchecked")
final OutputBinding<String> msg = (OutputBinding<String>)mock(OutputBinding.class);
final HttpResponseMessage ret = new Function().run(req, msg, context);
De functie lokaal uitvoeren
Visual Studio Code integreert met Azure Functions Core Tools om u een project te laten uitvoeren vanaf uw lokale ontwikkelaarscomputer voordat u in Azure publiceert. Als u Core Tools nog niet lokaal hebt geïnstalleerd, wordt u gevraagd deze te installeren wanneer u uw project voor het eerst uitvoert.
Druk op F5 om het functie-app-project te starten en uw functie aan te roepen. In het terminalvenster wordt de uitvoer van Core Tools weergegeven. Uw app wordt gestart in het deelvenster Terminal . Kopieer het URL-eindpunt van uw functie die lokaal wordt uitgevoerd en door HTTP is geactiveerd.
Als u Core Tools nog niet hebt geïnstalleerd, selecteert u Installeren om Core Tools te installeren wanneer u hierom wordt gevraagd.
Als u problemen ondervindt met het uitvoeren op Windows, moet u ervoor zorgen dat de standaardterminal voor Visual Studio Code niet is ingesteld op WSL Bash.Wanneer de Core Tools worden uitgevoerd, gaat u naar het gebied Azure: Functions . Vouw onder Functions lokaal projectfuncties> uit. Klik met de rechtermuisknop (Windows) of Ctrl - klik op de
HttpExample
functie (macOS) en kies Nu functie uitvoeren....Druk in de hoofdtekst van de Enter-aanvraag op Enter om een aanvraagbericht naar uw functie te verzenden.
Wanneer de functie lokaal wordt uitgevoerd en een antwoord retourneert, wordt er een melding gegenereerd in Visual Studio Code. Informatie over de uitvoering van de functie wordt weergegeven in het deelvenster Terminal .
Druk op CTRL + C om Core Tools te stoppen en de verbinding met het foutopsporingsprogramma te verbreken.
De functie lokaal uitvoeren
Net als in het vorige artikel drukt u op F5 om het functie-app-project en Core Tools te starten.
Wanneer de Core Tools worden uitgevoerd, gaat u naar het gebied Azure: Functions . Vouw onder Functions lokaal projectfuncties> uit. Klik met de rechtermuisknop op de
HttpExample
functie (Ctrl-klik op Mac) en selecteer Nu functie uitvoeren....In de hoofdtekst van de aanvraag invoeren ziet u de hoofdtekstwaarde van
{ "name": "Azure" }
het aanvraagbericht. Druk op Enter om dit aanvraagbericht naar uw functie te verzenden.Nadat een antwoord is geretourneerd, drukt u op Ctrl+C om Core Tools te stoppen.
Omdat u de opslag verbindingsreeks gebruikt, maakt uw functie verbinding met het Azure-opslagaccount wanneer deze lokaal wordt uitgevoerd. Wanneer de uitvoerbinding voor het eerst wordt gebruikt, wordt er door de runtime van Functions een nieuwe wachtrij met de naam outqueue gemaakt in uw opslagaccount. U gebruikt Storage Explorer om te controleren of de wachtrij is gemaakt met het nieuwe bericht.
Storage Explorer verbinden met uw account
Sla deze sectie over als u Azure Storage Explorer al hebt geïnstalleerd en verbonden met uw Azure-account.
Voer het hulpprogramma Azure Storage Explorer uit, selecteer het verbindingspictogram aan de linkerkant en selecteer Een account toevoegen.
Kies in het dialoogvenster Verbinding maken een Azure-account toevoegen, kies uw Azure-omgeving en selecteer vervolgens Aanmelden....
Nadat u zich hebt aangemeld bij uw account, ziet u alle Azure-abonnementen die zijn gekoppeld aan uw account. Kies uw abonnement en selecteer Open Explorer.
De uitvoerwachtrij controleren
Druk in Visual Studio Code op F1 om het opdrachtenpalet te openen, zoek en voer de opdracht
Azure Storage: Open in Storage Explorer
uit en kies de naam van uw opslagaccount. Uw opslagaccount wordt geopend in Azure Storage Explorer.Vouw het knooppunt Wachtrijen uit en selecteer vervolgens de wachtrij met de naam outqueue.
De wachtrij bevat het bericht dat met de Queue Storage-uitvoerbinding is gemaakt toen u de met HTTP geactiveerde functie hebt uitgevoerd. Als u de functie hebt aangeroepen met de standaardwaarde
name
van Azure, is het wachtrijbericht Naam is doorgegeven aan de functie: Azure.Voer de functie opnieuw uit, verzend een andere aanvraag en u ziet een nieuw bericht in de wachtrij.
Nu is het tijd om de bijgewerkte functie-app opnieuw te publiceren naar Azure.
De bijgewerkte app opnieuw implementeren en verifiëren
Druk in Visual Studio Code op F1 om het opdrachtenpalet te openen. In het opdrachtenpalet zoekt en selecteert u
Azure Functions: Deploy to function app...
.Kies de functie-app die u in het eerste artikel hebt gemaakt. Omdat u uw project opnieuw implementeert voor dezelfde app, selecteert u Implementeren om de waarschuwing over het overschrijven van bestanden te negeren.
Nadat de implementatie is voltooid, kunt u de functie Nu uitvoeren opnieuw gebruiken... om de functie in Azure te activeren.
Bekijk opnieuw het bericht in de opslagwachtrij om te controleren of de uitvoerbinding een nieuw bericht in de wachtrij genereert.
Resources opschonen
In Azure verwijzen Resources naar functie-apps, functies, opslagaccounts enzovoort. Deze zijn gegroepeerd in resourcegroepen. U kunt alle resources in een groep verwijderen door de groep zelf te verwijderen.
U hebt resources gemaakt om deze quickstarts te voltooien. Deze resources kunnen bij u in rekening worden gebracht, afhankelijk van de accountstatus en serviceprijzen. Als u de resources niet meer nodig hebt, kunt u ze als volgt verwijderen:
Druk in Visual Studio Code op F1 om het opdrachtenpalet te openen. In het opdrachtenpalet zoekt en selecteert u
Azure: Open in portal
.Kies uw functie-app en druk op Enter. De functie-app wordt geopend in de Azure-portal.
Selecteer op het tabblad Overzicht de benoemde koppeling naast Resourcegroep.
Controleer op de pagina Resourcegroep de lijst met opgenomen resources en controleer of ze de resources zijn die u wilt verwijderen.
Selecteer Resourcegroep verwijderen en volg de instructies.
Verwijderen kan enkele minuten duren. Wanneer dit is voltooid, verschijnt een aantal seconden een melding in beeld. U kunt ook het belpictogram bovenaan de pagina selecteren om de melding te bekijken.
Volgende stappen
U hebt uw HTTP-geactiveerde functie bijgewerkt om gegevens naar een opslagwachtrij te schrijven. Nu kunt u meer informatie vinden over het ontwikkelen van functies met Visual Studio Code: