Inicio rápido: Creación de una aplicación de Python mediante Azure App Service en Linux
En este inicio rápido se implementa una aplicación web de Python en App Service en Linux, un servicio de Azure de hospedaje de sitios web muy escalable y con aplicación automática de revisiones. La interfaz de la línea de comandos (CLI) de Azure local se puede usar en un equipo Mac, Linux o Windows para implementar un ejemplo con los marcos Flask o Django. La aplicación web que se va a configurar usa un nivel de App Service básico que acarrea un pequeño costo en la suscripción de Azure.
Configuración del entorno inicial
- Disponga de una cuenta de Azure con una suscripción activa. Cree una cuenta gratuita.
- Instale Python 3.6 o una versión posterior.
- Instale la CLI de Azure, con la que se ejecutan comandos en cualquier shell para aprovisionar y configurar los recursos de Azure.
Abra una ventana del terminal y compruebe que la versión de Python es la 3.6 o superior:
python3 --version
Compruebe que la versión de la CLI de Azure es la 2.0.80 o posterior:
az --version
Después, inicie sesión en Azure mediante la CLI:
az login
Este comando abre un explorador que recopila las credenciales. Cuando el comando finaliza, muestra una salida JSON que contiene información sobre las suscripciones.
Una vez que haya iniciado sesión, puede ejecutar comandos de Azure con la CLI de Azure para trabajar con los recursos de su suscripción.
¿Tiene problemas? Háganoslo saber.
Clonación del ejemplo
Ejecute el comando siguiente para clonar el repositorio de ejemplo y vaya a la carpeta de ejemplo. (Instale git si aún no lo tiene).
git clone https://github.com/Azure-Samples/python-docs-hello-world
git clone https://github.com/Azure-Samples/python-docs-hello-django
El ejemplo contiene código específico del marco que Azure App Service reconoce al iniciar la aplicación. Para más información, consulte Proceso de inicio del contenedor.
¿Tiene problemas? Háganoslo saber.
Ejecución del ejemplo
Vaya a la carpeta python-docs-hello-world:
cd python-docs-hello-worldCree un entorno virtual e instale las dependencias:
# Linux systems only python3 -m venv .venv source .venv/bin/activate pip install -r requirements.txt # Git Bash on Windows only py -3 -m venv .venv source .venv\\scripts\\activate pip install -r requirements.txtSi se encuentra en un sistema Windows y ve un error que dice que el origen no se reconoce como un comando interno o externo, asegúrese de que trabaja en el shell de Bash de Git o use los comandos mostrados en la pestaña Cmd anterior.
Si encuentra "[Errno 2] No se encontró el archivo o directorio: 'requirements.txt'", asegúrese de que se encuentra en la carpeta python-docs-hello-world.
Ejecute el servidor de desarrollo.
flask runDe forma predeterminada, el servidor supone que el módulo de entrada de la aplicación está en app.py, como se usa en el ejemplo.
(Si usa un nombre de módulo diferente, establezca la variable de entorno
FLASK_APPen ese nombre).Si se produce un error que dice que no se ha podido encontrar una aplicación Flask, y que no ha proporcionado la variable de entorno "FLASK_APP" y no se ha encontrado un módulo "wsgi.py" o "app.py" en el directorio actual, asegúrese de que se encuentra en la carpeta
python-docs-hello-worldque contiene el ejemplo.Abra un explorador web y vaya a la aplicación de ejemplo en
http://localhost:5000/. La aplicación muestra el mensaje Hola mundo.
En la ventana de terminal, presione Ctrl+C para salir del servidor de desarrollo.
Vaya a la carpeta python-docs-hello-django:
cd python-docs-hello-djangoCree un entorno virtual e instale las dependencias:
# Linux systems only python3 -m venv .venv source .venv/bin/activate pip install -r requirements.txt # Git Bash on Windows only py -3 -m venv .venv source .venv\\scripts\\activate pip install -r requirements.txtSi se encuentra en un sistema Windows y ve un error que dice que el origen no se reconoce como un comando interno o externo, asegúrese de que trabaja en el shell de Bash de Git o use los comandos mostrados en la pestaña Cmd anterior.
Si encuentra "[Errno 2]: No se encontró el archivo o directorio: 'requirements.txt'", asegúrese de que se encuentra en la carpeta python-docs-hello-django.
Ejecute el servidor de desarrollo.
python manage.py runserverAbra un explorador web y vaya a la aplicación de ejemplo en
http://localhost:8000/. La aplicación muestra el mensaje Hola mundo.
En la ventana de terminal, presione Ctrl+C para salir del servidor de desarrollo.
¿Tiene problemas? Háganoslo saber.
Implementación del ejemplo
Implemente el código en la carpeta local (python-docs-hello-world) mediante el comando az webapp up:
az webapp up --sku B1 --name <app-name>
- Si no se reconoce el comando
az, asegúrese de que tiene instalada la CLI de Azure tal y como se describe en Configuración del entorno inicial. - Si no se reconoce el comando
webapp, es porque la versión de la CLI de Azure es 2.0.80 o posterior. De lo contrario, instale la versión más reciente. - Reemplace
<app_name>por un nombre que sea único en todo Azure (los caracteres válidos sona-z,0-9y-). Un buen patrón es usar una combinación del nombre de la empresa y un identificador de la aplicación. - El argumento
--sku B1crea la aplicación web en el plan de tarifa básico, que genera un pequeño costo por hora. Omita este argumento para usar un nivel Premium más rápido. - Opcionalmente, incluya el argumento
--location <location-name>, donde<location_name>es una región de Azure disponible. Puede recuperar una lista de las regiones permitidas para su cuenta de Azure mediante la ejecución del comandoaz account list-locations. - Si ve el error "No se pudo detectar automáticamente la pila en tiempo de ejecución de la aplicación", asegúrese de que ejecuta el comando en la carpeta python-docs-hello-world (Flask) o en la carpeta python-docs-hello-django (Django) que contiene el archivo requirements.txt. (Consulte Solución de problemas de detección automática con az webapp up (GitHub)).
El comando puede tardar varios minutos en completarse. Mientras se ejecuta, proporciona mensajes sobre cómo crear el grupo de recursos, el plan de App Service y la aplicación de hospedaje, configurar el registro y, a continuación, realizar la implementación del archivo ZIP. A continuación, se muestra el mensaje "Puede iniciar la aplicación en http://<nombre_de_la_aplicación>.azurewebsites.net", que es la dirección URL de la aplicación en Azure.

¿Tiene problemas? Consulte primero la Guía de solución de problemas, de lo contrario, háganoslo saber.
Nota
El comando az webapp up realiza las acciones siguientes:
Cree un grupo de recursos predeterminado.
Cree un plan de App Service predeterminado.
Cree una aplicación con el nombre especificado.
Implemente desde un archivo ZIP todos los archivos del directorio de trabajo actual, con la automatización de compilación habilitada.
Almacene en caché los parámetros localmente en el archivo .azure/config para que no sea necesario especificarlos de nuevo al implementarlos más adelante con
az webapp upu otros comandos de la CLI de Azure. Los valores almacenados en caché se usan automáticamente de forma predeterminada.
Navegación hasta la aplicación
Vaya a la aplicación implementada mediante el explorador web en la dirección URL http://<app-name>.azurewebsites.net. La aplicación puede tardar un minuto o dos en iniciarse, por lo que si ve una página de aplicación predeterminada, espere un minuto y actualice el explorador.
El código de ejemplo de Python se ejecuta en un contenedor de Linux en App Service con una imagen integrada.

¡Enhorabuena! Ha implementado su primera aplicación Python en App Service en Linux.
¿Tiene problemas? Consulte primero la Guía de solución de problemas, de lo contrario, háganoslo saber.
Reimplementación de actualizaciones
En esta sección, realizará un pequeño cambio de código y, a continuación, volverá a implementar el código en Azure. Este cambio de código incluye una instrucción print para generar la salida de registro con la que trabajará en la sección siguiente.
Abra app.py en un editor y actualice la función hello para que coincida con el código siguiente.
def hello():
print("Handling request to home page.")
return "Hello, Azure!"
Abra hello/views.py en un editor y actualice la función hello para que coincida con el código siguiente.
def hello(request):
print("Handling request to home page.")
return HttpResponse("Hello, Azure!")
Guarde los cambios y vuelva a implementar la aplicación con el comando az webapp up:
az webapp up
Este comando utiliza valores que se almacenan en caché de forma local en el archivo .azure/config, incluidos el nombre de la aplicación, el grupo de recursos y el plan de App Service.
Una vez completada la implementación, vuelva a la ventana del explorador abierta en http://<app-name>.azurewebsites.net. Actualice la página, lo que debería mostrar el mensaje modificado:

¿Tiene problemas? Consulte primero la Guía de solución de problemas, de lo contrario, háganoslo saber.
Sugerencia
Visual Studio Code proporciona extensiones eficaces para Python y Azure App Service que simplifican el proceso de implementación de aplicaciones web de Python en App Service. Para más información, consulte Deploy Python apps to App Service from Visual Studio Code (Implementación de aplicaciones de Python en App Service desde Visual Studio Code).
Transmisión de registros
Puede acceder a los registros de consola generados desde dentro de la aplicación y del contenedor en que esta se ejecuta. Los registros incluyen todas las salidas generadas mediante instrucciones print.
Para transmitir registros, ejecute el comando az webapp log tail:
az webapp log tail
También puede incluir el parámetro --logs con el comando az webapp up para abrir automáticamente la secuencia de registro en la implementación.
Actualice la aplicación en el explorador para que se generen registros de la consola, que incluyen mensajes que describen las solicitudes HTTP a la aplicación. Si no aparece la salida inmediatamente, inténtelo de nuevo en 30 segundos.
También puede inspeccionar los archivos de registro desde el explorador en https://<app-name>.scm.azurewebsites.net/api/logs/docker.
Para detener el streaming de registros en cualquier momento, presione Ctrl+C en el terminal.
¿Tiene problemas? Consulte primero la Guía de solución de problemas y, si eso no funciona, háganoslo saber.
Administración de la aplicación de Azure
Vaya a Azure Portal para administrar la aplicación que ha creado. Busque y seleccione App Services.

Seleccione el nombre de la aplicación de Azure.

Al seleccionar la aplicación, se abre la página Información general, donde puede realizar tareas de administración básicas como examinar, detener, iniciar, reiniciar y eliminar.

El menú de App Service proporciona distintas páginas para configurar la aplicación.
¿Tiene problemas? Consulte primero la Guía de solución de problemas y, si eso no funciona, háganoslo saber.
Limpieza de recursos
En los pasos anteriores, creó recursos de Azure en un grupo de recursos. El grupo de recursos tiene un nombre como "appsvc_rg_Linux_CentralUS", en función de su ubicación. Si mantiene la aplicación web en ejecución, se generarán costos continuos (consulte Precios de App Service).
Si prevé que no necesitará estos recursos en el futuro, ejecute el siguiente comando para eliminar el grupo de recursos:
az group delete --no-wait
Este comando usa el nombre del grupo de recursos almacenado en la memoria caché del archivo .azure/config.
El argumento --no-wait permite la devolución del comando antes de que se complete la operación.
¿Tiene problemas? Póngase en contacto con nosotros.