Eliminazione di file su Amazon S3 - Amazon Managed Workflows for Apache Airflow

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Eliminazione di file su Amazon S3

Questa pagina descrive come funziona il controllo delle versioni in un bucket Amazon S3 per un ambiente Amazon Managed Workflows for Apache Airflow e i passaggi per eliminare un DAG o un file. plugins.zip requirements.txt

Prerequisiti

Avrai bisogno di quanto segue prima di completare i passaggi di questa pagina.

  • Autorizzazioni: al tuo AWS account deve essere stato concesso dall'amministratore l'accesso alla politica di controllo degli accessi di AmazonMWAA per il tuo FullConsoleAccess ambiente. Inoltre, il tuo ambiente Amazon MWAA deve essere autorizzato dal tuo ruolo di esecuzione ad accedere alle risorse utilizzate dal tuo ambiente. AWS

  • Accesso: se è necessario accedere agli archivi pubblici per installare le dipendenze direttamente sul server Web, l'ambiente deve essere configurato con l'accesso al server Web di rete pubblica. Per ulteriori informazioni, consulta Modalità di accesso Apache Airflow.

  • Configurazione Amazon S3 : il bucket Amazon S3 utilizzato per archiviare i DAGplugins.zip, i plug-in personalizzati e le dipendenze requirements.txt Python deve essere configurato con Public Access Blocked e Versioning Enabled.

Panoramica del controllo delle versioni

Il bucket requirements.txt and plugins.zip in Amazon S3 ha una versione. Quando il controllo delle versioni del bucket Amazon S3 è abilitato per un oggetto e un elemento (ad esempio, plugins.zip) viene eliminato da un bucket Amazon S3, il file non viene eliminato completamente. Ogni volta che un elemento viene eliminato su Amazon S3, viene creata una nuova copia del file, ovvero un file di errore 404 (oggetto non trovato) /0k che dice «Non sono qui». Amazon S3 lo chiama marker di eliminazione. Un marker di eliminazione è una versione «nulla» del file con un nome chiave (o chiave) e un ID di versione come qualsiasi altro oggetto.

Ti consigliamo di eliminare periodicamente le versioni dei file e i marker di eliminazione per ridurre i costi di storage per il tuo bucket Amazon S3. Per eliminare completamente le versioni «non correnti» (precedenti) dei file, devi eliminare le versioni dei file e quindi il marker di eliminazione relativo alla versione.

Come funziona

Amazon MWAA esegue un'operazione di sincronizzazione sul tuo bucket Amazon S3 ogni trenta secondi. Ciò fa sì che tutte le eliminazioni di DAG in un bucket Amazon S3 vengano sincronizzate con l'immagine Airflow del contenitore Fargate.

Per requirements.txt i file plugins.zip e, le modifiche avvengono solo dopo un aggiornamento dell'ambiente quando Amazon MWAA crea una nuova immagine Airflow del contenitore Fargate con i plugin personalizzati e le dipendenze Python. Se elimini la versione corrente di un plugins.zip file requirements.txt or e quindi aggiorni l'ambiente senza fornire una nuova versione per il file eliminato, l'aggiornamento avrà esito negativo e verrà visualizzato un messaggio di errore, ad esempio «Impossibile leggere la versione del file». {version} {file}

Eliminazione di un DAG su Amazon S3

Un file DAG (.py) non ha una versione e può essere eliminato direttamente dalla console Amazon S3. I passaggi seguenti descrivono come eliminare un DAG dal tuo bucket Amazon S3.

Per eliminare un DAG
  1. Apri la pagina Ambienti sulla console Amazon MWAA.

  2. Scegli un ambiente.

  3. Seleziona il link del bucket S3 nel codice DAG nel riquadro S3 per aprire il bucket di archiviazione sulla console Amazon S3.

  4. Scegliere la cartella dags.

  5. Seleziona il DAG, Elimina.

  6. In Eliminare oggetti? , digitaredelete.

  7. Scegliere Delete objects (Elimina oggetti).

Nota

Apache Airflow conserva le esecuzioni DAG storiche. Una volta eseguito in Apache Airflow, un DAG rimane nell'elenco dei DAG Airflow indipendentemente dallo stato del file, finché non viene eliminato in Apache Airflow. Per eliminare un DAG in Apache Airflow, scegli il pulsante rosso «elimina» nella colonna Collegamenti.

Rimozione di un file requirements.txt o plugins.zip «attuale» da un ambiente

Al momento, non esiste un modo per rimuovere plugins.zip o requirements.txt da un ambiente dopo che sono stati aggiunti, ma stiamo lavorando al problema. Nel frattempo, una soluzione alternativa consiste nel puntare rispettivamente a un file di testo o zip vuoto.

Eliminazione di una versione «non corrente» (precedente) di requirements.txt o plugins.zip

La versione plugins.zip dei file requirements.txt e del bucket Amazon S3 è in Amazon MWAA. Se desideri eliminare completamente questi file dal tuo bucket Amazon S3, devi recuperare la versione corrente (121212) dell'oggetto (ad esempio, plugins.zip), eliminare la versione e quindi rimuovere il marker di eliminazione per le versioni del file.

Puoi anche eliminare versioni di file «non correnti» (precedenti) sulla console Amazon S3; tuttavia, dovrai comunque eliminare il marker di eliminazione utilizzando una delle seguenti opzioni.

Utilizzo dei cicli di vita per eliminare le versioni «non correnti» (precedenti) ed eliminare automaticamente i marker

Puoi configurare una politica del ciclo di vita per il tuo bucket Amazon S3 per eliminare le versioni «non correnti» (precedenti) dei file plugins.zip e requirements.txt nel tuo bucket Amazon S3 dopo un certo numero di giorni o per rimuovere l'indicatore di eliminazione di un oggetto scaduto.

  1. Apri la pagina Ambienti sulla console Amazon MWAA.

  2. Scegli un ambiente.

  3. Nella sezione Codice DAG in Amazon S3, scegli il tuo bucket Amazon S3.

  4. Scegli Crea regola del ciclo di vita.

Esempio di politica del ciclo di vita per eliminare le versioni «non correnti» di requirements.txt ed eliminare automaticamente i marker

L'esempio seguente mostra come creare una regola del ciclo di vita che elimini definitivamente le versioni «non correnti» di un file requirements.txt e i relativi indicatori di eliminazione dopo trenta giorni.

  1. Apri la pagina Ambienti sulla console Amazon MWAA.

  2. Scegli un ambiente.

  3. Nella sezione Codice DAG in Amazon S3, scegli il tuo bucket Amazon S3.

  4. Scegli Crea regola del ciclo di vita.

  5. Nel nome della regola del ciclo di vita, digita. Delete previous requirements.txt versions and delete markers after thirty days

  6. In Prefix, requisiti.

  7. In Azioni relative alle regole del ciclo di vita, scegli Elimina definitivamente le versioni precedenti degli oggetti ed Elimina i marker di eliminazione scaduti o i caricamenti multiparte incompleti.

  8. In Numero di giorni dopo che gli oggetti diventano versioni precedenti, digitate. 30

  9. In Marcatori di eliminazione di oggetti scaduti, scegliete Elimina marker di eliminazione di oggetti scaduti, gli oggetti vengono eliminati definitivamente dopo 30 giorni.

Fasi successive