Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Cree un token de acceso al servidor web Apache Airflow
Puede usar los comandos de esta página para crear un token de acceso al servidor web. Un token de acceso le permite acceder a su entorno de Amazon MWAA. Por ejemplo, puede obtener un token y, a continuación, implementar los DAG mediante programación con las API de Amazon MWAA. La siguiente sección incluye los pasos para crear un token de inicio de sesión web de Apache Airflow mediante un script bash, una solicitud de API POST o un script de Python. AWS CLI El token devuelto en la respuesta es válido durante 60 segundos.
Contenido
Requisitos previos
En la siguiente sección se describen los pasos preliminares necesarios para utilizar los comandos y scripts de esta página.
Acceso
-
AWS acceso a la cuenta en AWS Identity and Access Management (IAM) a la política de permisos de Amazon MWAA en. Política de acceso a la interfaz de usuario de Apache Airflow: AmazonMWAA WebServerAccess
-
AWS acceso a la cuenta en AWS Identity and Access Management (IAM) a la política de permisos de Amazon MWAA. Política completa de acceso a la consola y a la API: AmazonMWAA FullApiAccess
AWS CLI
The AWS Command Line Interface (AWS CLI) es una herramienta de código abierto que le permite interactuar con los AWS servicios mediante comandos de su shell de línea de comandos. Para completar los pasos de esta página, necesita lo siguiente:
Utilización del AWS CLI
En el siguiente ejemplo, se utiliza el create-web-login-tokencomando de AWS CLI para crear un token de inicio de sesión web de Apache Airflow.
aws mwaa create-web-login-token --name
YOUR_ENVIRONMENT_NAME
Uso de un script de bash
En el siguiente ejemplo, se utiliza un script bash para llamar al create-web-login-tokencomando de creación de un token de AWS CLI inicio de sesión web de Apache Airflow.
-
Copie el contenido del código de ejemplo siguiente y guárdelo localmente como
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 -
Sustituya los marcadores de posición en
rojo
porYOUR_HOST_NAME
yYOUR_ENVIRONMENT_NAME
. Por ejemplo, el nombre de host de una red pública puede tener este aspecto (sin el https://):123456a0-0101-2020-9e11-1b159eec9000.c2.us-east-1.airflow.amazonaws.com
-
(Opcional) Es posible que los usuarios de macOS y Linux tengan que ejecutar el comando siguiente para asegurarse de que el script es ejecutable.
chmod +x get-web-token.sh
-
Ejecute el siguiente script para obtener un token de inicio de sesión web.
./get-web-token.sh
-
Debería ver lo siguiente en su símbolo del sistema:
https://123456a0-0101-2020-9e11-1b159eec9000.c2.us-east-1.airflow.amazonaws.com/aws_mwaa/aws-console-sso?login=true#{your-web-login-token}
Uso de una solicitud de API POST
En el siguiente ejemplo, se utiliza una solicitud de API POST para crear un token de inicio de sesión web de Apache Airflow.
-
Copie la siguiente URL y péguela en el campo URL de su cliente de API de REST.
https://
YOUR_HOST_NAME
/aws_mwaa/aws-console-sso?login=true#WebToken -
Sustituya los marcadores de posición en
rojo
porYOUR_HOST_NAME
. Por ejemplo, el nombre de host de una red pública puede tener este aspecto (sin el https://):123456a0-0101-2020-9e11-1b159eec9000.c2.us-east-1.airflow.amazonaws.com
-
Copie el JSON siguiente y péguelo en el cuerpo de su cliente de API de REST.
{ "name": "
YOUR_ENVIRONMENT_NAME
" } -
Sustituya el marcador de posición en
rojo
porYOUR_ENVIRONMENT_NAME
. -
Añada pares clave-valor en el campo de autorización. Por ejemplo, si utiliza Postman, seleccione Firma de AWS y, a continuación, introduzca su:
-
AWS_ACCESS_KEY_ID
en AccessKey -
AWS_SECRET_ACCESS_KEY
en SecretKey
-
-
Debería ver la siguiente respuesta:
{ "webToken": "<Short-lived token generated for enabling access to the Apache Airflow Webserver UI>", "webServerHostname": "<Hostname for the WebServer of the environment>" }
Uso de un script de Python
El siguiente ejemplo utiliza el método boto3 create_web_login_token
-
Copie el contenido del código de ejemplo siguiente y guárdelo localmente como
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) -
Sustituya el marcador de posición en
rojo
porYOUR_ENVIRONMENT_NAME
. -
Ejecute el siguiente script para obtener un token de inicio de sesión web.
python3 create-web-login-token.py
Siguientes pasos
-
Explore la operación de la API MWAA de Amazon utilizada para crear un token de inicio de sesión web en. CreateWebLoginToken