Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Usare il Pianificatore di attività durevoli come back-end per le app Funzioni durevoli per archiviare lo stato runtime di orchestrazione ed entità. In questa guida introduttiva si clona un esempio Hello Cities già configurato per usare Durable Task Scheduler, lo si esegue localmente con l'emulatore e lo si distribuisce quindi in Azure.
- Clonare l'esempio Hello Cities preconfigurato per Durable Task Scheduler.
- Configurare l'emulatore di Durable Task Scheduler per lo sviluppo locale.
- Eseguire l'esempio e verificare l'output di orchestrazione.
- Distribuisci la tua app su Azure e monitorala tramite il dashboard di Durable Task Scheduler.
Prerequisiti
Suggerimento
Una volta avviato l'emulatore, è possibile accedere al dashboard di Durable Task Scheduler all'indirizzo http://localhost:8082 per monitorare le orchestrazioni.
Eseguire l'esempio di avvio rapido
Installare l'ultima versione del pacchetto Microsoft.Azure.Functions.Worker.Extensions.DurableTask.AzureManaged usando il comando dotnet add package:
dotnet add package Microsoft.Azure.Functions.Worker.Extensions.DurableTask.AzureManaged --prerelease
Annotazioni
L'estensione Durable Task Scheduler richiede la versione Microsoft.Azure.Functions.Worker.Extensions.DurableTask o versione successiva.1.2.2
Compilare e avviare l'app per le funzioni:
dotnet build func start
In host.json, aggiornare la proprietà extensionBundle alla versione 4.32.0 o successiva, che include il supporto per il pianificatore di attività durevole:
{
"extensionBundle": {
"id": "Microsoft.Azure.Functions.ExtensionBundle",
"version": "[4.32.0, 5.0.0)"
}
}
Avviare l'app per le funzioni:
func start
Compilare e avviare l'app per le funzioni:
mvn clean package mvn azure-functions:run
In un terminale separato attivare un'orchestrazione:
$response = Invoke-RestMethod -Method POST -Uri http://localhost:7071/api/DurableFunctionsOrchestrationCSharp1_HttpStart $response
In un terminale separato attivare un'orchestrazione:
$response = Invoke-RestMethod -Method POST -Uri http://localhost:7071/api/StartChaining $response
La risposta contiene gli URL di stato per l'istanza di orchestrazione. Eseguire una query su
statusQueryGetUriper controllare il risultato:Invoke-RestMethod -Uri $response.statusQueryGetUriQuando il campo di orchestrazione
runtimeStatusèCompleted, l'output contiene messaggi di saluto. SeruntimeStatusmostraRunningoPending, attendi un momento e interroga di nuovo.Visualizza altri dettagli sull'istanza di orchestrazione nel dashboard di Durable Task Scheduler all'indirizzo
http://localhost:8082.
Informazioni sulla configurazione di Durable Task Scheduler
La configurazione chiave che fa sì che questi esempi usino il Durable Task Scheduler si trova in due file.
host.json
La sezione storageProvider indica Durable Functions di usare l'utilità di pianificazione delle attività permanenti (azureManaged) anziché il back-end predefinito Archiviazione di Azure:
{
"extensions": {
"durableTask": {
"hubName": "default",
"storageProvider": {
"type": "azureManaged",
"connectionStringName": "DURABLE_TASK_SCHEDULER_CONNECTION_STRING"
}
}
}
}
local.settings.json
La stringa di connessione fa riferimento all'emulatore locale per lo sviluppo:
{
"Values": {
"DURABLE_TASK_SCHEDULER_CONNECTION_STRING": "Endpoint=http://localhost:8080;TaskHub=default;Authentication=None"
}
}
Annotazioni
Per eseguire la migrazione di un'app Durable Functions esistente, aggiornare questi due file e aggiungere il pacchetto di estensione appropriato per la lingua. Per .NET, installare il Microsoft.Azure. Functions.Worker.Extensions.DurableTask.AzureManaged pacchetto NuGet. Per altre lingue, aggiornare il bundle di estensione in host.json alla versione [4.32.0, 5.0.0).
Esegui l'app in Azure
Creare le risorse necessarie
Creare un'istanza di Durable Task Scheduler e Funzioni di Azure app in Azure seguendo il flusso di creazione integrata dell'app Function. Questa esperienza configura automaticamente l'accesso basato su identità e configura le variabili di ambiente necessarie per l'app per accedere all'utilità di pianificazione.
Passare al pannello di creazione dell'applicazione Funzione.
Nel pannello Crea app per le funzioni (Consumo Flessibile), compilare le informazioni nella scheda Informazioni di base.
Campo Descrizione Abbonamento Seleziona la tua sottoscrizione di Azure. Gruppo di risorse Selezionare un gruppo di risorse esistente o fare clic su Crea nuovo per crearne uno nuovo. Nome dell'app Function Creare un nome univoco per l'app per le funzioni. Distribuire codice o immagine del contenitore? Mantenere selezionata l'opzione Codice . Area geografica Selezionare una delle aree supportate. Stack di esecuzione Selezionare il runtime che si usa per questo avvio rapido. Versione Selezionare la versione dello stack di runtime. Dimensioni dell'istanza Selezionare una dimensione dell'istanza o usare la selezione predefinita. Altre informazioni sulle dimensioni delle istanze. Ridondanza della zona Lasciare l'impostazione predefinita Disabilitata . Selezionare la scheda Durable Functions.
Scegliere Durable Task Scheduler gestito da Azure come provider back-end per Durable Functions.
Creare una risorsa per l'Utilità di pianificazione. Questa azione crea automaticamente un hub delle attività.
Campo Descrizione Back-end di archiviazione Selezionare Azure managed: Durable Task Scheduler (Utilità di pianificazione attività durevole). Area geografica Assicurarsi che le regioni dello scheduler e dell'app di funzioni siano uguali. Pianificatore di attività persistente Usare il nome dell'utilità di pianificazione offerto oppure fare clic su Crea nuovo per creare un nome personalizzato. Pianificazione Selezionare il piano tariffario più adatto al progetto. Vedere la guida Scelta di un framework di orchestrazione per determinare quale piano è migliore per l'uso in produzione. Unità di capacità Applicabile solo quando è selezionato il piano tariffario "Dedicato". È possibile selezionare fino a 3 unità di capacità. Fare clic su Rivedi e crea per esaminare la creazione della risorsa.
Un'identità gestita assegnata dall'utente con l'autorizzazione di controllo degli accessi in base al ruolo richiesta viene creata automaticamente e aggiunta all'app per le funzioni. È possibile trovare nelle informazioni di riepilogo relative alla risorsa di identità gestita, ad esempio:
Ruolo assegnato ad esso (Collaboratore ai dati dell'attività durevole)
Ambito dell'assegnazione definito a livello di hub attività
Fare clic su Crea una volta superata la convalida.
La distribuzione delle risorse può richiedere da 15 a 20 minuti. Al termine, è possibile distribuire l'app in Azure.
Distribuisci l'applicazione di funzioni su Azure
Importante
La distribuzione in un'applicazione di funzione esistente sovrascriverà sempre il contenuto di tale app in Azure.
Nel riquadro comandi immettere e quindi selezionare Funzioni di Azure: Deploy to Function App.
Selezionare l'app per le funzioni appena creata. Quando viene richiesto di sovrascrivere le distribuzioni precedenti, selezionare Distribuisci per distribuire il codice della funzione nella nuova risorsa dell'app per le funzioni.
Al termine della distribuzione, selezionare Visualizza output per visualizzare i risultati della creazione e della distribuzione, incluse le risorse di Azure create. Se non si riesce a visualizzare la notifica, selezionare l'icona della campana nell'angolo in basso a destra per visualizzarla di nuovo.
App nel piano Premium di Azure Functions
Se la tua app è in esecuzione nel piano Functions Premium, attiva l'impostazione Runtime Scale Monitoring dopo la distribuzione per garantire che la tua app venga ridimensionata automaticamente in base al carico.
az resource update -g <resource_group> -n <function_app_name>/config/web --set properties.functionsRuntimeScaleMonitoringEnabled=1 --resource-type Microsoft.Web/sites
Testare l'app per le funzioni
Eseguire il comando seguente per ottenere l'URL della funzione:
az functionapp function list --resource-group <RESOURCE_GROUP_NAME> --name <FUNCTION_APP_NAME> --query '[].{Function:name, URL:invokeUrlTemplate}' --output json
Controllare lo stato dell'orchestrazione
Controllare lo stato dell'istanza di orchestrazione e i dettagli dell'attività nel dashboard del pianificatore di attività durevole. Per accedere al dashboard è necessario eseguire l'accesso.
Annotazioni
L'istruzione seguente mostra un'assegnazione di ruolo limitata a un hub di attività specifico. Se è necessario accedere a tutti gli hub di attività in un pianificatore, eseguire l'assegnazione a livello del pianificatore.
Passare alla risorsa del pianificatore di attività durevole nel portale.
Fare clic sul nome di un hub attività.
Nel menu a sinistra selezionare Controllo di accesso (IAM).
Fare clic su Aggiungi per aggiungere un'assegnazione di ruolo.
Cercare e selezionare Collaboratore dati attività durevole. Fare clic su Avanti.
Nella scheda Membri , per Assegna accesso a, selezionare Utente, gruppo o entità servizio.
In Membri fare clic su + Seleziona membri.
Nel riquadro Seleziona membri cercare il nome o il messaggio di posta elettronica:
Selezionare il messaggio di posta elettronica e fare clic sul pulsante Seleziona .
Fare clic su Rivedi e assegna per completare l'assegnazione del ruolo.
Dopo aver assegnato il ruolo, fare clic su Panoramica nel menu a sinistra della risorsa dell'hub attività e passare all'URL del dashboard disponibile nella sezione Informazioni di base superiore.
Pulire le risorse
Se non sono più necessarie le risorse create per completare la guida introduttiva, per evitare i costi correlati nella sottoscrizione Azure, delete il gruppo di risorse e tutte le risorse correlate.
Passaggi successivi
- Scopri di più sul dashboard dello Scheduler di Attività Durevole.
- Risolvere eventuali errori che possono verificarsi durante l'uso di Durable Task Scheduler.