Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Eliminación de archivos en Amazon S3
En esta página, se describe cómo funciona el control de versiones en un bucket de Amazon S3 para un entorno de Amazon Managed Workflows para Apache Airflow y los pasos que se deben seguir para eliminar un archivo DAG, plugins.zip
o requirements.txt
.
Contenido
- Requisitos previos
- Descripción general del control de versiones
- Funcionamiento
- Eliminación de un DAG en Amazon S3
- Eliminación de un archivo requirements.txt o plugins.zip “actual” de un entorno
- Eliminación de una versión “no actual” (anterior) de archivos requirements.txt o plugins.zip
- Uso de ciclos de vida para eliminar versiones “no actuales” (anteriores) y eliminar marcadores automáticamente
- Ejemplo de política de ciclo de vida para eliminar versiones “no actuales” de requirements.txt y eliminar marcadores automáticamente
- Siguientes pasos
Requisitos previos
Para poder llevar a cabo los pasos de esta página, necesitará lo siguiente.
-
Permisos: el administrador debe haber concedido a su cuenta de AWS acceso a la política de control de acceso de AmazonMWAAFullConsoleAccess para su entorno. Además, su rol de ejecución debe permitir que su entorno de Amazon MWAA acceda a los recursos de AWS que utiliza su entorno.
-
Acceso: si tiene que acceder a los repositorios públicos para instalar dependencias directamente en el servidor web, su entorno debe estar configurado con acceso a un servidor web de red pública. Para obtener más información, consulte Modos de acceso de Apache Airflow.
-
Configuración de Amazon S3: el bucket de Amazon S3 que se utiliza para almacenar los DAG, los complementos personalizados en
plugins.zip
y las dependencias de Python enrequirements.txt
deben estar configurados con el acceso público bloqueado y el control de versiones activado.
Descripción general del control de versiones
Los archivos requirements.txt
y plugins.zip
de su bucket de Amazon S3 están versionados. Cuando se habilita el control de versiones de un bucket de Amazon S3 para un objeto y se elimina un artefacto (por ejemplo, plugins.zip) de un bucket de Amazon S3, el archivo no se elimina por completo. Cada vez que se elimina un artefacto en Amazon S3, se crea una nueva copia del archivo, que es un error 404 (Object not found)/archivo 0 k que dice “I'm not here”. Amazon S3 lo denomina marcador de eliminación. Un marcador de eliminación es una versión “nula” del archivo con un nombre de clave (o clave) y un ID de versión al igual que cualquier otro objeto.
Recomendamos borrar las versiones de los archivos y los marcadores de eliminación periódicamente para reducir los costos de almacenamiento de su bucket de Amazon S3. Para eliminar por completo las versiones de los archivos “no actuales” (anteriores), debe eliminar las versiones de los archivos y, a continuación, el marcador de eliminación de la versión.
Funcionamiento
Amazon MWAA ejecuta una operación de sincronización en su bucket de Amazon S3 cada treinta segundos. Esto hace que cualquier eliminación de DAG en un bucket de Amazon S3 se sincronice con la imagen de Airflow del contenedor de Fargate.
En el caso de los archivos plugins.zip
y requirements.txt
, los cambios solo tienen lugar después de una actualización del entorno, cuando Amazon MWAA crea una nueva imagen de Airflow del contenedor de Fargate con los complementos personalizados y dependencias de Python. Si elimina la versión actual de un archivo requirements.txt
o plugins.zip
y, a continuación, actualiza el entorno sin proporcionar una nueva versión para el archivo eliminado, se producirá un error en la actualización y aparecerá un mensaje de error, como “Unable to read version {version}
of file {file}
”.
Eliminación de un DAG en Amazon S3
Los archivos DAG (.py
) no están versionados y se pueden eliminar directamente en la consola de Amazon S3. En los siguientes pasos, se describe cómo eliminar un DAG del bucket de Amazon S3.
Eliminación de un DAG
-
Abra la página Entornos
en la consola de Amazon MWAA. -
Seleccione un entorno.
-
Seleccione el enlace del bucket S3 en el panel de códigos de DAG en S3 para abrir el bucket de almacenamiento en la consola de Amazon S3.
-
Elija la carpeta
dags
. -
Seleccione el DAG y, a continuación, Eliminar.
-
En ¿Eliminar objetos?, escriba
delete
. -
Elija Eliminar objetos.
nota
Apache Airflow conserva el historial de ejecuciones de DAG. Después de ejecutar un DAG en Apache Airflow, este permanece en la lista de DAG de Airflow independientemente del estado del archivo, hasta que usted lo elimine de Apache Airflow. Para eliminar un DAG en Apache Airflow, pulse el botón rojo “eliminar” situado en la columna de enlaces.
Eliminación de un archivo requirements.txt o plugins.zip “actual” de un entorno
Actualmente, no se puede eliminar un archivo plugins.zip o requirements.txt de un entorno después de haberlo añadido, pero estamos trabajando para solucionar el problema. Mientras tanto, una solución alternativa es apuntar a un archivo de texto o zip vacío, respectivamente.
Eliminación de una versión “no actual” (anterior) de archivos requirements.txt o plugins.zip
Los archivos requirements.txt
y plugins.zip
de su bucket de Amazon S3 están versionados en Amazon MWAA. Si desea eliminar por completo estos archivos de su bucket de Amazon S3, debe recuperar la versión actual (121212) del objeto (por ejemplo, plugins.zip), eliminarla y, a continuación, borrar el marcador de eliminación de las versiones del archivo.
También puede eliminar versiones de archivos “no actuales” (anteriores) en la consola de Amazon S3; sin embargo, tendrá que borrar el marcador de eliminación mediante una de las siguientes opciones.
-
Para recuperar la versión del objeto, consulte Recuperar versiones de objetos de un bucket habilitado para el control de versiones en la Guía de Amazon S3.
-
Para eliminar la versión del objeto, consulte Eliminar versiones de objetos de un bucket con control de versiones habilitado para el control de versiones en la Guía de Amazon S3.
-
Para borrar un marcador de eliminación, consulte Gestión de marcadores de eliminación en la Guía de Amazon S3.
Uso de ciclos de vida para eliminar versiones “no actuales” (anteriores) y eliminar marcadores automáticamente
Puede configurar una política de ciclo de vida para su bucket de Amazon S3 para eliminar las versiones “no actuales” (anteriores) de los archivos plugins.zip y requirements.txt de su bucket de Amazon S3 tras un número determinado de días, o para eliminar el marcador de eliminación de un objeto vencido.
-
Abra la página Entornos
en la consola de Amazon MWAA. -
Seleccione un entorno.
-
En el código DAG de Amazon S3, elija su bucket de Amazon S3.
-
Elija Crear regla de ciclo de vida.
Ejemplo de política de ciclo de vida para eliminar versiones “no actuales” de requirements.txt y eliminar marcadores automáticamente
En el siguiente ejemplo se indica cómo crear una regla de ciclo de vida que elimine permanentemente las versiones “no actuales” de un archivo requirements.txt y sus marcadores de eliminación después de treinta días.
-
Abra la página Entornos
en la consola de Amazon MWAA. -
Seleccione un entorno.
-
En el código DAG de Amazon S3, elija su bucket de Amazon S3.
-
Elija Crear regla de ciclo de vida.
-
En Nombre de la regla de ciclo de vida, escriba
Delete previous requirements.txt versions and delete markers after thirty days
. -
En Prefijo, requisitos.
-
En Acciones de la regla del ciclo de vida, seleccione Eliminar definitivamente las versiones anteriores de los objetos y Eliminar los marcadores de eliminación vencidos o las cargas multiparte incompletas.
-
En Número de días después de los cuales los objetos pasan a ser versiones anteriores, escriba
30
. -
En Marcadores de eliminación de objetos vencidos, elija Eliminar marcadores de eliminación de objetos vencidos; los objetos se eliminarán permanentemente después de 30 días.
Siguientes pasos
-
Obtenga más información sobre los marcadores de eliminación de Amazon S3 en Gestión de marcadores de eliminación.
-
Obtenga más información sobre los ciclos de vida de Amazon S3 en Vencimiento de objetos.