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.
Per evitare di raggiungere il limite di memoria di un'unità di capacità (CU), è consigliabile eliminare periodicamente i dati della cronologia dell'orchestrazione. Durable Task Scheduler offre una funzionalità di recupero automatico leggera e configurabile che consente di gestire la pulizia dei dati di orchestrazione senza intervento manuale.
| Setting | Valore predefinito |
|---|---|
| Autopurga | Enabled |
| Periodo di conservazione predefinito | 30 giorni |
| Periodo massimo di conservazione | 90 giorni |
| Applicabile a | Tutti i centri attività nel pianificatore |
| Stati idonei |
Completed, Failed, CanceledTerminated |
L'eliminazione automatica opera in modo asincrono in background, ottimizzata per ridurre al minimo l'utilizzo delle risorse di sistema e prevenire interferenze con altre operazioni di Durable Task. Anche se la rimozione automatica non rispetta una pianificazione rigorosa, la velocità di pulizia è in genere allineata alla frequenza di pianificazione dell'orchestrazione.
Come funziona
L'eliminazione automatica è abilitata per impostazione predefinita con un criterio di 30 giorni, ma può essere personalizzata. È possibile modificarlo definendo i criteri di conservazione che specificano per quanto tempo mantenere i dati di orchestrazione per determinati stati. La funzionalità di rimozione automatica rimuove i dati di orchestrazione presenti negli stati del terminale. Uno stato del terminale indica che l'orchestrazione ha raggiunto uno stato finale e non pianifica più attività, elabora eventi o genera elementi di lavoro. Gli stati del terminale includono:
CompletedFailedCanceledTerminated
Le istanze di orchestrazione idonee per l'eliminazione automatica corrispondono a quelle destinate all'API Durable SDK PurgeInstancesAsync.
L'eliminazione automatica ignora i dati di orchestrazione associati agli stati non terminal. Gli stati non terminal indicano che l'istanza di orchestrazione è in esecuzione, sospesa o in uno stato in cui può riprendere in futuro (in attesa di eventi o timer esterni). Gli stati non terminal includono:
PendingRunningSuspendedContinued_As_New
Annotazioni
Le orchestrazioni che usano ContinueAsNew non sono considerate terminali.
ContinueAsNew riavvia l'orchestrazione con una nuova cronologia di esecuzione mantenendo l'ID istanza, quindi queste istanze non vengono eliminate finché non raggiungono un vero stato terminale.
Dopo l'abilitazione, l'eliminazione automatica elimina periodicamente i dati di orchestrazione precedenti al periodo di conservazione impostato. Il processo di rimozione automatica rimuove solo i dati per le orchestrazioni negli stati terminali.
Annotazioni
Le politiche di conservazione che definisci vengono applicate a tutti gli hub di attività in un pianificatore.
Configurare i criteri di conservazione
Intervallo di valori della politica
I valori di conservazione vengono specificati in giorni e possono variare da 0 (ripulitura il prima possibile) a 90 giorni. Per impostazione predefinita, la conservazione automatica viene impostata su 30 giorni.
Il periodo di conservazione inizia quando l'orchestrazione entra in uno stato terminale, non quando è stata creata. Ad esempio, se si imposta un valore di conservazione pari a 1 giorno e un'orchestrazione richiede 10 giorni per il completamento, la rimozione automatica lo elimina 1 giorno dopo il suo completamento.
Tipi di criteri predefiniti e specifici
Quando si configura un criterio di conservazione automatico, è possibile impostare un criterio specifico o predefinito .
La politica predefinita elimina i dati di orchestrazione indipendentemente da
orchestrationState. I criteri seguenti eliminano i dati di orchestrazione di tutti gli stati coperti dalla funzionalità dopo 2 giorni:{ "retentionPeriodInDays": 2 }I criteri specifici definiscono l'eliminazione dei dati di orchestrazione per specifici
orchestrationState. La seguente policy indica allo Scheduler di Attività Durevoli di mantenere i dati di orchestrazione completati per 1 giorno, dopo il quale questi dati vengono rimossi.{ "retentionPeriodInDays": 1, "orchestrationState": "Completed" }
Aggiungere criteri specifici per eseguire l'override dei criteri predefiniti applicati alle orchestrazioni. Nell'esempio seguente il secondo e il terzo criterio sostituiscono i criteri predefiniti ("retentionPeriodInDays": 1).
I dati associati alle
completedorchestrazioni vengono eliminati il prima possibile.I dati associati alle
failedorchestrazioni vengono eliminati dopo 60 giorni.[ { "retentionPeriodInDays": 1 }, { "retentionPeriodInDays": 0, "orchestrationState": "Completed" }, { "retentionPeriodInDays": 60, "orchestrationState": "Failed" } ]
Poiché non sono impostati criteri specifici per canceled o terminated orchestrazioni, i criteri predefiniti vengono comunque applicati, rimuovendo i dati dopo 1 giorno.
Abilitare l'eliminazione automatica
È possibile definire i criteri di conservazione usando:
- Interfaccia della riga di comando di Durable Task
- Azure Resource Manager (ARM)
- Bicep
- Interfaccia della riga di comando di Durable Task
- Gestore Risorse di Azure
- Bicipite
Assicurarsi di avere la versione più recente dell'estensione dell'interfaccia della riga di comando di Durable Task.
az extension add --name durabletask
az extension update --name durabletask
Creare o aggiornare i criteri di conservazione eseguendo il comando seguente.
az durabletask retention-policy create --scheduler-name SCHEDULER_NAME --resource-group RESOURCE_GROUP --default-days 1 --completed-days 0 --failed-days 60
Le proprietà seguenti specificano la durata di conservazione per i dati di orchestrazione di stati diversi.
| Proprietà | Descrizione |
|---|---|
--canceled-days oppure -x |
Numero di giorni per conservare le orchestrazioni annullate. |
--completed-days oppure -c |
Numero di giorni per conservare le orchestrazioni completate. |
--default-days oppure -d |
Numero di giorni per conservare le orchestrazioni. |
--failed-days oppure -f |
Numero di giorni di conservazione delle orchestrazioni non riuscite. |
--terminated-days oppure -t |
Numero di giorni per conservare le orchestrazioni terminate. |
Risposta di esempio
Se la creazione ha esito positivo, si riceve la risposta seguente.
{
"id": "/subscriptions/SUBSCRIPTION_ID/resourceGroups/RESOURCE_GROUP/providers/Microsoft.DurableTask/schedulers/SCHEDULER_NAME/retentionPolicies/default",
"name": "default",
"properties": {
"provisioningState": "Succeeded",
"retentionPolicies": [
{
"retentionPeriodInDays": 1
},
{
"orchestrationState": "Completed",
"retentionPeriodInDays": 0
},
{
"orchestrationState": "Failed",
"retentionPeriodInDays": 60
}
]
},
"resourceGroup": "RESOURCE_GROUP",
"systemData": {
"createdAt": "2025-04-23T23:41:17.3165122Z",
"createdBy": "someone@microsoft.com",
"createdByType": "User",
"lastModifiedAt": "2025-04-23T23:41:17.3165122Z",
"lastModifiedBy": "someone@microsoft.com",
"lastModifiedByType": "User"
},
"type": "microsoft.durabletask/schedulers/retentionpolicies"
}
Suggerimento
Altre informazioni sul comando dei criteri di conservazione tramite le informazioni di riferimento sull'interfaccia della riga di comando.
Visualizzare la politica corrente
- Interfaccia della riga di comando di Durable Task
- Gestore Risorse di Azure
- Bicipite
Recuperare i criteri di conservazione correnti per un'utilità di pianificazione:
az durabletask retention-policy show --scheduler-name SCHEDULER_NAME --resource-group RESOURCE_GROUP
Disabilitare l'eliminazione automatica
- Interfaccia della riga di comando di Durable Task
- Gestore Risorse di Azure
- Bicipite
Eliminare i criteri di conservazione usando il comando seguente. Durable Task Scheduler interrompe la pulizia dei dati di orchestrazione entro 5-10 minuti.
az durabletask retention-policy delete --scheduler-name SCHEDULER_NAME --resource-group RESOURCE_GROUP