修改Composer中airflow.cfg配置SMTP时遇后端超时等权限错误
问题:无法更新Airflow配置以配置SMTP邮件发送
我尝试通过SMTP配置邮件发送功能,需要在airflow.cfg中添加一系列参数,但每当在Airflow配置的修改标签页中进行插入操作时,总会出现以下错误。我已拥有Composer环境的完整权限,当前没有DAG在运行,仅处于调度状态但未执行。
错误信息
Composer Backend timed out. Multiple errors occurred. Got error "Could not start Composer Agent. DM deployments still pending.during CP-COMPOSER-AGENT-DEPLOYING [Could not start Composer Agent. DM deployments still pending.] . Got error "Could not start Composer Agent. DM deployments still pending. Http error status code: 488 Http error message: BAD REQUEST Error messages: User not authorized to perform User not authorized to perform User not authorized to perform User not authorized to perform Got error "Resource not found. during CP-COMPOSER-AGENT-RUNNING [RPC Failed (Expected) : Pull Failure expected before subscription is created
解决建议
- 等待后台部署任务完成:
错误提示DM deployments still pending,说明Composer后台有未完成的部署任务。进入GCP控制台的Composer环境详情页,查看部署状态,待所有pending任务结束后再尝试修改配置。 - 确认权限完整性:
尽管拥有完整权限,多次出现的User not authorized to perform提示可能存在权限缺口。检查当前账号是否拥有composer.environments.update、composer.operations.get权限,以及Composer关联GCS存储桶的读写权限,必要时添加Composer Administrator角色。 - 使用gcloud命令行修改配置:
绕过Web UI的超时问题,直接通过命令行更新Airflow配置:
将上述参数替换为实际值即可完成SMTP配置。gcloud composer environments update 你的环境名称 \ --location 你的区域 \ --update-airflow-config smtp_host=你的SMTP服务器,smtp_port=端口号,smtp_user=邮箱账号,smtp_password=授权码,smtp_from=发件邮箱 - 排查环境资源健康:
进入Composer环境的监控页面,检查Agent运行状态、云资源是否存在缺失(Resource not found可能指向缺失的Pub/Sub订阅或其他资源),必要时重启Composer Agent。
内容的提问来源于stack exchange,提问作者Luiz Felippe
相关产品推荐
相关产品推荐

