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 ambiente Amazon MWAA. Ad esempio, puoi ottenere un token e quindi distribuire i DAG in modo programmatico utilizzando le API di Amazon MWAA. La sezione seguente include i passaggi per creare un token di accesso web Apache Airflow utilizzando uno script bash, una richiesta API POST o uno script Python. AWS CLI Il token restituito nella risposta è valido per 60 secondi.
Indice
Prerequisiti
La sezione seguente descrive i passaggi preliminari necessari per utilizzare i comandi e gli script in questa pagina.
Accesso
-
AWS accesso tramite account AWS Identity and Access Management (IAM) alla policy di autorizzazione di Amazon MWAA in. Politica di accesso all'interfaccia utente di Apache Airflow: AmazonMWAA WebServerAccess
-
AWS accesso tramite account AWS Identity and Access Management (IAM) alla policy di autorizzazione di Amazon MWAA. Politica completa di accesso all'API e alla console: AmazonMWAA FullApiAccess
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
Utilizzando 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.
-
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 --nameYOUR_ENVIRONMENT_NAME
--query WebToken --output text) echo $YOUR_URL$WEB_TOKEN -
Sostituisci e con i segnaposto in
rosso.
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
-
(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
-
Esegui lo script seguente per ottenere un token di accesso Web.
./get-web-token.sh
-
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}
Utilizzo di una richiesta API POST
L'esempio seguente utilizza una richiesta API POST per creare un token di accesso web Apache Airflow.
-
Copia il seguente URL e incollalo nel campo URL del tuo client API REST.
https://
YOUR_HOST_NAME
/aws_mwaa/aws-console-sso?login=true#WebToken -
Sostituisci i segnaposto in rosso con.
YOUR_HOST_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
-
Copia il seguente codice JSON e incollalo nel campo body del tuo client API REST.
{ "name": "
YOUR_ENVIRONMENT_NAME
" } -
Sostituisci il segnaposto in rosso con.
YOUR_ENVIRONMENT_NAME
-
Aggiungi coppie chiave-valore nel campo di autorizzazione. Ad esempio, se utilizzi Postman, scegli AWS Signature, quindi inserisci:
-
AWS_ACCESS_KEY_ID
in AccessKey -
AWS_SECRET_ACCESS_KEY
in SecretKey
-
-
Dovrebbe essere visualizzata la seguente risposta:
{ "webToken": "<Short-lived token generated for enabling access to the Apache Airflow Webserver UI>", "webServerHostname": "<Hostname for the WebServer of the environment>" }
Usare uno script Python
L'esempio seguente utilizza il metodo boto3 create_web_login_token in uno script Python per creare un token
-
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) -
Sostituisci il segnaposto in rosso con.
YOUR_ENVIRONMENT_NAME
-
Esegui lo script seguente per ottenere un token di accesso web.
python3 create-web-login-token.py
Fasi successive
-
Esplora il funzionamento dell'API Amazon MWAA utilizzato per creare un token di accesso Web all'indirizzo. CreateWebLoginToken