Delen via


Azure Functions verbinden met Azure Storage met behulp van Visual Studio Code

Azure Functions kunt u Azure services en andere resources verbinden met functies zonder dat u uw eigen integratiecode hoeft te 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 concepten voor 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 uit de HTTP-aanvraag naar een bericht in een Azure Queue storage wachtrij.

Voor de meeste bindingen is een opgeslagen connection string vereist die door Functions wordt gebruikt om de afhankelijke service te access. Om het eenvoudiger te maken, gebruikt u het storage-account 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:

  • Installeer de extensie Azure Storage voor Visual Studio Code.

  • Installeer Azure Storage Explorer. 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.

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 uit te voeren vanuit het opdrachtenpalet.

De instellingen voor functie-apps downloaden

In het artikel previous quickstart hebt u een functie-app gemaakt in Azure samen met het vereiste storage-account. De connection string voor dit account wordt veilig opgeslagen in de app-instellingen in Azure. In dit artikel schrijft u berichten naar een Storage wachtrij in hetzelfde account. Als u verbinding wilt maken met uw storage-account wanneer u de functie lokaal uitvoert, moet u app-instellingen downloaden naar het bestand local.settings.json.

  1. Druk op F1 om het opdrachtenpalet te openen en zoek en voer de opdracht uit Azure Functions: Download Remote Settings....

  2. 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.

  3. Kopieer de waarde AzureWebJobsStorage, de sleutel voor de verbindingstring-waarde van het storage-account. U gebruikt deze verbinding om te controleren of de uitvoerbinding werkt zoals verwacht.

Binding-extensies registreren

Omdat u een queue storage-uitvoerbinding gebruikt, moet de Storage-bindings-extensie zijn geïnstalleerd voordat u het project uitvoert.

Uw project is geconfigureerd voor het gebruik van extension-bundels, waarmee automatisch een vooraf gedefinieerde set extensiepakketten wordt geïnstalleerd.

Uitbreidingsbundels zijn al ingeschakeld in het bestand host.json in de hoofdmap van het project, wat er als volgt uit moet zien:

{
  "version": "2.0",
  "extensionBundle": {
    "id": "Microsoft.Azure.Functions.ExtensionBundle",
    "version": "[3.*, 4.0.0)"
  }
}

U kunt nu de storage uitvoerbinding toevoegen aan uw project.

Uw project is geconfigureerd voor het gebruik van extension-bundels, waarmee automatisch een vooraf gedefinieerde set extensiepakketten wordt geïnstalleerd.

Uitbreidingsbundels zijn al ingeschakeld in het bestand host.json in de hoofdmap van het project, dat er als volgt uitziet:

{
  "version": "2.0",
  "logging": {
    "applicationInsights": {
      "samplingSettings": {
        "isEnabled": true,
        "excludedTypes": "Request"
      }
    }
  },
  "extensionBundle": {
    "id": "Microsoft.Azure.Functions.ExtensionBundle",
    "version": "[4.*, 5.0.0)"
  }
}

U kunt nu de storage uitvoerbinding toevoegen aan uw project.

Met uitzondering van HTTP- en timertriggers worden bindingen geïmplementeerd als uitbreidingspakketten. Voer de volgende opdracht dotnet add package uit in het Terminal-venster om het Storage-extensiepakket toe te voegen aan uw project.

dotnet add package Microsoft.Azure.Functions.Worker.Extensions.Storage.Queues --prerelease

U kunt nu de storage uitvoerbinding toevoegen aan uw project.

Een uitvoerbinding toevoegen

Om naar een Azure Storage-wachtrij te schrijven:

  • extraOutputs Een eigenschap toevoegen aan de bindingsconfiguratie

    {
        methods: ['GET', 'POST'],
        extraOutputs: [sendToQueue], // add output binding to HTTP trigger
        authLevel: 'function',
        handler: () => {}
    }
    
  • output.storageQueue Een functie toevoegen boven de app.http aanroep

    const sendToQueue = output.storageQueue({
      queueName: 'outqueue',
      connection: 'AzureWebJobsStorage',
    });
    

Om naar een Azure Storage-wachtrij te schrijven:

  • extraOutputs Een eigenschap toevoegen aan de bindingsconfiguratie

    {
        methods: ['GET', 'POST'],
        extraOutputs: [sendToQueue], // add output binding to HTTP trigger
        authLevel: 'function',
        handler: () => {}
    }
    
  • output.storageQueue Een functie toevoegen boven de app.http aanroep

    const sendToQueue: StorageQueueOutput = output.storageQueue({
      queueName: 'outqueue',
      connection: 'AzureWebJobsStorage',
    });
    

In Functions vereist elk type binding een direction, typeen 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. De uitvoerconfiguratie queue beschrijft de velden die vereist zijn 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:

Snel Waarde 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 connection string voor het Storage-account bevat. De instelling AzureWebJobsStorage bevat de connection string voor het Storage-account dat u met de functie-app hebt gemaakt.

Er wordt een binding toegevoegd aan de matrix in uw bindingsfunction.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 Azure Queue Storage-uitvoerbinding toe te voegen.

Door de queue_output-decorator te gebruiken, is de bindingsrichting impliciet 'out' en is het type Azure Storage Queue. Voeg de volgende decorator toe aan uw functiecode in function_app.py:

@app.queue_output(arg_name="msg", queue_name="outqueue", connection="AzureWebJobsStorage")

In deze code identificeert arg_name de bindingsparameter waarnaar in uw code wordt verwezen, queue_name de naam van de wachtrij waarnaar de binding schrijft en connection de naam is van een toepassingsinstelling die de connection string voor het Storage-account bevat. In quickstarts gebruikt u hetzelfde storage account als de functie-app, die zich in de instelling AzureWebJobsStorage 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 in de functiemethode. Specifieke definities zijn afhankelijk van of uw app in proces (C#-klassebibliotheek) of in een geïsoleerd werkproces wordt uitgevoerd.

Open het bestand HttpExample.cs project en voeg de volgende klasse MultiResponse toe:

public class MultiResponse
{
    [QueueOutput("outqueue", Connection = "AzureWebJobsStorage")]
    public string[] Messages { get; set; }
    public IActionResult HttpResponse { get; set; }
}

Met de klasse MultiResponse kunt u schrijven naar een storage wachtrij met de naam outqueue en kunt u een HTTP succesbericht versturen. Er kunnen meerdere berichten naar de wachtrij worden verzonden omdat het QueueOutput kenmerk wordt toegepast op een tekenreeksmatrix.

Met de eigenschap Connection wordt de connection string voor het storage-account ingesteld. In dit geval kunt u Connection weglaten omdat u al het standaardaccount storage gebruikt.

In een Java-project worden de bindingen gedefinieerd als bindingaantekeningen voor de functiemethode. Het bestand function.json wordt vervolgens automatisch gegenereerd op basis van deze aantekeningen.

Blader naar de locatie van uw functiecode onder src/main/java, open het bestand Function.java project en voeg de volgende parameter toe aan de definitie van de methode run:

@QueueOutput(name = "msg", queueName = "outqueue", 
connection = "AzureWebJobsStorage") OutputBinding<String> msg,

De parameter msg is een OutputBinding<T> type, dat een verzameling tekenreeksen vertegenwoordigt die als berichten naar een uitvoerbinding worden geschreven wanneer de functie is voltooid. In dit geval is de uitvoer een storage wachtrij met de naam outqueue. De connection string voor het Storage-account wordt ingesteld door de methode connection. In plaats van de connection string zelf geeft u de toepassingsinstelling door die de Storage account-connection string 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 als een kenmerk in de functiehandtekening te access. Als u een uitvoerbinding gebruikt, hoeft u de Azure Storage SDK-code niet te gebruiken voor verificatie, het ophalen van een wachtrijreferentie of het schrijven van gegevens. Deze taken worden voor u uitgevoerd door de Functions runtime en de queue-outputbinding.

Voeg code toe die gebruikmaakt van het uitvoerbindingsobject op context.extraOutputs om een wachtrijbericht te genereren. 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 op context.extraOutputs om een wachtrijbericht te genereren. 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 exemplaar 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-queryreeks.

Vervang de bestaande Run methode door de volgende 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)
    };
}

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);

Wanneer u een uitvoerbinding gebruikt, hoeft u de Azure Storage SDK-code niet te gebruiken voor verificatie, het ophalen van een wachtrijreferentie of het schrijven van gegevens. Deze taken worden voor u uitgevoerd door de Functions runtime en de queue-outputbinding.

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 uw testcode onder src/test/java, open het bestand Function.java project en vervang de regel 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 kan worden geïntegreerd met Azure Functions Core-hulpprogramma's zodat u deze project kunt uitvoeren op uw lokale ontwikkelcomputer voordat u naar 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.

  1. Om de functie op te roepen, drukt u op F5 om het project van de functie-app te starten. In het terminalvenster wordt de uitvoer van Core Tools weergegeven. Uw app wordt gestart in het deelvenster Terminal . U kunt het URL-eindpunt van uw HTTP-geactiveerde functie zien die lokaal wordt uitgevoerd.

    Schermopname van de functie Local Visual Studio Code output.

    Als u Core Tools nog niet hebt geïnstalleerd, selecteert u Install om Core Tools te installeren wanneer hierom to do wordt gevraagd.
    Als u problemen ondervindt met windows, controleert u of de standaardterminal voor Visual Studio Code niet is ingesteld op WSL Bash.

  2. Als de Core Tools worden uitgevoerd, gaat u naar het gebied Azure: Functions. Vouw onder FunctiesLocal Project>Functions uit. Klik met de rechtermuisknop (Windows) of Ctrl - klik op de HttpExample functie (macOS) en kies Nu functie uitvoeren....

    Screenshot van de uitvoerfunctie nu vanuit Visual Studio Code.

  3. Druk in de hoofdtekst van de Enter-aanvraag op Enter om een aanvraagbericht naar uw functie te verzenden.

  4. 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 .

  5. Druk op CTRL + C om Core Tools te stoppen en de verbinding met het foutopsporingsprogramma te verbreken.

De functie lokaal uitvoeren

  1. Net als in het vorige artikel drukt u op F5 om het functie-app-project en Core Tools te starten.

  2. Als de Core Tools worden uitgevoerd, gaat u naar het gebied Azure: Functions. Vouw onder FunctiesLocal Project>Functions uit. Klik met de rechtermuisknop op de HttpExample functie (Ctrl-klik op Mac) en selecteer Nu functie uitvoeren....

    Scherm van het uitvoeren van een functie vanuit Visual Studio Code.

  3. In de hoofdtekst van de Enter-aanvraag ziet u de hoofdtekstwaarde van het aanvraagbericht van { "name": "Azure" }. Druk op Enter om dit aanvraagbericht naar uw functie te verzenden.

  4. Nadat een antwoord is geretourneerd, drukt u op Ctrl+C om Core Tools te stoppen.

Omdat u de storage connection string gebruikt, maakt uw functie verbinding met het Azure storage-account wanneer deze lokaal wordt uitgevoerd. Er wordt een nieuwe wachtrij met de naam outqueue gemaakt in uw storage-account door de Functions-runtime wanneer de uitvoerbinding voor het eerst wordt gebruikt. U gebruikt Storage Explorer om te controleren of de wachtrij samen met het nieuwe bericht is gemaakt.

Verbinding maken Storage Explorer met uw account

Sla deze sectie over als u Azure Storage Explorer al hebt geïnstalleerd en verbonden met uw Azure-account.

  1. Voer het hulpprogramma Azure Storage Explorer uit, selecteer het verbindingspictogram aan de linkerkant en selecteer Toevoegen van een account.

    Schermopname van het toevoegen van een Azure-account aan Microsoft Azure Storage Explorer.

  2. Kies in het dialoogvenster Connect, Azure-account toevoegen, kies uw Azure-omgeving en selecteer Aanmelden....

    Scherm van de aanmelding bij het Azure-accountvenster.

Nadat u zich hebt aangemeld bij uw account, ziet u alle Azure abonnementen die aan uw account zijn gekoppeld. Kies uw abonnement en selecteer Open Explorer.

De uitvoerwachtrij controleren

  1. 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 storage account. Uw storage-account wordt geopend in de Azure Storage Explorer.

  2. Vouw het knooppunt Wachtrijen uit en selecteer vervolgens de wachtrij met de naam outqueue.

    De wachtrij bevat het bericht dat de wachtrij-uitvoerbinding heeft aangemaakt toen u de HTTP-geactiveerde functie uitvoerde. Als u de functie hebt aangeroepen met de standaardwaarde name van Azure, wordt het wachtrijbericht Name doorgegeven aan de functie: Azure.

    Schermopname van het wachtrijbericht dat wordt weergegeven in Azure Storage Explorer.

  3. 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

  1. Druk in Visual Studio Code op F1 om het opdrachtenpalet te openen. Zoek naar en selecteer in het opdrachtenpalet Azure Functions: Deploy to function app....

  2. Kies de functie-app die u in het eerste artikel hebt gemaakt. Omdat u uw project opnieuw implementeert in dezelfde app, selecteert u Deploy om de waarschuwing over het overschrijven van bestanden te sluiten.

  3. Nadat de implementatie is voltooid, kunt u de Execute-functie nu opnieuw gebruiken... functie om de functie in Azure te activeren. Met deze opdracht wordt automatisch de functie toegangssleutel opgehaald en gebruikt bij het aanroepen van de HTTP-trigger-eindpunt.

  4. Nogmaals het bericht weergeven in de storage wachtrij om te controleren of de uitvoerbinding een nieuw bericht in de wachtrij genereert.

Resources opschonen

In Azure verwijzen resources naar functie-apps, functies, storage accounts enzovoort. Deze zijn gegroepeerd in resourcegroepen. U kunt alle resources in een groep verwijderen door de groep zelf te verwijderen.

U hebt hulpmiddelen gemaakt om deze quickstarts te voltooien. Mogelijk wordt u gefactureerd voor deze resources, afhankelijk van uw accountstatus en serviceprijzen. Als u de resources niet meer nodig hebt, kunt u ze als volgt verwijderen:

  1. Druk in Visual Studio Code op F1 om het opdrachtenpalet te openen. Zoek naar en selecteer in het opdrachtenpalet Azure: Open in portal.

  2. Kies uw functie-app en druk op Enter. De pagina van de functie-app wordt geopend in de Azure portal.

  3. Selecteer op het tabblad Overzicht de benoemde koppeling naast Resourcegroep.

    Schermopname van het selecteren van de resourcegroep die u wilt verwijderen van de pagina van de functie-app.

  4. Controleer op de pagina Resourcegroep de lijst met opgenomen resources en controleer of ze de resources zijn die u wilt verwijderen.

  5. 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 de door HTTP geactiveerde functie bijgewerkt om gegevens naar een opslagwachtrij te schrijven. Nu vindt u meer informatie over het ontwikkelen van Functies met behulp van Visual Studio Code: