

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 建立 Apache Airflow Web 伺服器存取字符
<a name="call-mwaa-apis-web"></a>

您可以使用此頁面上的命令來建立 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`網域，而不需要變更。

**Contents**
+ [先決條件](#call-mwaa-apis-web-prereqs)
  + [存取](#access-airflow-ui-prereqs-access)
  + [AWS CLI](#access-airflow-ui-prereqs-cli)
+ [使用 AWS CLI](#create-web-login-token-cli)
+ [使用 bash 指令碼](#create-web-login-token-bash)
+ [使用 Python 指令碼](#create-web-login-token-python)
+ [後續步驟？](#mwaa-webcli-next-up)

## 先決條件
<a name="call-mwaa-apis-web-prereqs"></a>

下一節說明使用此頁面上的命令和指令碼所需的初步步驟。

### 存取
<a name="access-airflow-ui-prereqs-access"></a>
+ AWS 帳戶 在 AWS Identity and Access Management (IAM) 中存取 Amazon MWAA 許可政策[Apache Airflow UI 存取政策：AmazonMWAAWebServerAccess](access-policies.md#web-ui-access)。
+ AWS 帳戶 在 AWS Identity and Access Management (IAM) 中存取 Amazon MWAA 許可政策 [完整 API 和主控台存取政策：AmazonMWAAFullApiAccess](access-policies.md#full-access-policy)。

### AWS CLI
<a name="access-airflow-ui-prereqs-cli"></a>

 AWS Command Line Interface (AWS CLI) 是一種開放原始碼工具，您可以使用命令列 shell 中的 命令與 AWS 服務互動。若要完成此頁面上的步驟，您需要下列項目：
+ [AWS CLI – 安裝第 2 版](https://docs.aws.amazon.com/cli/latest/userguide/install-cliv2.html)。
+ [AWS CLI – 使用 的快速組態`aws configure`](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html)。

## 使用 AWS CLI
<a name="create-web-login-token-cli"></a>

下列範例使用 中的 [create-web-login-token](https://docs.aws.amazon.com/cli/latest/reference/mwaa/create-web-login-token.html) 命令 AWS CLI 來建立 Apache Airflow Web 登入字符。

```
aws mwaa create-web-login-token --name YOUR_ENVIRONMENT_NAME
```

## 使用 bash 指令碼
<a name="create-web-login-token-bash"></a>

下列範例使用 bash 指令碼呼叫 中的 [create-web-login-token](https://docs.aws.amazon.com/cli/latest/reference/mwaa/create-web-login-token.html) 命令 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
   ```

1. 以*紅色*取代 `YOUR_HOST_NAME`和 的預留位置`YOUR_ENVIRONMENT_NAME`。例如，公有網路的主機名稱類似 （不含 *https：//)*：

   ```
   123456a0-0101-2020-9e11-1b159eec9000.c2.us-east-1.airflow.amazonaws.com
   ```

1. （選用） macOS 和 Linux 使用者可能需要執行下列命令，以確保指令碼可執行。

   ```
   chmod +x get-web-token.sh
   ```

1. 執行下列指令碼以取得 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 指令碼
<a name="create-web-login-token-python"></a>

下列範例使用 Python 指令碼中的 [boto3 create\$1web\$1login\$1token](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/mwaa.html#MWAA.Client.create_web_login_token) 方法建立 Apache Airflow Web 登入字符。您可以在 Amazon MWAA 外部執行此指令碼。您唯一需要做的就是安裝 boto3 程式庫。您可能想要建立虛擬環境來安裝程式庫。其假設您已為 帳戶[設定身分 AWS 驗證憑證](https://boto3.amazonaws.com/v1/documentation/api/latest/guide/quickstart.html#configuration)。

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)
   ```

1. 以*紅色*取代 的預留位置`YOUR_ENVIRONMENT_NAME`。

1. 執行下列指令碼以取得 Web 登入字符。

   ```
   python3 create-web-login-token.py
   ```

## 後續步驟？
<a name="mwaa-webcli-next-up"></a>
+ 探索用於在 [CreateWebLoginToken](https://docs.aws.amazon.com/mwaa/latest/API/API_CreateWebLoginToken.html) 建立 Web 登入字符的 Amazon MWAA API 操作。