本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
建立 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 伺服器和資料庫的虛擬私有雲端 (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 --nameYOUR_ENVIRONMENT_NAME
使用 bash 指令碼
下列範例使用 bash 指令碼呼叫 中的 create-web-login-token 命令 AWS CLI ,以建立 Apache Airflow Web 登入字符。
-
複製下列程式碼範例的內容,並在本機儲存為
get-web-token.sh。#!/bin/bash HOST=YOUR_HOST_NAMEYOUR_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 操作。