本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
创建 Apache Airflow Web 服务器访问令牌
您可以使用此页面上的命令创建 Web 服务器访问令牌。访问令牌允许您访问您的 Amazon MWAA 环境。例如,您可以获取令牌,然后使用 Amazon DAGs MWAA APIs 以编程方式进行部署。下一节包括使用 AWS CLI、bash 脚本、POSTAPI请求或 Python 脚本创建 Apache Airflow 网络登录令牌的步骤。响应中返回的令牌在 60 秒内有效。
先决条件
下一节介绍了使用本页上的命令和脚本所需的初步步骤。
访问
-
AWS AWS Identity and Access Management (IAM) 中的账户访问权限,可访问中的 Amazon MWAA 权限策略Apache Airflow 用户界面访问策略:A mazonMWAAWeb ServerAccess。
-
AWS AWS Identity and Access Management (IAM) 中的账户访问亚马逊MWAA权限策略完全访问API和控制台访问策略:A mazonMWAAFull ApiAccess。
AWS CLI
AWS Command Line Interface (AWS CLI) 是一个开源工具,可让您使用命令行 shell 中的命令与 AWS 服务进行交互。要完成本节中的步骤,您需要以下满足以下条件:
使用 AWS CLI
以下示例使用中的create-web-login-token命令创建 Apache Airflow 网络登录令牌。 AWS CLI
aws mwaa create-web-login-token --name
YOUR_ENVIRONMENT_NAME
使用 bash 脚本
以下示例使用 bash 脚本调用中的create-web-login-token命令 AWS CLI 来创建 Apache Airflow Web 登录令牌。
-
复制以下代码示例的内容,并在本地另存为
get-web-token.sh
。#!/bin/bash HOST=
YOUR_HOST_NAME
YOUR_URL=https://$HOST/aws_mwaa/aws-console-sso?login=true# WEB_TOKEN=$(aws mwaa create-web-login-token --nameYOUR_ENVIRONMENT_NAME
--query WebToken --output text) echo $YOUR_URL$WEB_TOKEN -
将占位符替换为
red
因为YOUR_HOST_NAME
和YOUR_ENVIRONMENT_NAME
。例如,公有网络的主机名可能如下所示(没有 https://):123456a0-0101-2020-9e11-1b159eec9000.c2.us-east-1.airflow.amazonaws.com
-
(可选)macOS 和 Linux 用户可能需要运行以下命令以确保脚本可执行。
chmod +x get-web-token.sh
-
运行以下脚本可获取 Web 登录令牌。
./get-web-token.sh
-
您应该在命令提示符中看到如下内容:
https://123456a0-0101-2020-9e11-1b159eec9000.c2.us-east-1.airflow.amazonaws.com/aws_mwaa/aws-console-sso?login=true#{your-web-login-token}
使用 Python 脚本
以下示例使用 Python 脚本中的 boto3 create_web_login_token
-
复制以下代码示例的内容,并在本地另存为
create-web-login-token.py
。import boto3 mwaa = boto3.client('mwaa') response = mwaa.create_web_login_token( Name="
YOUR_ENVIRONMENT_NAME
" ) webServerHostName = response["WebServerHostname"] webToken = response["WebToken"] airflowUIUrl = 'https://{0}/aws_mwaa/aws-console-sso?login=true#{1}'.format(webServerHostName, webToken) print("Here is your Airflow UI URL: ") print(airflowUIUrl) -
将占位符替换为
red
对于YOUR_ENVIRONMENT_NAME
。 -
运行以下脚本可获取 Web 登录令牌。
python3 create-web-login-token.py
接下来做什么?
-
浏览用于创建网页登录令牌的 Amazon MWAA API 操作,网址为CreateWebLoginToken。