Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Löschen von Dateien auf Amazon S3
Auf dieser Seite wird beschrieben, wie die Versionierung in einem Amazon S3 S3-Bucket für eine Amazon Managed Workflows for Apache Airflow-Umgebung funktioniert und welche Schritte zum Löschen einer DAGplugins.zip
, oder requirements.txt
Datei erforderlich sind.
Inhalt
Voraussetzungen
Sie benötigen Folgendes, bevor Sie die Schritte auf dieser Seite ausführen können.
-
Berechtigungen — Ihr AWS Konto muss von Ihrem Administrator Zugriff auf die MWAAFullConsoleAccessAmazon-Zugriffskontrollrichtlinie für Ihre Umgebung erhalten haben. Darüber hinaus muss Ihrer Amazon MWAA-Umgebung von Ihrer Ausführungsrolle der Zugriff auf die von Ihrer Umgebung verwendeten AWS Ressourcen gestattet werden.
-
Zugriff — Wenn Sie Zugriff auf öffentliche Repositorys benötigen, um Abhängigkeiten direkt auf dem Webserver zu installieren, muss Ihre Umgebung für den Zugriff auf öffentliche Netzwerk-Webserver konfiguriert sein. Weitere Informationen finden Sie unter Apache Airflow-Zugriffsmodi.
-
Amazon S3 S3-Konfiguration — Der Amazon S3 S3-Bucket DAGs, in dem Ihre benutzerdefinierten Plugins und Python-Abhängigkeiten gespeichert werden
plugins.zip
,requirements.txt
muss mit geblocktem öffentlichem Zugriff und aktivierter Versionierung konfiguriert sein.
Überblick über die Versionierung
Die requirements.txt
und plugins.zip
in Ihrem Amazon S3 S3-Bucket sind versioniert. Wenn die Amazon S3 S3-Bucket-Versionierung für ein Objekt aktiviert ist und ein Artefakt (z. B. plugins.zip) aus einem Amazon S3 S3-Bucket gelöscht wird, wird die Datei nicht vollständig gelöscht. Jedes Mal, wenn ein Artefakt auf Amazon S3 gelöscht wird, wird eine neue Kopie der Datei erstellt, bei der es sich um eine 404-Fehler/0k-Datei (Objekt nicht gefunden) mit der Aufschrift „Ich bin nicht hier“ handelt. Amazon S3 nennt dies eine Löschmarkierung. Eine Löschmarke ist eine „Null“ -Version der Datei mit einem Schlüsselnamen (oder Schlüssel) und einer Versions-ID wie jedes andere Objekt.
Wir empfehlen, Dateiversionen und Markierungen regelmäßig zu löschen, um die Speicherkosten für Ihren Amazon S3 S3-Bucket zu senken. Um „nicht aktuelle“ (vorherige) Dateiversionen vollständig zu löschen, müssen Sie die Versionen der Datei (en) und dann die Löschmarkierung für die Version löschen.
Funktionsweise
Amazon MWAA führt alle dreißig Sekunden einen Synchronisierungsvorgang für Ihren Amazon S3 S3-Bucket durch. Dadurch werden alle DAG-Löschungen in einem Amazon S3 S3-Bucket mit dem Airflow-Image Ihres Fargate-Containers synchronisiert.
Für plugins.zip
requirements.txt
und-Dateien treten Änderungen erst nach einem Umgebungsupdate auf, wenn Amazon MWAA ein neues Airflow-Image Ihres Fargate-Containers mit den benutzerdefinierten Plugins und Python-Abhängigkeiten erstellt. Wenn Sie die aktuelle Version einer requirements.txt
plugins.zip
OR-Datei löschen und dann Ihre Umgebung aktualisieren, ohne eine neue Version für die gelöschte Datei bereitzustellen, schlägt das Update fehl und es wird eine Fehlermeldung angezeigt, z. B. „Version {version}
der Datei kann nicht gelesen werden“. {file}
Löschen einer DAG auf Amazon S3
Eine DAG-Datei (.py
) ist nicht versioniert und kann direkt auf der Amazon S3 S3-Konsole gelöscht werden. In den folgenden Schritten wird beschrieben, wie Sie eine DAG in Ihrem Amazon S3 S3-Bucket löschen.
Um eine DAG zu löschen
-
Öffnen Sie die Seite Umgebungen
auf der Amazon MWAA-Konsole. -
Wählen Sie eine Umgebung aus.
-
Wählen Sie im Bereich DAG-Code im Bereich S3 den Link S3-Bucket aus, um Ihren Speicher-Bucket auf der Amazon S3 S3-Konsole zu öffnen.
-
Wählen Sie den Ordner
dags
aus. -
Wählen Sie die DAG aus und klicken Sie auf Löschen.
-
Unter Objekte löschen? , geben Sie ein
delete
. -
Wählen Sie Objekte löschen aus.
Anmerkung
Apache Airflow bewahrt historische DAG-Läufe. Nachdem eine DAG in Apache Airflow ausgeführt wurde, bleibt sie unabhängig vom Dateistatus in der DAGs Airflow-Liste, bis Sie sie in Apache Airflow löschen. Um eine DAG in Apache Airflow zu löschen, wählen Sie die rote Schaltfläche „Löschen“ unter der Spalte Links.
Eine „aktuelle“ Datei requirements.txt oder plugins.zip aus einer Umgebung entfernen
Derzeit gibt es keine Möglichkeit, plugins.zip oder requirements.txt aus einer Umgebung zu entfernen, nachdem sie hinzugefügt wurden, aber wir arbeiten an dem Problem. In der Zwischenzeit können Sie das Problem umgehen, indem Sie auf eine leere Text- bzw. ZIP-Datei verweisen.
Löschen einer „nicht aktuellen“ (vorherigen) Version von requirements.txt oder plugins.zip
Die plugins.zip
Dateien requirements.txt
und in Ihrem Amazon S3 S3-Bucket sind auf Amazon MWAA versioniert. Wenn Sie diese Dateien in Ihrem Amazon S3 S3-Bucket vollständig löschen möchten, müssen Sie die aktuelle Version (121212) des Objekts (z. B. plugins.zip) abrufen, die Version löschen und dann die Löschmarkierung für die Dateiversion (en) entfernen.
Sie können auch „nicht aktuelle“ (frühere) Dateiversionen auf der Amazon S3 S3-Konsole löschen. Sie müssen die Löschmarkierung jedoch trotzdem mit einer der folgenden Optionen löschen.
-
Informationen zum Abrufen der Objektversion finden Sie unter Objektversionen aus einem Bucket mit aktivierter Versionierung abrufen im Amazon S3 S3-Handbuch.
-
Informationen zum Löschen der Objektversion finden Sie unter Löschen von Objektversionen aus einem Bucket mit aktivierter Versionierung im Amazon S3 S3-Handbuch.
-
Informationen zum Entfernen einer Löschmarkierung finden Sie unter Verwaltung von Löschmarkierungen im Amazon S3 S3-Handbuch.
Verwenden von Lebenszyklen zum automatischen Löschen „nicht aktueller“ (früherer) Versionen und zum automatischen Löschen von Markierungen
Sie können eine Lebenszyklusrichtlinie für Ihren Amazon S3 S3-Bucket konfigurieren, um „nicht aktuelle“ (frühere) Versionen der Dateien plugins.zip und requirements.txt in Ihrem Amazon S3 S3-Bucket nach einer bestimmten Anzahl von Tagen zu löschen oder um die Löschmarkierung eines abgelaufenen Objekts zu entfernen.
-
Öffnen Sie die Seite Umgebungen
auf der Amazon MWAA-Konsole. -
Wählen Sie eine Umgebung aus.
-
Wählen Sie in Amazon S3 unter DAG-Code Ihren Amazon S3 S3-Bucket aus.
-
Wählen Sie Lebenszyklusregel erstellen aus.
Beispiel für eine Lebenszyklusrichtlinie zum automatischen Löschen von „nicht aktuellen“ Versionen von requirements.txt und zum automatischen Löschen von Markierungen
Das folgende Beispiel zeigt, wie eine Lebenszyklusregel erstellt wird, die „nicht aktuelle“ Versionen einer Datei requirements.txt und deren Löschmarkierungen nach dreißig Tagen dauerhaft löscht.
-
Öffnen Sie die Seite Umgebungen
auf der Amazon MWAA-Konsole. -
Wählen Sie eine Umgebung aus.
-
Wählen Sie in Amazon S3 unter DAG-Code Ihren Amazon S3 S3-Bucket aus.
-
Wählen Sie Lebenszyklusregel erstellen aus.
-
Geben Sie im Feld Name der Lebenszyklusregel den Wert ein
Delete previous requirements.txt versions and delete markers after thirty days
. -
Im Feld Präfix die Anforderungen.
-
Wählen Sie unter Aktionen für Lebenszyklusregeln die Optionen Frühere Versionen von Objekten dauerhaft löschen und Abgelaufene Löschmarken oder unvollständige mehrteilige Uploads löschen aus.
-
Geben Sie im Feld Anzahl der Tage, nachdem Objekte frühere Versionen geworden sind, den Wert ein.
30
-
Wählen Sie unter Markierungen zum Löschen abgelaufener Objekte die Option Markierungen zum Löschen abgelaufener Objekte löschen aus. Objekte werden nach 30 Tagen dauerhaft gelöscht.
Als nächstes
-
Weitere Informationen zu Amazon S3 S3-Löschmarkierungen finden Sie unter Löschen von Markierungen verwalten.
-
Weitere Informationen zu den Lebenszyklen von Amazon S3 finden Sie unter Ablaufende Objekte.