创建 Apache Airflow Web 服务器访问令牌 - Amazon Managed Workflows for Apache Airflow

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

创建 Apache Airflow Web 服务器访问令牌

您可以使用此页面上的命令创建 Web 服务器访问令牌。访问令牌允许您访问您的 Amazon MWAA 环境。例如,您可以获取令牌,然后使用 Amazon DAGs MWAA APIs 以编程方式进行部署。下一节包括使用 AWS CLI、bash 脚本、POSTAPI请求或 Python 脚本创建 Apache Airflow 网络登录令牌的步骤。响应中返回的令牌在 60 秒内有效。

先决条件

下一节介绍了使用本页上的命令和脚本所需的初步步骤。

访问

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 登录令牌。

  1. 复制以下代码示例的内容,并在本地另存为 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 --name YOUR_ENVIRONMENT_NAME --query WebToken --output text) echo $YOUR_URL$WEB_TOKEN
  2. 将占位符替换为 red 因为YOUR_HOST_NAMEYOUR_ENVIRONMENT_NAME。例如,公有网络的主机名可能如下所示(没有 https://)

    123456a0-0101-2020-9e11-1b159eec9000.c2.us-east-1.airflow.amazonaws.com
  3. (可选)macOS 和 Linux 用户可能需要运行以下命令以确保脚本可执行。

    chmod +x get-web-token.sh
  4. 运行以下脚本可获取 Web 登录令牌。

    ./get-web-token.sh
  5. 您应该在命令提示符中看到如下内容:

    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 方法来创建 Apache Airflow Web 登录令牌。您可以在 Amazon 之外运行此脚本MWAA。您只需安装 boto3 库。您可能需要创建一个虚拟环境来安装该库。它假设您已经为账户配置了 AWS 身份验证凭证

  1. 复制以下代码示例的内容,并在本地另存为 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)
  2. 将占位符替换为 red 对于YOUR_ENVIRONMENT_NAME

  3. 运行以下脚本可获取 Web 登录令牌。

    python3 create-web-login-token.py

接下来做什么?

  • 浏览用于创建网页登录令牌的 Amazon MWAA API 操作,网址为CreateWebLoginToken