Apache Airflow ウェブログイントークンの作成 - Amazon Managed Workflows for Apache Airflow

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Apache Airflow ウェブログイントークンの作成

このページのコマンドを使用してウェブログイントークンを生成し、Apache Airflow (MWAA) の Amazon マネージドワークフロー (MWAA) API 呼び出しをコマンドシェルで直接実行できます。たとえば、トークンを取得し、Amazon MWAA API を使用してプログラムで DAG をデプロイできます。次のセクションでは、を使用して Apache Airflow ウェブログイントークンを作成する手順について説明します。AWS CLI、bash スクリプト、POST API リクエスト、または Python スクリプト。レスポンスで返されたトークンは 60 秒間有効です。

前提条件

次のセクションでは、このページのコマンドおよびスクリプトを使用するために必要な予備的な手順について説明します。

アクセス

AWS CLI

AWS Command Line Interface (AWS CLI) は、コマンドラインシェルでコマンドを使用して AWS サービスとやり取りするためのオープンソースツールです。このページの手順を完了するには、以下が必要です。

AWS CLI の使用

次の例では、を使用します。ウェブログイントークンの作成コマンドのAWS CLIをクリックして Apache Airflow ウェブログイントークンを作成します。

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

bash スクリプトを使う

次の例では、bash スクリプトを使用して、ウェブログイントークンの作成コマンドのAWS CLIをクリックして Apache Airflow ウェブログイントークンを作成します。

  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_NAMEそしてYOUR_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}

POST API リクエストの使用

次の例では、POST API リクエストを使用して Apache Airflow ウェブログイントークンを作成します。

  1. 次の URL をコピーして、REST API クライアントの URL フィールドに貼り付けます。

    https://YOUR_HOST_NAME/aws_mwaa/aws-console-sso?login=true#WebToken
  2. のプレースホルダを置き換えます。redにとってYOUR_HOST_NAME。たとえば、パブリックネットワークのホスト名は次のようになります(https://):

    123456a0-0101-2020-9e11-1b159eec9000.c2.us-east-1.airflow.amazonaws.com
  3. 次の JSON をコピーして、REST API クライアントの本文フィールドに貼り付けます。

    { "name": "YOUR_ENVIRONMENT_NAME" }
  4. のプレースホルダを置き換えます。redにとってYOUR_ENVIRONMENT_NAME

  5. 認証フィールドにキーと値のペアを追加します。たとえば、Postman を使用している場合は、AWS署名をクリックし、次のように入力します。

    • AWS_ACCESS_KEY_IDAccessKey

    • AWS_SECRET_ACCESS_KEYSecretKey

  6. 以下のようなレスポンスが表示されます。

    { "webToken": "<Short-lived token generated for enabling access to the Apache Airflow Webserver UI>", "webServerHostname": "<Hostname for the WebServer of the environment>" }

Python スクリプトを使用する

次の例では、を使用します。boto3 create_web_login_tokenPython スクリプトのメソッドを使用して Apache Airflow ウェブログイントークンを作成します。このスクリプトは 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 オペレーションについてWebLoginToken を作成する