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:

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 .

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

  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 waardeAzureWebJobsStorage, 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 de app.http aanroep

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

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

    Schermopname van de Visual Studio Code-uitvoer van de lokale functie.

    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.

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

    Schermopname van de functie nu uitvoeren 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. 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....

    Schermopname van het uitvoeren van de functie vanuit Visual Studio Code.

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

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

  1. Voer het hulpprogramma Azure Storage Explorer uit, selecteer het verbindingspictogram aan de linkerkant en selecteer Een account toevoegen.

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

  2. Kies in het dialoogvenster Verbinding maken een Azure-account toevoegen, kies uw Azure-omgeving en selecteer vervolgens Aanmelden....

    Schermopname van het aanmeldingsvenster voor uw Azure-account.

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

  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 opslagaccount. Uw opslagaccount wordt geopend in Azure Storage Explorer.

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

    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. In het opdrachtenpalet zoekt en selecteert u 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 voor dezelfde app, selecteert u Implementeren om de waarschuwing over het overschrijven van bestanden te negeren.

  3. Nadat de implementatie is voltooid, kunt u de functie Nu uitvoeren opnieuw gebruiken... om de functie in Azure te activeren.

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

  1. Druk in Visual Studio Code op F1 om het opdrachtenpalet te openen. In het opdrachtenpalet zoekt en selecteert u Azure: Open in portal.

  2. Kies uw functie-app en druk op Enter. 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 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: