Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
In deze quickstart gebruikt u Visual Studio Code om een PowerShell-Durable Functions-app te maken en te testen waarmee aanroepen naar andere functies worden ingedeeld en gekoppeld. Vervolgens publiceert u het naar Azure.
Durable Functions beheert de status, controlepunten en opnieuw opstarten in uw toepassing, waardoor u stateful werkstromen kunt schrijven in een serverloze omgeving.
Vereiste voorwaarden
U hebt het volgende nodig om deze quickstart te voltooien:
De Visual Studio Code-extensie Azure Functions geïnstalleerd.
De nieuwste versie van Azure Functions Core Tools geïnstalleerd.
Een HTTP-testprogramma waarmee uw gegevens veilig blijven. Zie HTTP-testhulpprogramma's voor meer informatie.
Een Azure-abonnement. Als u Durable Functions wilt gebruiken, moet u een Azure Storage-account hebben.
Als u geen Azure-account hebt, maak dan een gratis account aan voordat u begint.
Uw lokale project maken
In deze sectie gebruikt u Visual Studio Code om een lokaal Azure Functions project te maken.
Selecteer in Visual Studio Code F1 (of selecteer Ctrl/Cmd+Shift+P) om het opdrachtenpalet te openen. Voer bij de prompt (
>) Azure Functions in en selecteer vervolgens: Nieuw project maken.
Kies Bladeren. In het dialoogvenster Map selecteren, navigeer naar een map die u voor uw project wilt gebruiken en kies Selecteren.
Geef bij de prompts de volgende informatie op:
Snel Action Beschrijving Selecteer een taal voor uw functie-app-project Selecteer PowerShell. Hiermee maakt u een lokaal PowerShell Functions-project. Een versie selecteren Selecteer Azure Functions v4. U ziet deze optie alleen wanneer Core Tools nog niet is geïnstalleerd. In dit geval wordt Core Tools geïnstalleerd wanneer u de app voor het eerst uitvoert. Selecteer een sjabloon voor de eerste functie van uw project Selecteer Nu overslaan. Selecteer hoe u uw project wilt openen Selecteer Openen in het huidige venster. Hiermee opent u Visual Studio Code in de map die u hebt geselecteerd.
Visual Studio Code installeert Azure Functions Core Tools als het nodig is om een project te maken. Er wordt ook een project voor een functie-app in een map gemaakt. Dit project bevat de configuratiebestanden host.json en local.settings.json.
Er wordt ook een package.json-bestand gemaakt in de hoofdmap.
De zelfstandige Durable Functions SDK configureren
De zelfstandige SDK biedt de beste prestaties en nieuwste functies voor PowerShell Durable Functions. Configureer deze in drie stappen:
Stap 1: Open local.settings.json en controleer of de volgende instellingen aanwezig zijn. Voeg ze indien nodig toe of werk ze bij:
{
"IsEncrypted": false,
"Values": {
"AzureWebJobsStorage": "",
"FUNCTIONS_WORKER_RUNTIME": "powershell",
"FUNCTIONS_WORKER_RUNTIME_VERSION" : "7.4",
"ExternalDurablePowerShellSDK": "true"
}
}
Stap 2: Open requirements.psd1 en voeg de SDK-afhankelijkheid toe:
@{
'AzureFunctions.PowerShell.Durable.SDK' = '2.*'
}
De 2.* aanduiding zorgt ervoor dat u de nieuwste stabiele 2.x-versie krijgt van de PowerShell Gallery.
Stap 3: Voeg de volgende regel toe aan het einde van het profile.ps1 bestand:
Import-Module AzureFunctions.PowerShell.Durable.SDK -ErrorAction Stop
Uw functies maken
Een eenvoudige Durable Functions-app heeft drie functies:
| Functietype | Doel |
|---|---|
| Orchestrator | Een werkstroom die andere functies organiseert. |
| Activity | Aangeroepen door de orchestrator om werk te verrichten en een waarde terug te geven. |
| Client (HTTP starter) | Een door HTTP geactiveerde functie waarmee een orchestrator wordt gestart. |
Open voor elke functie het opdrachtenpalet en selecteer Azure Functions: Functie maken en geef vervolgens de gevraagd waarden op:
1. Orchestrator-functie
| Snel | Value |
|---|---|
| Een sjabloon selecteren | Durable Functions orchestrator |
| Functienaam | HalloOrchestrator |
Open HelloOrchestrator/run.ps1 om de orchestrator te zien. Elke aanroep van Invoke-ActivityFunction roept de functie Hello aan.
2. Activiteitsfunctie
| Snel | Value |
|---|---|
| Een sjabloon selecteren | Durable Functions activiteit |
| Functienaam | Hello- |
Open Hello/run.ps1 om te zien dat er een naam als invoer wordt gebruikt en een begroeting wordt geretourneerd. Activiteitenfuncties zijn de plaats waar u acties uitvoert, zoals databaseoproepen of berekeningen.
3. Clientfunctie (HTTP starter)
| Snel | Value |
|---|---|
| Een sjabloon selecteren | Durable Functions HTTP-starter |
| Functienaam | HttpStart |
| Autorisatieniveau | Anoniem (voor demodoeleinden) |
Open HttpStart/run.ps1 om te controleren hoe het wordt gebruikt om een nieuwe orkestratie te starten en om een HTTP-antwoord met bewakings-URL's te retourneren.
U hebt nu een Durable Functions-app die u lokaal kunt uitvoeren en implementeren in Azure.
Aanbeveling
In deze quickstart wordt gebruikgemaakt van de zelfstandige Durable Functions PowerShell SDK. Zie de handleiding voor de zelfstandige PowerShell SDK voor meer informatie over de SDK en de migratie van de verouderde ingebouwde versie.
De functie lokaal testen
Azure Functions Core Tools biedt u de mogelijkheid om een Azure Functions project uit te voeren op uw lokale ontwikkelcomputer. U wordt gevraagd deze hulpprogramma's te installeren wanneer u voor het eerst een functie start in Visual Studio.
Als u uw functie wilt testen, stelt u een onderbrekingspunt in de code van de
Helloactiviteitsfunctie in (in Hello/run.ps1). Selecteer F5 of selecteer Debuggen: Start Debuggen in het opdrachtpalet om het function app-project te starten. Uitvoer van Core Tools wordt weergegeven in het terminalpaneel.Opmerking
Zie Durable Functions diagnostics voor meer informatie over foutopsporing.
Durable Functions heeft een opslagaccount nodig om te draaien. U kunt de Azurite-opslagemulator gebruiken voor lokale ontwikkeling of een Azure-opslagaccount maken wanneer hierom wordt gevraagd. Als Visual Studio Code u wordt gevraagd een opslagaccount te selecteren, kiest u Selecteer het opslagaccount.
Geef bij de prompts de volgende informatie op om een nieuw opslagaccount te maken in Azure.
Snel Action Beschrijving Abonnement selecteren Selecteer de naam van uw abonnement. Uw Azure-abonnement. Een opslagaccount selecteren Selecteer Een nieuw opslagaccount maken. Voer de naam van het nieuwe opslagaccount in Voer een unieke naam in. De naam van het opslagaccount dat moet worden gemaakt. Een resourcegroep selecteren Voer een unieke naam in. De naam van de resourcegroep die u wilt maken. Een locatie selecteren Selecteer een Azure-regio. Selecteer een regio die dicht bij u in de buurt is. Kopieer in het terminalvenster het URL-eindpunt van uw door HTTP geactiveerde functie.
Gebruik uw browser of een HTTP-testhulpprogramma om een HTTP POST-aanvraag naar het URL-eindpunt te verzenden.
Vervang het laatste segment door de naam van de Orchestrator-functie (
HelloOrchestrator). De URL moet vergelijkbaar zijn methttp://localhost:7071/api/orchestrators/HelloOrchestrator.Het antwoord is het eerste resultaat van de HTTP-functie. Het laat u weten dat de duurzame orkestratie succesvol is gestart. Het eindresultaat van de orkestratie wordt nog niet weergegeven. De reactie bevat enkele nuttige URL's. Vraag voor nu de status van de orchestratie op.
Kopieer de URL-waarde voor
statusQueryGetUri, plak deze in de adresbalk van de browser en voer de aanvraag uit. U kunt ook uw HTTP-testhulpprogramma blijven gebruiken om de GET-aanvraag uit te geven.Het verzoek vraagt de orchestratie-instantie om de status. Er wordt een antwoord weergegeven waarin het exemplaar is voltooid, met de uitvoer van de duurzame functie:
{ "name": "HelloOrchestrator", "instanceId": "9a528a9e926f4b46b7d3deaa134b7e8a", "runtimeStatus": "Completed", "input": null, "customStatus": null, "output": [ "Hello Tokyo!", "Hello Seattle!", "Hello London!" ], "createdTime": "2020-03-18T21:54:49Z", "lastUpdatedTime": "2020-03-18T21:54:54Z" }Als u de foutopsporing wilt stoppen, selecteert u Shift+F5 in Visual Studio Code.
Nadat u hebt gecontroleerd of de functie correct wordt uitgevoerd op uw lokale computer, is het tijd om het project te publiceren naar Azure.
Aanmelden bij Azure
Voordat u Azure-resources kunt maken of uw app kunt publiceren, moet u zich aanmelden bij Azure.
Als u nog niet bent aangemeld, selecteert u in de activiteitenbalk het Azure-pictogram. Selecteer vervolgens onder ResourcesAangetekend bij Azure.
Als u al bent aangemeld en uw bestaande abonnementen kunt zien, gaat u naar de volgende sectie. Als u nog geen Azure account hebt, selecteert u Maak een Azure-account. Studenten kunnen Maak een Azure-account voor studenten selecteren.
Wanneer u hierom wordt gevraagd in de browser, selecteert u uw Azure-account en meldt u zich aan met behulp van uw Azure-accountreferenties. Als u een nieuw account maakt, kunt u zich aanmelden nadat uw account is gemaakt.
Nadat u zich hebt aangemeld, kunt u het nieuwe browservenster sluiten. De abonnementen die deel uitmaken van uw Azure-account, worden weergegeven in de zijbalk.
De functie-app maken in Azure
In deze sectie maakt u een functie-app in het Flex Consumption-abonnement, samen met gerelateerde resources in uw Azure-abonnement. Veel van de beslissingen voor het maken van resources worden voor u gemaakt op basis van standaardgedrag. Voor meer controle over de gemaakte resources moet u in plaats daarvan uw functie-app maken met geavanceerde opties.
Selecteer F1 in Visual Studio Code om het opdrachtenpalet te openen. Voer bij de prompt (
>) in en selecteer Azure Functions: Functie-app maken in Azure.Geef bij de prompts de volgende informatie op:
Snel Action Abonnement selecteren Selecteer het Azure-abonnement dat u wilt gebruiken. De prompt wordt niet weergegeven wanneer er slechts één abonnement zichtbaar is onder Resources. Voer de naam van een nieuwe functie-app in Voer een wereldwijd unieke naam in die geldig is in een URL-pad. De naam die u invoert, wordt gevalideerd om ervoor te zorgen dat deze uniek is in Azure Functions. Selecteer een locatie voor nieuwe resources Selecteer een Azure-regio. Voor betere prestaties selecteert u een regio bij u in de buurt. Alleen regio's die worden ondersteund door Flex Consumption-abonnementen worden weergegeven. Een runtimestack selecteren Selecteer de taalversie die u momenteel lokaal uitvoert. Resourceverificatietype selecteren Selecteer Beheerde identiteit. Dit is de veiligste optie voor het maken van verbinding met het standaardhostopslagaccount. In het deelvenster Azure: Activiteitenlogboek geeft de Azure-extensie de status van afzonderlijke resources weer terwijl ze in Azure worden gemaakt.
Wanneer de functie-applicatie wordt gemaakt, worden de volgende gerelateerde resources aangemaakt in uw Azure-abonnement. De resources hebben een naam op basis van de naam die u hebt ingevoerd voor uw functie-app.
- Een resourcegroep, een logische container voor gerelateerde resources.
- Een functie-app, die de omgeving biedt voor het uitvoeren van uw functiecode. Met een functie-app kunt u functies groeperen in een logische eenheid, zodat u resources eenvoudiger kunt beheren, implementeren en delen binnen hetzelfde hostingabonnement.
- Een Azure App Service-plan, waarmee de onderliggende host voor uw functie-app wordt gedefinieerd.
- Een standaard Azure Storage-account dat wordt gebruikt door de Functions-host voor het onderhouden van de status en andere informatie over uw functie-app.
- Een Application Insights-exemplaar dat is verbonden met de functie-app en waarmee het gebruik van uw functies in de app wordt bijgehouden.
- Een door de gebruiker toegewezen beheerde identiteit die wordt toegevoegd aan de rol Inzender voor opslagblobgegevens in het nieuwe standaardhostopslagaccount.
Nadat de functie-app is gemaakt en het implementatiepakket is toegepast, wordt er een melding weergegeven.
Aanbeveling
Standaard worden de Azure-resources die vereist zijn voor uw functie-app gemaakt op basis van de naam die u invoert voor uw functie-app. De resources worden standaard aangemaakt met de functie-applicatie in dezelfde, nieuwe resourcegroep. Als u de namen van de gekoppelde resources wilt aanpassen of bestaande resources opnieuw wilt gebruiken, publiceert u het project met geavanceerde opties voor het maken ervan.
Het project implementeren in Azure
Belangrijk
Implementeren in een bestaande Function App overschrijft altijd de inhoud van die app in Azure.
Voer in het opdrachtenpalet Azure Functions: Deploy to Function App in en selecteer het vervolgens.
Selecteer de functie-app die u zojuist hebt gemaakt. Wanneer u wordt gevraagd om eerdere implementaties te overschrijven, selecteert u Implementeren om uw functiecode te implementeren in de nieuwe functie-app-resource.
Wanneer de implementatie is voltooid, selecteert u Uitvoer weergeven om de resultaten van het maken en implementeren weer te geven, inclusief de Azure resources die u hebt gemaakt. Als u de melding mist, selecteert u het belpictogram in de rechterbenedenhoek om deze opnieuw te zien.
Uw functie testen in Azure
Controleer in de Azure-portal (of met behulp van de Azure CLI) of de app-instelling
ExternalDurablePowerShellSDKis ingesteld optrue. Als deze ontbreekt, voegt u deze toe onderOmgevingsvariabelen instellingen> en start u de functie-app opnieuw.Kopieer de URL van de HTTP-trigger vanuit het uitvoervenster. De URL moet de volgende indeling hebben:
https://<functionappname>.azurewebsites.net/api/orchestrators/HelloOrchestratorVerzend een HTTP POST-aanvraag naar de URL. U krijgt hetzelfde statusantwoord dat u hebt ontvangen toen u lokaal hebt getest.
Als de orkestratie niet wordt gestart, controleert u de logboeken van de functie-app in de Azure-portal onder Monitor>Log stream op fouten met betrekking tot de SDK-import of opslagconnectiviteit.
De hulpbronnen opschonen
Als u de resources die u hebt gemaakt om de quickstart te voltooien niet meer nodig hebt, kunt u ter voorkoming van gerelateerde kosten in uw Azure-abonnement de resourcegroep verwijderen en alle gerelateerde resources.