Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Um zu verhindern, dass die Speichergrenze einer Kapazitätseinheit (CU) erreicht wird, empfiehlt es sich, die Orchestrierungsverlaufsdaten regelmäßig zu löschen. Der Durable Task Scheduler bietet ein einfaches, konfigurierbares Autopurge-Feature, mit dem Sie Die Orchestrierungsdaten bereinigen können, ohne manuelle Eingriffe zu verwenden.
| Setting | Standardwert |
|---|---|
| Automatische Bereinigung | Aktiviert |
| Standardaufbewahrungszeitraum | 30 Tage |
| Maximale Aufbewahrungsdauer | 90 Tage |
| Gilt für: | Alle Aufgabenhubs im Scheduler |
| Berechtigte Status |
Completed, Failed, Canceled, Terminated |
AutoPurge funktioniert asynchron im Hintergrund, optimiert, um die Systemressourcennutzung zu minimieren und Störungen mit anderen dauerhaften Vorgangsvorgängen zu verhindern. Die automatische Bereinigung hält sich zwar nicht an einen strikten Zeitplan, ihre Bereinigungsrate ist jedoch allgemein an die Planungsrate Ihrer Orchestrierung angepasst.
So funktioniert es
AutoPurge ist standardmäßig mit einer Richtlinie von 30 Tagen aktiviert, kann aber angepasst werden. Sie können sie ändern, indem Sie Aufbewahrungsrichtlinien definieren, die angeben, wie lange die Orchestrierungsdaten für bestimmte Status beibehalten werden sollen. Die Funktion Autopurge entfernt Orchestrationsdaten, die sich im Terminal-Status befinden. Ein terminaler Status bedeutet, dass die Orchestrierung den endgültigen Zustand erreicht hat und keine Aufgaben mehr terminiert, Ereignisse bearbeitet oder Arbeitsaufträge generiert. Zu den Terminalstatusse gehören:
CompletedFailedCanceledTerminated
Die Orchestrierungsinstanzen, die für die automatische Bereinigung berechtigt sind, sind dieselben wie diejenigen, die von der Durable SDK PurgeInstancesAsync-API bestimmt werden.
Bei der automatischen Bereinigung werden Orchestrierungsdaten ignoriert, die mit Status vom Typ „Nicht terminal“ verbunden sind. Nicht terminale Status deuten darauf hin, dass die Orchestrierungsinstanz entweder aktiv ausgeführt, angehalten oder in einem Zustand ausgeführt wird, in dem sie in Zukunft fortgesetzt werden kann (auf externe Ereignisse oder Timer warten). Zu den Nicht-Terminalstatus gehören:
PendingRunningSuspendedContinued_As_New
Hinweis
Orchestrierungen, die ContinueAsNew verwenden, werden nicht als abschließend betrachtet.
ContinueAsNew startet die Orchestrierung mit einem neuen Ausführungsverlauf neu, während die Instanz-ID beibehalten wird, sodass diese Instanzen erst gelöscht werden, wenn sie einen echten Terminalstatus erreicht haben.
Nach der Aktivierung löscht autoPurge regelmäßig Orchestrierungsdaten, die älter als der von Ihnen festgelegte Aufbewahrungszeitraum sind. AutoPurge entfernt nur Daten von Orchestrierungen, die sich in endgültigen Status befinden.
Hinweis
Aufbewahrungsrichtlinien, die Sie definieren, werden auf alle Aufgabenhubs in einem Scheduler angewendet.
Konfigurieren von Aufbewahrungsrichtlinien
Wertebereich der Richtlinie
Aufbewahrungswerte werden in Tagen angegeben und können zwischen 0 (löscht so bald wie möglich) bis 90 Tage liegen. Standardmäßig ist die automatische Aufbewahrung auf 30 Tage festgelegt.
Der Aufbewahrungszeitraum beginnt, wenn die Orchestrierung in den Endzustand übergeht, nicht beim Erstellen. Wenn Sie z. B. einen Aufbewahrungswert von 1 Tag festlegen und ein Orchestrierungsprozess 10 Tage dauert, wird er 1 Tag nach Abschluss durch Autopurge gelöscht.
Standard- und spezifische Richtlinientypen
Beim Konfigurieren einer Autopurge-Aufbewahrungsrichtlinie können Sie entweder eine bestimmte oder eine Standardrichtlinie festlegen.
Standardrichtlinie löscht Orchestrierungsdaten unabhängig von
orchestrationState. Die folgende Richtlinie bereinigt die Orchestrierungsdaten aller vom Feature abgedeckten Status nach 2 Tagen.{ "retentionPeriodInDays": 2 }Spezifische Richtlinie definiert die Bereinigung von Orchestrierungsdaten für spezifische
orchestrationState. Die folgende Richtlinie weist den Dauerhaften Aufgabenplaner an, die abgeschlossenen Orchestrierungsdaten für 1 Tag beizubehalten, nach denen diese Daten gelöscht werden.{ "retentionPeriodInDays": 1, "orchestrationState": "Completed" }
Fügen Sie bestimmte Richtlinien hinzu, um die Standardrichtlinie außer Kraft zu setzen, die auf Orchestrierungen angewendet wird. Im folgenden Beispiel überschreiben die zweite und dritte Richtlinie die Standardrichtlinie ("retentionPeriodInDays": 1).
Mit Orchestrierungen vom Typ
completedverbundene Daten werden so schnell wie möglich gelöscht.Mit Orchestrierungen vom Typ
failedverbundene Daten werden nach 60 Tagen gelöscht.[ { "retentionPeriodInDays": 1 }, { "retentionPeriodInDays": 0, "orchestrationState": "Completed" }, { "retentionPeriodInDays": 60, "orchestrationState": "Failed" } ]
Da keine bestimmte Richtlinie für canceled oder terminated Orchestrierungen festgelegt ist, gilt die Standardrichtlinie weiterhin für sie und löscht ihre Daten nach 1 Tag.
AutoPurge aktivieren
Sie können Aufbewahrungsrichtlinien mithilfe folgender Komponenten definieren:
- CLI für langlebige Aufgaben
- Azure Resource Manager (ARM)
- Bicep
Stellen Sie sicher, dass Sie über die neueste Version der Cli-Erweiterung "Durable Task" verfügen.
az extension add --name durabletask
az extension update --name durabletask
Erstellen oder aktualisieren Sie die Aufbewahrungsrichtlinie, indem Sie den folgenden Befehl ausführen.
az durabletask retention-policy create --scheduler-name SCHEDULER_NAME --resource-group RESOURCE_GROUP --default-days 1 --completed-days 0 --failed-days 60
Die folgenden Eigenschaften geben die Aufbewahrungsdauer für Orchestrierungsdaten unterschiedlicher Status an.
| Eigentum | Beschreibung |
|---|---|
--canceled-days oder -x |
Die Anzahl der Tage, die abgebrochene Orchestrierungen beibehalten werden sollen. |
--completed-days oder -c |
Die Anzahl der Tage, die abgeschlossene Orchestrierungen beibehalten werden sollen. |
--default-days oder -d |
Die Anzahl der Tage, die Orchestrierungen beibehalten werden sollen. |
--failed-days oder -f |
Die Anzahl der Tage, die fehlgeschlagene Orchestrierungen beibehalten werden sollen. |
--terminated-days oder -t |
Die Anzahl der Tage, die beendete Orchestrierungen beibehalten werden sollen. |
Beispielantwort
Wenn die Erstellung erfolgreich ist, erhalten Sie die folgende Antwort.
{
"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"
}
Tipp
Erfahren Sie mehr über den Befehl "Aufbewahrungsrichtlinie" über die CLI-Referenz.
Aktuelle Richtlinie anzeigen
Rufen Sie die aktuelle Aufbewahrungsrichtlinie für einen Scheduler ab:
az durabletask retention-policy show --scheduler-name SCHEDULER_NAME --resource-group RESOURCE_GROUP
AutoPurge deaktivieren
Löschen Sie die Aufbewahrungsrichtlinien mithilfe des folgenden Befehls. Der langlebige Aufgabenplaner beendet das Bereinigen von Orchestrierungsdaten innerhalb von 5 bis 10 Minuten.
az durabletask retention-policy delete --scheduler-name SCHEDULER_NAME --resource-group RESOURCE_GROUP