Creare un token di accesso al server web Apache Airflow - Amazon Managed Workflows for Apache Airflow

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Creare un token di accesso al server web Apache Airflow

Puoi utilizzare i comandi in questa pagina per creare un token di accesso al server web. Un token di accesso ti consente di accedere al tuo MWAA ambiente Amazon. Ad esempio, puoi ottenere un token e quindi distribuirlo a DAGs livello di codice utilizzando Amazon. MWAA APIs La sezione seguente include i passaggi per creare un token di accesso web Apache Airflow utilizzando uno script bash, una POST API richiesta o uno script Python. AWS CLI Il token restituito nella risposta è valido per 60 secondi.

Prerequisiti

La sezione seguente descrive i passaggi preliminari necessari per utilizzare i comandi e gli script in questa pagina.

Accesso

AWS CLI

Il AWS Command Line Interface (AWS CLI) è uno strumento open source che consente di interagire con i AWS servizi utilizzando i comandi nella shell della riga di comando. Per completare la procedura descritta in questa pagina, è necessario quanto segue:

Utilizzando il AWS CLI

L'esempio seguente utilizza il create-web-login-tokencomando in AWS CLI per creare un token di accesso web Apache Airflow.

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

Usare uno script bash

L'esempio seguente utilizza uno script bash per chiamare il create-web-login-tokencomando in per creare un token AWS CLI di accesso web Apache Airflow.

  1. Copia il contenuto del seguente esempio di codice e salvalo localmente come. 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. Sostituisci i segnaposto in red per e. YOUR_HOST_NAME YOUR_ENVIRONMENT_NAME Ad esempio, un nome host per una rete pubblica può avere il seguente aspetto (senza https://):

    123456a0-0101-2020-9e11-1b159eec9000.c2.us-east-1.airflow.amazonaws.com
  3. (opzionale) Gli utenti macOS e Linux potrebbero dover eseguire il comando seguente per assicurarsi che lo script sia eseguibile.

    chmod +x get-web-token.sh
  4. Esegui lo script seguente per ottenere un token di accesso Web.

    ./get-web-token.sh
  5. Dovresti vedere quanto segue nel prompt dei comandi:

    https://123456a0-0101-2020-9e11-1b159eec9000.c2.us-east-1.airflow.amazonaws.com/aws_mwaa/aws-console-sso?login=true#{your-web-login-token}

Usare uno script Python

L'esempio seguente utilizza il metodo boto3 create_web_login_token in uno script Python per creare un token di accesso web Apache Airflow. Puoi eseguire questo script al di fuori di AmazonMWAA. L'unica cosa che devi fare è installare la libreria boto3. Potresti voler creare un ambiente virtuale per installare la libreria. Si presuppone che tu abbia configurato le credenziali di AWS autenticazione per il tuo account.

  1. Copia il contenuto del seguente esempio di codice e salvalo localmente come. 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. Sostituisci il segnaposto in red YOUR_ENVIRONMENT_NAMEper.

  3. Esegui lo script seguente per ottenere un token di accesso web.

    python3 create-web-login-token.py

Fasi successive

  • Esplora l'MWAAAPIoperazione Amazon utilizzata per creare un token di accesso Web all'indirizzo CreateWebLoginToken.