MWAA是否可自动将requirements.txt设置为最新版本?
MWAA S3存储桶requirements.txt自动更新为最新版本的实现方案
AWS控制台确实没有原生内置的配置项可以直接实现S3桶内requirements.txt自动同步最新版本的功能,你可以通过以下几种常用方案实现该需求:
- 在现有DAG自动化上传的CI/CD流程(比如CodePipeline、GitHub Actions等)里新增requirements.txt同步步骤,每次DAG打包上传时,同步将本地/代码仓库中最新的requirements.txt覆盖上传到S3桶对应的路径下,核心操作是在CI流水线中加入AWS CLI命令:
aws s3 cp ./requirements.txt s3://<你的MWAA桶名>/requirements.txt - 给存储最新版本requirements.txt的源S3桶配置事件通知,当源桶内的requirements.txt发生更新时,触发Lambda函数自动将该文件同步到MWAA对应的S3桶路径下,你还可以额外给Lambda增加版本校验逻辑,只有当源文件MD5/ETag和MWAA桶内现有文件不一致时才执行覆盖,避免无效重复操作
- 新增一个专用的MWAA控制DAG,设置定时运行规则(比如每日一次/每次DAG部署后触发),在该DAG的任务中调用S3 API拉取最新版本的requirements.txt替换现有文件,之后可以根据需要调用MWAA的
update_environment接口触发环境重新安装依赖
注意:MWAA不会自动识别S3桶内requirements.txt的变更并重新安装依赖,如果你需要新的依赖生效,必须主动调用AWS MWAA的更新环境接口,或者在控制台手动触发环境更新,指定最新的requirements.txt版本号(S3对象版本ID)
内容的提问来源于stack exchange,提问作者SoftwareThings
相关产品推荐
相关产品推荐

