Testläufe für Zuweisungen von Speicheraufgaben

Was ist ein Testlauf?

Eine simulierte Ausführung simuliert die Ausführung einer Speicheraufgabenzuweisung, ohne tatsächlich Vorgänge für Ihre Blobs auszuführen. Wenn Sie eine Simulierte Ausführung erstellen, überprüft Azure Storage Aktionen Ihre Blobs anhand der Aufgabenbedingungen genauso wie bei einer realen Ausführung, aber es werden keine Vorgänge ausgeführt. Stattdessen wird ein detaillierter Bericht generiert, der zeigt, welche Blobs den Bedingungen entsprochen haben und welche Vorgänge ausgeführt worden wären.

Testläufe sind nützlich, wenn Sie Folgendes tun möchten:

  • Vorschau auf die Auswirkungen einer Aufgabe anzeigen, bevor sie in großem Maßstab ausgeführt wird, insbesondere wenn Vorgänge unumkehrbar sind (z. B. Löschvorgänge oder Richtlinien zur Unveränderbarkeit)
  • Bedingungen validieren für alle Blobs in Ihrem Konto, nicht nur für eine kleine Vorschaustichprobe.
  • Generieren Sie überwachungsbereite Berichte , die zeigen, welche Blobs betroffen wären, ohne Änderungen vorzunehmen.
  • Schätzen Sie die Kosten , indem Sie verstehen, wie viele Blobs gezielt sind und wie viele Vorgänge aufgerufen werden.

Note

Ein Testlauf scannt und wertet alle Blobs im Umfang aus, genau wie eine echte Ausführung. Der einzige Unterschied besteht darin, dass es keine Vorgänge an den Blobs ausführt. Da keine Vorgänge ausgeführt werden, sind simulierte Ausführungen in der Regel schneller als echte Läufe.

So funktionieren Testläufe

Erstellen Sie eine Simulierte Ausführung als Speicheraufgabenzuweisung, wobei der Triggertyp auf MockRun festgelegt ist. Wie bei anderen Zuordnungstypen zielt eine Pseudoausführung auf ein bestimmtes Speicherkonto ab, verwendet optionale Präfixfilter, um die Blobs zu beschränken, und generiert Ausführungsberichte in einem bestimmten Exportcontainer.

Wenn ein Testlauf ausgeführt wird:

  1. Azure Storage Aktionen listet alle Blobs auf, die den Bereichs- und Präfixfiltern der Zuordnung entsprechen.
  2. Es wertet jedes Blob anhand der Bedingungen der Speicheraufgabe aus.
  3. Für Blobs, die übereinstimmen, zeichnet sie die Vorgänge auf, die ausgeführt werden würden . Sie führt jedoch keine Vorgänge aus.
  4. Es generiert einen detaillierten Bericht, in dem die übereinstimmenen Blobs und ihre simulierten Vorgänge aufgelistet sind.

Testlauf vs. Bedingungsvorschau

Sowohl simulierte Ausführungen als auch das Feature "Bedingungsvorschau" helfen Ihnen, Aufgabenbedingungen vor der Ausführung zu überprüfen, dienen jedoch unterschiedlichen Zwecken:

Fähigkeit Bedingungsvorschau Testlauf
Umfang Begrenzte Stichprobe (bis zu 5.000 Blobs) Vollständig skaliert – alle Blobs im Zuordnungsumfang
Angezeigte Vorgänge No Ja – zeigt an, welche Vorgänge ausgeführt werden würden
Bericht generiert No Ja – herunterladbarer CSV-Bericht
Ausführungsmodell Synchrone, sofortige Ergebnisse Asynchron, wird wie eine echte Aufgabe ausgeführt
Abrechnung Kostenlos Wird für die Aufgabenausführungsinstanz und gescannte Objekte in Rechnung gestellt (keine Vorgangsgebühr)
Anwendungsfall Schnellprüfung beim Erstellen von Bedingungen Vollständige Validierung vor der Ausführung in der Produktion

Verwenden Sie die Bedingungsvorschau, während Sie Ihre Aufgabenbedingungen verfassen, und verwenden Sie dann eine Pseudoausführung für die endgültige Überprüfung, bevor Sie eine echte Ausführung aktivieren.

Simulierter Ausführungslebenszyklus und -status

Testläufe folgen demselben Lebenszyklus wie Zuweisungen zur Einmalausführung.

Important

Sie können eine abgeschlossene Simulierte Ausführung nicht neu starten. Um eine weitere Testsimulation mit derselben Konfiguration auszuführen, müssen Sie eine neue Zuweisung erstellen oder die vorhandene duplizieren.

Parallelitätsverhalten

Nur eine Ausführung – simuliert oder real – kann jeweils für ein Speicherkonto ausgeführt werden. Dieses Parallelitätsmodell entspricht dem Modell für echte Aufgabenausführungen:

  • Wenn eine echte Ausführung ausgeführt wird, stellt das System einen neuen Testlauf in die Warteschlange, bis die echte Ausführung abgeschlossen ist.
  • Wenn ein Testlauf läuft, reiht das System einen neuen Lauf einer echten Aufgabe in die Warteschlange ein oder überspringt ihn bei geplanten Ausführungen.
  • Wenn eine andere Mock-Ausführung läuft, stellt das System die neue Mock-Ausführung in die Warteschlange.

Dieses Modell sorgt für Stabilität und verhindert Ressourcenkonflikte im Zielspeicherkonto.

Berichte zu Testläufen

Wenn eine Simulierte Ausführung abgeschlossen ist, schreibt der Prozess einen detaillierten Bericht in den Berichtsexportcontainer, den Sie während der Zuweisungserstellung angeben. Sie können auf Berichte in CSV-Formaten zugreifen.

Sie können auch eine Zusammenfassung der Ausführung direkt im Azure-Portal auf der Ergebnisseite der Aufgabe anzeigen. Die Zusammenfassung enthält die Anzahl der aufgelisteten Objekte, Objekte, die die Bedingungen erfüllen, und Vorgänge, die der Prozess ausgeführt hätte.

Screenshot der Ergebnisseite für simulierte Ausführung im Azure Portal mit simulierten Zusammenfassungsmetriken und der Schaltfläche

Berichtsspalten:

Kolumne Beschreibung
Behälter Der Container, in dem sich das Blob befindet.
Blob Der Name des Blobs.
Auszuführende Operation Der simulierte Vorgang, mit dem Präfix (mock) , z. B (mock) DeleteBlob . oder (mock) SetBlobImmutability.
Übereinstimmender Bedingungsblock Welcher Bedingungsblock auf den Blob zutraf (z. B. IF oder ELSE).

Beispiel für eine CSV-Ausgabe:

Container Blob Auszuführende Operation Zutreffender Bedingungsblock
testContainer1 output1.log (mock) DeleteBlob WENN
testContainer2 output2.log (mock) DeleteBlob WENN
testContainer1 financials1.csv (mock) SetBlobImmutability ELSE
testContainer2 financials2.csv (mock) SetBlobImmutability ELSE

Der Prozess generiert außerdem eine JSON-Zusammenfassungsdatei zusammen mit dem Bericht. Diese Datei enthält aggregierte Metriken:

{
  "completionTime": "2024-10-21T17:46:59",
  "destination": "taskoutput",
  "endpoint": "https://contoso1storage1.blob.core.windows.net",
  "fileFormat": "csv",
  "fileSchema": [
    "Container",
    "Blob",
    "Operation to be performed",
    "Result",
    "Matched condition block"
  ],
  "files": [
    "<link to the reporting file>"
  ],
  "objectsListed": 1100,
  "objectsToBeOperated": 240,
  "operationType": "BlobOperation",
  "runId": "mockrun-assignment-2024-10-21T17:30:13.9121342Z",
  "startTime": "2024-10-21T17:37:12",
  "status": "succeeded"
}

Schlüsselfelder in der Zusammenfassung:

  • objectsListed: Gesamtanzahl der blobs, die während der Mock-Ausführung gescannt wurden.
  • objectsToBeOperated: Anzahl der Blobs, die den Bedingungen entsprechen und Vorgänge ausgeführt hätten.
  • status: Das Ergebnis der Mock run (succeeded oder failed).

Übergang von mock run zu real run

Nachdem Sie den Testlaufbericht überprüft und bestätigt haben, dass die Ergebnisse den Erwartungen entsprechen, können Sie die Zuweisung von einem Testlauf auf einen echten Lauf umstellen:

  1. Wechseln Sie zur Aufgabe im Azure-Portal.
  2. Bearbeiten Sie die Zuweisung und ändern Sie den Triggertyp von Testlauf in Einmalig ausführen oder Wiederkehrend.
  3. Speichern Sie die aktualisierte Zuweisung.

Mithilfe dieses Prozesses können Sie von der Überprüfung zur Ausführung wechseln, ohne die Aufgabe von Grund auf neu zu erstellen.

Pricing

Testläufe werden ähnlich wie echte Läufe zur Aufgabenzuweisung abgerechnet, mit einem entscheidenden Unterschied: Für den Operationszähler werden keine Gebühren berechnet, da tatsächlich keine Vorgänge an Blobs ausgeführt werden.

Abrechnungsmesser Gilt das auch für Testläufe?
Aufgabenausführungsinstanz (pro Durchlauf) ✅ Ja
Zielobjekte (pro Million gescannte Objekte) ✅ Ja
Ausgeführte Vorgänge (pro Million Vorgänge) ❌ Nein (immer $0)

Die standardmäßigen Blob Storage-API-Kosten für das Auflisten und Lesen von Blob-Eigenschaften während des Scanvorgangs gelten weiterhin.

Tip

Da simulierte Ausführungen die Betriebszählerladung ausschließen, sind sie wesentlich billiger als reale Ausführungen. Verwenden Sie Testläufe als kostengünstige Möglichkeit, Ihre Aufgabenkonfiguration zu validieren, bevor Sie einen vollständigen Lauf starten.

Erlaubnisse

Die verwaltete Identität, die der Speicheraufgabe zugeordnet ist, muss die entsprechende Rolle für das Zielspeicherkonto haben, um eine Simulierte Ausführung auszuführen. Obwohl der Prozess keine Vorgänge ausführt, benötigt die Identität Lesezugriff, um Blobs zu scannen und auszuwerten:

  • Mindestrolle: Leser von Speicherblobdaten
  • Empfohlene Rolle: Besitzer von Speicherblobdaten (wenn Sie beabsichtigen, unter Verwendung derselben Zuweisung zu einer tatsächlichen Ausführung zu wechseln)

Sowohl vom System zugewiesene als auch vom Benutzer zugewiesene verwaltete Identitäten unterstützen Mock-Ausführungen.

Wenn das Zielspeicherkonto Netzwerkeinschränkungen aufweist, stellen Sie sicher, dass die Option Allow trusted Microsoft-Dienste in der Netzwerkkonfiguration des Kontos aktiviert ist.

Siehe auch