MWAA Airflow Web登录令牌调用API的方法咨询
MWAA Web登录令牌的用途及API调用方法
令牌核心用途
- 替代Airflow API传统的用户名密码认证,基于AWS IAM权限生成,在私有访问模式下安全访问MWAA的Airflow API端点
- 支持所有Airflow原生API操作(包括DAG部署、任务触发、配置查询等),同时继承MWAA的IAM权限控制逻辑
具体调用步骤
1. 生成Web登录令牌
通过AWS CLI执行以下命令生成令牌:
aws mwaa create-web-login-token --name YOUR_MWAA_ENVIRONMENT_NAME
执行后会返回包含令牌和服务域名的结果:
{ "WebLoginToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...", "WebServerHostname": "mwaa-xxx.us-east-1.airflow.amazonaws.com" }
2. 构造API请求
调用Airflow API时,需在请求头中携带Authorization字段,格式为Bearer <WebLoginToken>,并使用返回的WebServerHostname作为API域名。
示例1:上传DAG文件
curl -X POST "https://<WebServerHostname>/api/v1/dags/your_dag_id/import" \ -H "Authorization: Bearer <WebLoginToken>" \ -H "Content-Type: multipart/form-data" \ -F "file=@./your_dag_file.py"
示例2:触发DAG运行
curl -X POST "https://<WebServerHostname>/api/v1/dags/your_dag_id/dagRuns" \ -H "Authorization: Bearer <WebLoginToken>" \ -H "Content-Type: application/json" \ -d '{"conf": {"key": "value"}}'
示例3:查询DAG列表
curl "https://<WebServerHostname>/api/v1/dags?limit=10" \ -H "Authorization: Bearer <WebLoginToken>"
3. 关键注意事项
- 令牌有效期为1小时,过期后需重新生成
- 私有访问模式下,本地终端必须能访问MWAA的VPC端点(可通过VPN、Direct Connect或堡垒机实现)
- 确保你的IAM身份拥有
mwaa:CreateWebLoginToken权限,以及对应Airflow操作的权限(如airflow:DAGs:Edit)
内容的提问来源于stack exchange,提问作者kapsopod
相关产品推荐
相关产品推荐

