Delen via


Quickstart: Een Durable Functions-app instellen voor het gebruik van de Netherite-opslagprovider

Gebruik Durable Functions, een functie van Azure Functions, om stateful functies te schrijven in een serverloze omgeving. Durable Functions beheert de status, controlepunten en start deze opnieuw in uw toepassing.

Durable Functions biedt verschillende opslagproviders, ook wel back-ends genoemd, voor het opslaan van indeling en de runtimestatus van entiteiten. Nieuwe projecten worden standaard geconfigureerd voor het gebruik van de Azure Storage-provider. In deze quickstart configureert u een Durable Functions-app voor het gebruik van de Netherite-opslagprovider.

Notitie

  • Ondersteuning voor het gebruik van de back-end van Netherite Storage met Durable Functions eindigt op 31 maart 2028. Het is raadzaam om de Durable Task Scheduler te evalueren voor workloads waarvoor u momenteel Netherite gebruikt. Bekijk de aankondiging voor einde van de ondersteuning.

  • Netherite is ontworpen en ontwikkeld door Microsoft Research voor scenario's met hoge doorvoer . In sommige benchmarks steeg de doorvoer met meer dan een groottevolgorde ten opzichte van de standaard Azure Storage-provider. Zie de documentatie van opslagproviders voor opslag van Netherite voor meer informatie over het gebruik van de Netherite-opslagprovider.

  • Het migreren van taakhubgegevens tussen opslagproviders wordt momenteel niet ondersteund. Functie-apps met bestaande runtimegegevens beginnen met een nieuwe, lege taakhub nadat ze overschakelen naar de back-end van Netherite. Op dezelfde manier kan de inhoud van de taakhub die met MSSQL wordt gemaakt, niet behouden als u overschakelt naar een andere opslagprovider.

  • De Netherite-back-end wordt momenteel niet ondersteund door Durable Functions wanneer deze wordt uitgevoerd op het Flex Consumption-abonnement.

Vereisten

In de volgende stappen wordt ervan uitgegaan dat u begint met een bestaande Durable Functions-app en bekend bent met hoe u deze kunt gebruiken.

In deze quickstart wordt ervan uitgegaan dat u het volgende al hebt:

  • Er is een Azure Functions-project gemaakt op uw lokale computer.
  • Durable Functions toegevoegd aan uw project met een orchestratorfunctie en een clientfunctie die dit activeert.
  • Het project geconfigureerd voor lokale foutopsporing.
  • Meer informatie over het implementeren van een Azure Functions-project in Azure.

Als u niet aan deze vereisten voldoet, wordt u aangeraden te beginnen met een van de volgende quickstarts:

De Netherite-extensie toevoegen (alleen.NET)

Notitie

Als uw app extensiebundels gebruikt, kunt u deze sectie overslaan. Extensiebundels hoeven niet meer handmatig extensiebeheer te gebruiken.

Installeer eerst de nieuwste versie van de microsoft.Azure.Functions.Worker.Extensions.DurableTask.Netherite-opslagproviderextensie van NuGet. Voor .NET neemt u meestal een verwijzing naar het bestand .csproj op en bouwt u het project.

U kunt de extensie installeren met behulp van de volgende CLI-opdracht van Azure Functions Core Tools:

func extensions install --package <package name depending on your worker model> --version <latest version>

Zie func-extensies installeren voor meer informatie over het installeren van Azure Functions-extensies via de Core Tools CLI.

Local.settings.json configureren voor lokale ontwikkeling

De Back-end van Netherite vereist een verbindingsreeks naar Azure Event Hubs om te worden uitgevoerd in Azure. Voor lokale ontwikkeling, als de tekenreeks "SingleHost" echter de noodzaak om Event Hubs te gebruiken, wordt overgeslagen.

Stel in

{
  "IsEncrypted": false,
  "Values": {
    "AzureWebJobsStorage": "UseDevelopmentStorage=true",
    "EventHubsConnection": "SingleHost",
    "FUNCTIONS_WORKER_RUNTIME": "<dependent on your programming language>"
  }
}

Notitie

De waarde is afhankelijk van FUNCTIONS_WORKER_RUNTIME de programmeertaal die u gebruikt. Zie de runtimereferentie voor meer informatie.

Host.json bijwerken

Bewerk de sectie van de opslagprovider van het host.json-bestand om in te stellen type op Netherite:

{
  "version": "2.0",
  "extensions": {
    "durableTask": {
      "storageProvider": {
        "type": "Netherite"
        }
    }
  }
}

Dit codefragment is een basisconfiguratie. Later kunt u parameters toevoegen.

Lokaal testen

Uw app is nu klaar voor lokale ontwikkeling. U kunt de functie-app starten om deze te testen. Een manier om de app te starten, is door deze uit te voeren func host start in de hoofdmap van uw toepassing en vervolgens een eenvoudige orchestratorfunctie uit te voeren.

Terwijl de functie-app wordt uitgevoerd, publiceert Netherite laadgegevens over de actieve partities naar een Azure Storage-tabel met de naam DurableTaskPartitions. U kunt Azure Storage Explorer gebruiken om te controleren of deze werkt zoals verwacht. Als Netherite correct wordt uitgevoerd, is de tabel niet leeg. Zie de volgende schermopname voor een voorbeeld.

Schermopname van gegevens in de tabel DurableTaskPartitions in Azure Storage Explorer.

Zie Partitietabel voor meer informatie over de inhoud van de tabel DurableTaskPartitions.

Notitie

Als u lokale opslagemulatie gebruikt in een Windows-besturingssysteem, moet u ervoor zorgen dat u de Emulator voor de Azure Storage-opslag gebruikt en niet het eerdere Onderdeel azure Storage Emulator . Lokale opslagemulatie met Netherite wordt alleen ondersteund via Azurite.

Uw app uitvoeren in Azure

Als u uw app wilt uitvoeren in Azure, maakt u een Azure Functions-app.

Event Hubs instellen

U moet een Event Hubs-naamruimte instellen om Netherite uit te voeren in Azure. U kunt deze ook instellen als u Event Hubs liever gebruikt tijdens de lokale ontwikkeling.

Notitie

Voor een Event Hubs-naamruimte worden doorlopend kosten in rekening gebracht, ongeacht of deze door Durable Functions wordt gebruikt. Microsoft biedt een gratis Azure-abonnementsaccount van 12 maanden als u Azure voor het eerst verkent.

Een Event Hubs-naamruimte maken

Voer de stappen uit om een Event Hubs-naamruimte te maken in Azure Portal. Wanneer u de naamruimte maakt, wordt u mogelijk gevraagd het volgende te doen:

  • Selecteer een resourcegroep. Gebruik dezelfde resourcegroep die door de functie-app wordt gebruikt.
  • Selecteer een plan en richt doorvoereenheden in. Selecteer de standaardwaarden. U kunt deze instelling later wijzigen.
  • Selecteer een bewaartijd . Selecteer de standaardwaarde. Deze instelling heeft geen effect op Netherite.

De Event Hubs-verbindingsreeks ophalen

Als u de verbindingsreeks voor uw Event Hubs-naamruimte wilt ophalen, gaat u naar uw Event Hubs-naamruimte in Azure Portal. Selecteer Beleid voor gedeelde toegang en selecteer vervolgens RootManagedSharedAccessKey. Er wordt een veld met de naam Verbindingsreeks-primaire sleutel weergegeven en de waarde van het veld is de verbindingsreeks.

Schermopname van het vinden van de verbindingsreeks primaire sleutel in Azure Portal.

De verbindingsreeks toevoegen als toepassingsinstelling

Voeg vervolgens uw verbindingsreeks toe als toepassingsinstelling in uw functie-app. Als u deze wilt toevoegen in Azure Portal, gaat u naar de weergave van uw functie-app, selecteert u Configuratie en selecteert u vervolgens De instelling Nieuwe toepassing. U kunt toewijzen EventHubsConnection aan uw verbindingsreeks. In de volgende schermopnamen ziet u enkele voorbeelden.

Schermopname van de weergave van de functie-app, Configuratie en selecteer Nieuwe toepassingsinstelling.

Schermopname van het invoeren van EventHubsConnection als de naam en de verbindingsreeks als waarde.

Runtime schalen inschakelen (alleen Elastic Premium)

Notitie

Sla deze sectie over als uw app zich niet in het Elastic Premium-abonnement bevindt.

Als uw app wordt uitgevoerd in het Elastic Premium-abonnement, raden we u aan runtimeschaalbewaking in te schakelen voor betere schaalaanpassing. Ga naar Configuratie, selecteer De runtime-instellingen van de functie en stel Runtimeschaalbewaking in op Aan.

Schermopname van het inschakelen van runtimeschaalbewaking in de portal.

Zorg ervoor dat uw app gebruikmaakt van een 64-bits architectuur (alleen Windows)

Notitie

Sla deze sectie over als uw app wordt uitgevoerd in Linux.

Netherite vereist een 64-bits architectuur. Vanaf Azure Functions V4 moet de 64-bits standaardinstelling zijn. U kunt deze instelling meestal valideren in Azure Portal. Selecteer onder Configuratie algemene instellingen en zorg ervoor dat Platform is ingesteld op 64-bits. Als u deze optie niet ziet in de portal, kunt u mogelijk al worden uitgevoerd op een 64-bits platform. In Linux-apps wordt deze instelling bijvoorbeeld niet weergegeven omdat ze alleen 64-bits architectuur ondersteunen.

Schermopname van het configureren van een runtime voor het gebruik van 64-bits in de portal.

Implementeren

U kunt nu uw code implementeren in de cloud en uw tests of workload erop uitvoeren. Als u wilt controleren of Netherite juist is geconfigureerd, kunt u de metrische gegevens voor Event Hubs in de portal bekijken om ervoor te zorgen dat er activiteit is.

Notitie

Raadpleeg de implementatie-instructies voor uw programmeertaal in Vereisten voor informatie over het implementeren van uw project in Azure.

  • Voor meer informatie over de Netherite-architectuur, configuratie en workloadgedrag, inclusief prestatiebenchmarks, raden we u aan de Documentatie van Netherite te bekijken.