本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
建立 Apache Airflow Web 伺服器存取字符
您可以使用此頁面上的命令來建立 Web 伺服器存取字符。存取字符可讓您存取 Amazon MWAA 環境。例如,您可以取得權杖,然後使用 Amazon MWAA APIs 以程式設計方式部署 DAGs。下一節包含使用 AWS CLI、Bash 指令碼、POST API 請求或 Python 指令碼建立 Apache Airflow Web 登入字符的步驟。回應中傳回的字符有效期為 60 秒。
重要
自 2025 年 8 月 19 日起,Amazon MWAA 新增對 IPv6 端點的支援,現在支援 IPv4 和 IPv6 端點。截至此日期,所有新建立的環境都會使用 Airflow 使用者介面 (UI) 的.on.aws
網域。客戶必須將其 Airflow UI 從 遷移.amazonaws.com
至這些新建立環境的.on.aws
網域。Web 伺服器和資料庫的 Virtual Private Cloud (VPC) 端點服務會維護其目前的.amazonaws.com
網域,而不需要變更。
先決條件
下一節說明使用此頁面上的命令和指令碼所需的初步步驟。
存取
-
AWS AWS Identity and Access Management (IAM) 中對 Amazon MWAA 許可政策的 帳戶存取Apache Airflow UI 存取政策:AmazonMWAAWebServerAccess。
-
AWS AWS Identity and Access Management (IAM) 中對 Amazon MWAA 許可政策 的 帳戶存取完整 API 和主控台存取政策:AmazonMWAAFullApiAccess。
AWS CLI
AWS Command Line Interface (AWS CLI) 是一種開放原始碼工具,可讓您使用命令列 shell 中的命令與 AWS 服務互動。若要完成此頁面上的步驟,您需要下列項目:
使用 AWS CLI
下列範例使用 中的 create-web-login-token 命令 AWS CLI 來建立 Apache Airflow Web 登入字符。
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 -
以
紅色
取代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) -
以
紅色
取代 的預留位置YOUR_ENVIRONMENT_NAME
。 -
執行下列指令碼以取得 Web 登入字符。
python3 create-web-login-token.py
後續步驟?
-
探索用於在 CreateWebLoginToken 建立 Web 登入字符的 Amazon MWAA API 操作。