Inicio rápido: Implementación de la primera aplicación web en Azure Spring Apps
Artículo
Nota:
Los planes de Básico, Estándar y Enterprise quedarán en desuso a partir de mediados de marzo de 2025, con un período de retiro de 3 años. Se recomienda realizar la transición a Azure Container Apps. Para más información, consulte el anuncio de retirada de Azure Spring Apps.
En esta guía de inicio rápido se muestra cómo implementar una aplicación web de Spring Boot en Azure Spring Apps. El proyecto de ejemplo es una sencilla aplicación ToDo para agregar tareas, marcar cuando se completan y, a continuación, eliminarlas. En la siguiente captura de pantalla se muestra la aplicación:
Esta aplicación es una aplicación web típica de tres capas con las siguientes capas:
Una aplicación web de Spring back-end que usa Spring Data JPA para acceder a una base de datos relacional.
Una base de datos relacional. Para localhost, la aplicación usa el motor de base de datos H2. Para Azure Spring Apps, la aplicación usa Azure Database for PostgreSQL. Para obtener más información sobre Azure Database for PostgreSQL, consulte Documentación de servidor flexible.
El siguiente diagrama muestra la arquitectura del sistema:
En este artículo se proporcionan las siguientes opciones para la implementación en Azure Spring Apps:
La opción de Azure Portal es la manera más sencilla y rápida de crear recursos e implementar aplicaciones con un solo clic. Esta opción es adecuada para los desarrolladores de Spring que desean implementar rápidamente aplicaciones para los servicios en la nube de Azure.
La opción de Azure Portal y complemento Maven proporciona una manera más convencional de crear recursos e implementar aplicaciones paso a paso. Esta opción es adecuada para los desarrolladores de Spring que usan servicios en la nube de Azure por primera vez.
La opción de la Azure Developer CLI es una manera más eficaz de crear recursos e implementar aplicaciones automáticamente a través de comandos sencillos. La Azure Developer CLI usa una plantilla para aprovisionar los recursos de Azure necesarios e implementar el código de la aplicación. Esta opción es adecuada para los desarrolladores de Spring que están familiarizados con los servicios en la nube de Azure.
En este artículo se proporcionan las siguientes opciones para la implementación en Azure Spring Apps:
La opción de Azure Portal es la manera más sencilla y rápida de crear recursos e implementar aplicaciones con un solo clic. Esta opción es adecuada para los desarrolladores de Spring que desean implementar rápidamente aplicaciones para los servicios en la nube de Azure.
La opción de Azure Portal y complemento Maven proporciona una manera más convencional de crear recursos e implementar aplicaciones paso a paso. Esta opción es adecuada para los desarrolladores de Spring que usan servicios en la nube de Azure por primera vez.
La opción CLI de Azure utiliza una potente herramienta de línea de comandos para administrar los recursos de Azure. Esta opción es adecuada para los desarrolladores de Spring que están familiarizados con los servicios en la nube de Azure.
CLI de Azure: versión 2.45.0 o superior. Use el siguiente comando para instalar la extensión de Azure Spring Apps: az extension add --name spring
Si va a implementar la instancia del plan Enterprise de Azure Spring Apps por primera vez en la suscripción de destino, vea la sección Requisitos del plan Enterprise en Azure Marketplace.
El botón Implementar en Azure de la siguiente sección inicia una experiencia de Azure Portal que descarga un paquete JAR desde la página de ASA-Samples-Web-Application en GitHub. No se necesitan pasos de preparación locales.
Aunque use el Azure Portal en pasos posteriores, debe usar la línea de comandos de Bash para preparar el proyecto localmente. Siga estos pasos para clonar y ejecutar la aplicación localmente:
Use el siguiente comando para clonar el proyecto de muestra desde GitHub:
Use el siguiente comando para compilar un proyecto de ejemplo con Maven:
cd ASA-Samples-Web-Application
./mvnw clean package
Use el siguiente comando para ejecutar la aplicación de ejemplo:
java -jar web/target/simple-todo-web.jar
Vaya a http://localhost:8080 en el explorador para acceder a la aplicación.
3. Preparar el entorno en la nube
Los principales recursos necesarios para ejecutar este ejemplo son una instancia de Azure Spring Apps y una instancia de Azure Database for PostgreSQL. En esta sección se proporcionan los pasos para crear estos recursos.
En esta sección se usa un botón Implementar en Azure para iniciar una experiencia de implementación en Azure Portal. Esta experiencia usa una plantilla de ARM para crear recursos de Azure.
3.1. Inicio de sesión en Azure Portal
Vaya a Azure Portal y escriba sus credenciales para iniciar sesión en el portal. La vista predeterminada es el panel del servicio.
3.2. Creación de recursos de Azure
Siga estos pasos para crear todos los recursos de Azure de los que depende la aplicación:
Seleccione el botón Implementar en Azure para iniciar la experiencia de implementación en Azure Portal:
Rellene el formulario en la pestaña Aspectos básicos. Use la siguiente tabla como guía para completar el formulario:
Configuración
Valor sugerido
Descripción
Suscripción
El nombre de su suscripción.
La suscripción de Azure que desea usar para el servidor. Si tiene varias suscripciones, elija aquella en la que quiere que se le facture el recurso.
Grupos de recursos
myresourcegroup
Un nuevo nombre de grupo de recursos o uno existente de la suscripción.
Región
La región más cercana a los usuarios.
La región se usa para crear el grupo de recursos.
Contraseña de administrador de Postgre SQL
N/D
Contraseña de administrador del servidor de PostgreSQL.
Contraseña de usuario de Postgre SQL
N/D
Contraseña del usuario de la aplicación PostgreSQL que se usa en la aplicación.
Seleccione Revisar y crear para revisar las selecciones. A continuación, seleccione Crear para implementar la aplicación en Azure Spring Apps.
En la barra de herramientas, seleccione el símbolo de Notificaciones (una campana) para supervisar el proceso de implementación. Una vez realizada la implementación, puede seleccionar Anclar al panel para crear un mosaico para este servicio en el panel de Azure Portal como un acceso directo a la página Información general del servicio. Seleccione Ir al recurso para abrir la página Información general del servicio.
3.1. Inicio de sesión en Azure Portal
Vaya a Azure Portal, escriba sus credenciales e inicie sesión en el portal. La vista predeterminada es el panel del servicio.
3.2. Creación de una instancia de Azure Spring Apps
Siga estos pasos para crear la instancia de servicio:
En la esquina de Azure Portal, seleccione Crear un recurso.
Seleccione Proceso>Azure Spring Apps.
Complete el formulario de aspectos básicos con la información siguiente:
Configuración
Valor sugerido
Descripción
Suscripción
El nombre de su suscripción.
La suscripción de Azure que desea usar para el servidor. Si tiene varias suscripciones, elija aquella en la que quiere que se le facture el recurso.
Grupos de recursos
myresourcegroup
Un nuevo nombre de grupo de recursos o uno existente de la suscripción.
Nombre
myasa
Nombre único que identifica al servicio de Azure Spring Apps. El nombre debe tener entre 4 y 32 caracteres, y solo puede contener números, letras minúsculas y guiones. El primer carácter del nombre del servicio debe ser una letra y el último debe ser una letra o un número.
Plan
Empresa
El plan de precios que determina el recurso y el coste asociado a su instancia.
Región
La región más cercana a los usuarios.
La ubicación más cercana a los usuarios.
Redundancia de zona
No seleccionado
La opción para crear el servicio de Azure Spring Apps en una zona de disponibilidad de Azure. Esta característica no se admite actualmente en todas las regiones.
Plan de IP de software
Pago por uso
Pago por uso con Azure Spring Apps.
Términos
Seleccionada
La casilla de verificación del contrato asociado a la oferta de Marketplace. Debe activar esta casilla.
Implementación del proyecto de ejemplo
No seleccionado
Opción para usar la aplicación de ejemplo integrada.
Seleccione Revisar y crear para revisar las selecciones. A continuación, seleccione Crear para aprovisionar la instancia de Azure Spring Apps.
En la barra de herramientas, seleccione el símbolo de Notificaciones (una campana) para supervisar el proceso de implementación. Una vez realizada la implementación, puede seleccionar Anclar al panel para crear un mosaico para este servicio en el panel de Azure Portal como un acceso directo a la página Información general del servicio.
Seleccione Ir al recurso para ir a la página Información general de Azure Spring Apps.
3.3. Preparar la instancia de PostgreSQL
Para crear un servidor de Azure Database for PostgreSQL, siga los pasos siguientes:
En Azure Portal, haga clic en Crear un recurso.
Seleccione Bases de datos>Azure Database for PostgreSQL: servidor flexible.
Complete la pestaña Datos básicos con la información siguiente:
Nombre del servidor: my-demo-pgsql
Región: Este de EE. UU.
Versión de PostgreSQL: 14
Tipo de carga de trabajo: Desarrollo
Habilitar una alta disponibilidad: no seleccionado
Método de autenticación: Solo autenticación de PostgreSQL
Nombre de usuario administrador: myadmin
Contraseña y Confirmar contraseña: escriba una contraseña.
Configure la pestaña Redes introduciendo la siguiente información:
En Método de conectividad, seleccione Acceso público (direcciones IP permitidas)
Permitir acceso público a este servidor desde cualquier servicio de Azure dentro de Azure: seleccionado
Seleccione Revisar y crear para revisar las selecciones y, a continuación, seleccione Crear para aprovisionar el servidor. Esta operación puede tardar unos minutos.
Vaya a la página del servidor de PostgreSQL en Azure Portal.
Seleccione Bases de datos en el menú de navegación para crear una base de datos; por ejemplo, Todo.
3.4. Conectar una instancia de aplicación a una instancia de PostgreSQL
Siga estos pasos para conectar las instancias de servicio:
Vaya a la instancia de Azure Spring Apps en Azure Portal.
En el panel de navegación, abra Aplicaciones y seleccione Crear aplicación.
En la página Crear aplicación, para el nombre de la aplicación, use simple-todo-web y deje todos los demás campos con sus valores predeterminados.
Seleccione Crear para terminar de crear la aplicación y, a continuación, seleccione la aplicación para ver los detalles.
Seleccione Service Connector en el panel de navegación y, a continuación, seleccione Crear para crear una nueva conexión de servicio.
Complete la pestaña Datos básicos con la información siguiente:
Tipo de servicio: Servidor flexible de BD para PostgreSQL
Nombre de conexión: rellenado con un nombre generado automáticamente que puede modificar.
Suscripción: seleccione su suscripción.
Servidor flexible de PostgreSQL: my-demo-pgsql
Base de datos PostgreSQL: seleccione la base de datos que creó.
Tipo de cliente: SpringBoot
Configure la pestaña Siguiente: Autenticación con la siguiente información:
Nota:
Microsoft recomienda usar el flujo de autenticación más seguro disponible. El flujo de autenticación descrito en este procedimiento, como para bases de datos, memorias caché, mensajería o servicios de inteligencia artificial, requiere un grado de confianza muy alto en la aplicación y conlleva riesgos que no están presentes en otros flujos. Use este flujo solo cuando las opciones más seguras, como las identidades administradas para conexiones sin contraseña o sin claves, no sean viables. En el caso de las operaciones de máquina local, prefiera identidades de usuario para conexiones sin contraseña o sin claves.
Seleccione el tipo de autenticación que desea usar entre el servicio de proceso y el servicio de destino: Seleccione Cadena de conexión.
Continuar con...: Seleccione Credenciales de la base de datos
Nombre de usuario: myadmin
Contraseña: Escriba su contraseña.
Seleccione Siguiente: Redes. Use la opción predeterminada Configurar reglas de firewall para habilitar el acceso al servicio de destino.
Seleccione Siguiente: Revisar y crear para revisar las selecciones y, a continuación, seleccione Crear para crear la conexión.
3.1. Proporcione nombres para cada recurso
Cree variables para contener los nombres del recurso mediante los siguientes comandos. Asegúrese de reemplazar los marcadores de posición por sus propios valores.
Nota:
Microsoft recomienda usar el flujo de autenticación más seguro disponible. El flujo de autenticación descrito en este procedimiento, como para bases de datos, memorias caché, mensajería o servicios de inteligencia artificial, requiere un grado de confianza muy alto en la aplicación y conlleva riesgos que no están presentes en otros flujos. Use este flujo solo cuando las opciones más seguras, como las identidades administradas para conexiones sin contraseña o sin claves, no sean viables. En el caso de las operaciones de máquina local, prefiera identidades de usuario para conexiones sin contraseña o sin claves.
Use los siguientes pasos para crear un grupo de recursos.
Use el siguiente comando para iniciar sesión en la CLI de Azure.
az login
Use el siguiente comando para establecer la ubicación predeterminada.
az configure --defaults location=${LOCATION}
Use el siguiente comando para enumerar todas las suscripciones disponibles para determinar el identificador de suscripción que se va a usar.
az account list --output table
Use el siguiente comando para establecer la suscripción predeterminada:
az account set --subscription <subscription-ID>
Use el siguiente comando para crear un grupo de recursos.
az group create --resource-group ${RESOURCE_GROUP}
Usa el siguiente comando para configurar el grupo de recursos recién creado como el grupo de recursos predeterminado.
az configure --defaults group=${RESOURCE_GROUP}
3.3. Creación de una instancia de Azure Spring Apps
Azure Spring Apps se usa para hospedar la aplicación web de Spring. Cree una instancia de Azure Spring Apps y una aplicación dentro de ella.
Use el siguiente comando para crear una instancia de servicio de Azure Spring Apps.
az spring create --name ${AZURE_SPRING_APPS_NAME} --sku enterprise
Use el siguiente comando para crear una aplicación en la instancia de Azure Spring Apps.
az spring app create \
--service ${AZURE_SPRING_APPS_NAME} \
--name ${APP_NAME} \
--assign-endpoint true
3.4. Preparar la instancia de PostgreSQL
La aplicación web Spring usa H2 para la base de datos en localhost y Azure Database for PostgreSQL para la base de datos en Azure.
Use el comando siguiente para crear una instancia de PostgreSQL:
Nota:
Microsoft recomienda usar el flujo de autenticación más seguro disponible. El flujo de autenticación descrito en este procedimiento, como para bases de datos, memorias caché, mensajería o servicios de inteligencia artificial, requiere un grado de confianza muy alto en la aplicación y conlleva riesgos que no están presentes en otros flujos. Use este flujo solo cuando las opciones más seguras, como las identidades administradas para conexiones sin contraseña o sin claves, no sean viables. En el caso de las operaciones de máquina local, prefiera identidades de usuario para conexiones sin contraseña o sin claves.
La especificación de 0.0.0.0 habilita el acceso público desde cualquiera de los recursos implementados en Azure para acceder al servidor.
3.5. Conectar una instancia de aplicación a una instancia de PostgreSQL
Una vez creada la instancia de aplicación y la instancia de PostgreSQL, la instancia de aplicación no puede acceder directamente a la instancia de PostgreSQL. Sigue estos pasos para habilitar la aplicación para conectarse a la instancia de PostgreSQL.
Use el siguiente comando para obtener el nombre de dominio completo de la instancia de PostgreSQL:
Use el siguiente comando para proporcionar las propiedades spring.datasource. a la aplicación a través de variables de entorno:
Nota:
Microsoft recomienda usar el flujo de autenticación más seguro disponible. El flujo de autenticación descrito en este procedimiento, como para bases de datos, memorias caché, mensajería o servicios de inteligencia artificial, requiere un grado de confianza muy alto en la aplicación y conlleva riesgos que no están presentes en otros flujos. Use este flujo solo cuando las opciones más seguras, como las identidades administradas para conexiones sin contraseña o sin claves, no sean viables. En el caso de las operaciones de máquina local, prefiera identidades de usuario para conexiones sin contraseña o sin claves.
az spring app update \
--service ${AZURE_SPRING_APPS_NAME} \
--name ${APP_NAME} \
--env SPRING_DATASOURCE_URL="jdbc:postgresql://${PSQL_FQDN}:5432/${POSTGRESQL_DB}?sslmode=require" \
SPRING_DATASOURCE_USERNAME="${POSTGRESQL_ADMIN_USERNAME}" \
SPRING_DATASOURCE_PASSWORD="${POSTGRESQL_ADMIN_PASSWORD}"
4. Implementación de la aplicación en Azure Spring Apps
El botón Implementar en Azure de la sección anterior inicia una experiencia de Azure Portal que incluye la implementación de aplicaciones, por lo que no se necesita nada más.
En la lista siguiente se describen las interacciones del comando:
Seleccione módulos secundarios para configurar: Seleccione el módulo que desea configurar y, a continuación, escriba el número del módulo SimpleTodo Web.
Inicio de sesión de OAuth2: debe autorizar el inicio de sesión en Azure basado en el protocolo OAuth2.
Seleccionar suscripción: seleccione el número de lista de suscripciones de la instancia de Azure Spring Apps que creó, que tiene como valor predeterminado la primera suscripción de la lista. Si usa el número predeterminado, presione Entrar directamente.
Usar Azure Spring Apps existente en Azure: presione y para usar la instancia de Azure Spring Apps existente.
Seleccione Azure Spring Apps para la implementación: seleccione el número de la instancia de Azure Spring Apps que ha creado. Si usa el número predeterminado, presione Entrar directamente.
Exponer el acceso público para esta aplicación: presione y.
Confirmar para guardar todas las configuraciones anteriores: presione y. Si presiona n, la configuración no se guardará en los archivos POM.
Use el siguiente comando para implementar la aplicación:
./mvnw azure-spring-apps:deploy
En la lista siguiente se describe la interacción del comando:
Inicio de sesión de OAuth2: debe autorizar el inicio de sesión en Azure basado en el protocolo OAuth2.
Una vez ejecutado el comando, puede ver en los siguientes mensajes de registro que la implementación se ha realizado correctamente:
[INFO] Deployment Status: Running
[INFO] InstanceName:simple-todo-web-default-15-xxxxxxxxx-xxxxx Status:Running Reason:null DiscoverStatus:N/A
[INFO] Getting public url of app(simple-todo-web)...
[INFO] Application url: https://<your-Azure-Spring-Apps-instance-name>-simple-todo-web.azuremicroservices.io
La dirección URL de la aplicación de salida es el punto de conexión para acceder a la aplicación todo.
Ahora que el entorno de nube está preparado, la aplicación está lista para implementarse. Use el siguiente comando para implementar la aplicación:
az spring app deploy \
--service ${AZURE_SPRING_APPS_NAME} \
--name ${APP_NAME} \
--artifact-path web/target/simple-todo-web.jar
El botón Implementar en Azure de la siguiente sección inicia una experiencia de Azure Portal que descarga un paquete JAR desde la página de ASA-Samples-Web-Application en GitHub. No se necesitan pasos de preparación locales.
Aunque use el Azure Portal en pasos posteriores, debe usar la línea de comandos de Bash para preparar el proyecto localmente. Siga estos pasos para clonar y ejecutar la aplicación localmente:
Use el siguiente comando para clonar el proyecto de muestra desde GitHub:
En la lista siguiente se describe la interacción del comando:
Escriba un nuevo nombre de entorno: proporcione un nombre de entorno que se use como sufijo para que el grupo de recursos creado contenga todos los recursos de Azure. El nombre debe ser único en la suscripción de Azure.
La consola genera mensajes similares al ejemplo siguiente:
Initializing a new project (azd init)
(✓) Done: Initialized git repository
(✓) Done: Downloading template code to: <your-local-path>
Enter a new environment name: <your-env-name>
SUCCESS: New project initialized!
You can view the template code in your directory: <your-local-path>
Learn more about running 3rd party code on our DevHub: https://aka.ms/azd-third-party-code-notice
3. Preparar el entorno en la nube
Los principales recursos necesarios para ejecutar este ejemplo son una instancia de Azure Spring Apps y una instancia de Azure Database for PostgreSQL. En esta sección se proporcionan los pasos para crear estos recursos.
En esta sección se usa un botón Implementar en Azure para iniciar una experiencia de implementación en Azure Portal. Esta experiencia usa una plantilla de ARM para crear recursos de Azure.
3.1. Inicio de sesión en Azure Portal
Vaya a Azure Portal y escriba sus credenciales para iniciar sesión en el portal. La vista predeterminada es el panel del servicio.
3.2. Creación de recursos de Azure
Siga estos pasos para crear todos los recursos de Azure de los que depende la aplicación:
Seleccione el botón Implementar en Azure para iniciar la experiencia de implementación en Azure Portal:
Rellene el formulario en la pestaña Aspectos básicos. Use la siguiente tabla como guía para completar el formulario:
Configuración
Valor sugerido
Descripción
Suscripción
El nombre de su suscripción.
La suscripción de Azure que desea usar para el servidor. Si tiene varias suscripciones, elija aquella en la que quiere que se le facture el recurso.
Grupos de recursos
myresourcegroup
Un nuevo nombre de grupo de recursos o uno existente de la suscripción.
Región
La región más cercana a los usuarios.
La región se usa para crear el grupo de recursos.
Contraseña de administrador de PostgreSQL
N/D
Contraseña de administrador del servidor de PostgreSQL.
Contraseña de usuario de PostgreSQL
N/D
Contraseña del usuario de la aplicación PostgreSQL que se usa en la aplicación.
Seleccione Revisar y crear para revisar las selecciones. A continuación, seleccione Crear para implementar la aplicación en Azure Spring Apps.
En la barra de herramientas, seleccione el símbolo de Notificaciones (una campana) para supervisar el proceso de implementación. Una vez realizada la implementación, puede seleccionar Anclar al panel para crear un mosaico para este servicio en el panel de Azure Portal como un acceso directo a la página Información general del servicio. Seleccione Ir al recurso para abrir la página Información general del servicio.
Siga estos pasos para crear una instancia de Azure Spring Apps y una instancia de Azure Database for PostgreSQL:
3.1. Inicio de sesión en Azure Portal
Vaya a Azure Portal, escriba sus credenciales e inicie sesión en el portal. La vista predeterminada es el panel del servicio.
3.2. Creación de una instancia de Azure Spring Apps
Siga estos pasos para crear una instancia de servicio:
En la esquina del portal, seleccione Crear un recurso.
Seleccione Proceso>Azure Spring Apps.
Rellene el formulario en la pestaña Aspectos básicos. Use la siguiente tabla como guía para completar el formulario:
Configuración
Valor sugerido
Descripción
Suscripción
El nombre de su suscripción.
La suscripción de Azure que desea usar para el servidor. Si tiene varias suscripciones, elija aquella en la que quiere que se le facture el recurso.
Grupos de recursos
myresourcegroup
Un nuevo nombre de grupo de recursos o uno existente de la suscripción.
Nombre
myasa
Nombre único que identifica al servicio de Azure Spring Apps. El nombre debe tener entre 4 y 32 caracteres, y solo puede contener números, letras minúsculas y guiones. El primer carácter del nombre del servicio debe ser una letra y el último debe ser una letra o un número.
Plan
Consumo estándar y dedicado (versión preliminar)
El plan de precios determina los recursos y el coste asociados a la instancia.
Región
La región más cercana a los usuarios.
La ubicación más cercana a los usuarios.
Entorno de Container Apps
myacaenv
El entorno es un límite seguro alrededor de una o varias aplicaciones de contenedor que se pueden comunicar entre sí y compartir una red virtual, un registro y una configuración de Dapr.
(Opcional) Rellene la pestaña Aspectos básicos con la siguiente información para crear el entorno de Container Apps:
Nombre del entorno: myacaenv
Plan: Consumo
Redundancia de zona: Deshabilitada
A continuación, seleccione Crear para crear el entorno de Container Apps.
Seleccione Revisar y crear para revisar las selecciones. A continuación, seleccione Crear para aprovisionar la instancia de Azure Spring Apps.
En la barra de herramientas, seleccione el símbolo de Notificaciones (una campana) para supervisar el proceso de implementación. Una vez realizada la implementación, puede seleccionar Anclar al panel para crear un mosaico para este servicio en el panel de Azure Portal como un acceso directo a la página Información general del servicio. Seleccione Ir al recurso para abrir la página Información general del servicio.
3.3. Preparar la instancia de PostgreSQL
Para crear un servidor de Azure Database for PostgreSQL, siga los pasos siguientes:
En Azure Portal, haga clic en Crear un recurso.
Seleccione Bases de datos>Azure Database for PostgreSQL: servidor flexible.
Complete la pestaña Datos básicos con la información siguiente:
Nombre del servidor: my-demo-pgsql
Región: Este de EE. UU.
Versión de PostgreSQL: 14
Tipo de carga de trabajo: Desarrollo
Habilitar una alta disponibilidad: no seleccionado
Método de autenticación: Solo autenticación de PostgreSQL
Nombre de usuario administrador: myadmin
Contraseña y Confirmar contraseña: escriba una contraseña.
Configure la pestaña Redes introduciendo la siguiente información:
En Método de conectividad, seleccione Acceso público (direcciones IP permitidas)
Permitir acceso público a este servidor desde cualquier servicio de Azure dentro de Azure: seleccionado
Seleccione Revisar y crear para revisar las selecciones y, a continuación, seleccione Crear para aprovisionar el servidor. Esta operación puede tardar unos minutos.
Vaya a la página del servidor de PostgreSQL en Azure Portal.
Seleccione Bases de datos en el menú de navegación para crear una base de datos; por ejemplo, Todo.
3.4. Conectar una instancia de aplicación a una instancia de PostgreSQL
Siga estos pasos para conectar las instancias de servicio:
Vaya a la instancia de Azure Spring Apps en Azure Portal.
En el panel de navegación, abra Aplicaciones y seleccione Crear aplicación.
En la página Crear aplicación, para el nombre de la aplicación, use simple-todo-web y, a continuación, seleccione Usar aplicación de ejemplo de inicio rápido para crear la aplicación.
Seleccione Crear para terminar de crear la aplicación y, a continuación, seleccione la aplicación para ver sus detalles.
Seleccione Configuración en el panel de navegación y, a continuación, configure las siguientes propiedades en la pestaña Variables de entorno:
SPRING_DATASOURCE_PASSWORD: escriba su contraseña.
Seleccione Guardar para guardar las propiedades de conexión.
Siga estos pasos para crear una instancia de Azure Spring Apps y una instancia de Azure Database for PostgreSQL:
Use el siguiente comando para iniciar sesión en Azure con OAuth2. Omita este paso si ya ha iniciado sesión.
azd auth login
La consola genera mensajes similares al ejemplo siguiente:
Logged in to Azure.
Use el siguiente comando para aprovisionar la infraestructura de la plantilla en Azure:
azd provision
En la lista siguiente se describen las interacciones del comando:
Seleccione una suscripción de Azure para usar: use las flechas para moverse, escriba para filtrar y luego, presione ENTRAR.
Seleccione una ubicación de Azure para usar: use las flechas para moverse, escriba para filtrar y luego, presione ENTRAR.
La consola genera mensajes similares al ejemplo siguiente:
SUCCESS: Your application was provisioned in Azure in xx minutes xx seconds.
You can view the resources created under the resource group rg-<your-environment-name> in Azure Portal:
https://portal.azure.com/#@/resource/subscriptions/<your-subscription-id>/resourceGroups/rg-<your-environment-name>/overview
Nota
Esta operación puede tardar un tiempo en completarse. Verá un indicador de progreso a medida que se aprovisionan los recursos de Azure.
4. Implementación de la aplicación en Azure Spring Apps
El botón Implementar en Azure de la sección anterior inicia una experiencia de Azure Portal que incluye la implementación de aplicaciones, por lo que no se necesita nada más.
En la lista siguiente se describen las interacciones del comando:
Seleccione módulos secundarios para configurar: Seleccione el módulo que desea configurar y, a continuación, escriba el número del módulo SimpleTodo Web.
Inicio de sesión de OAuth2: debe autorizar el inicio de sesión en Azure basado en el protocolo OAuth2.
Seleccionar suscripción: seleccione el número de lista de suscripciones de la instancia de Azure Spring Apps que creó, que tiene como valor predeterminado la primera suscripción de la lista. Si usa el número predeterminado, presione Entrar directamente.
Usar Azure Spring Apps existente en Azure: presione y para usar la instancia de Azure Spring Apps existente.
Seleccione Azure Spring Apps para la implementación: seleccione el número de la instancia de Azure Spring Apps que ha creado. Si usa el número predeterminado, presione Entrar directamente.
Exponer el acceso público para esta aplicación: presione y.
Confirmar para guardar todas las configuraciones anteriores: presione y. Si presiona n, la configuración no se guardará en los archivos POM.
Use el siguiente comando para implementar la aplicación:
./mvnw azure-spring-apps:deploy
En la lista siguiente se describe la interacción del comando:
Inicio de sesión de OAuth2: debe autorizar el inicio de sesión en Azure basado en el protocolo OAuth2.
Una vez ejecutado el comando, puede ver en los siguientes mensajes de registro que la implementación se ha realizado correctamente:
[INFO] Start updating app(simple-todo-web)...
[INFO] App(simple-todo-web) is successfully updated.
[INFO] Starting Spring App after deploying artifacts...
[INFO] Deployment Status: Running
[INFO] InstanceName:simple-todo-web--default-xxxxxxx-xxxxxxxxx-xxxxx Status:Running Reason:null DiscoverStatus:NONE
[INFO] Getting public url of app(simple-todo-web)...
[INFO] Application url: https://simple-todo-web.<unique-identifier>.<region-name>.azurecontainerapps.io
La dirección URL de la aplicación de salida es el punto de conexión para acceder a la aplicación todo.
Ahora puede implementar la aplicación en Azure Spring Apps. Siga estos pasos para empaquetar la aplicación, aprovisionar los recursos de Azure necesarios para la aplicación web y, a continuación, implementarlos en Azure Spring Apps:
Use el siguiente comando para empaquetar una copia implementable de la aplicación:
azd package
La consola genera mensajes similares al ejemplo siguiente:
SUCCESS: Your application was packaged for Azure in xx seconds.
Use el siguiente comando para implementar el código de la aplicación en los recursos recién aprovisionados:
azd deploy
La consola genera mensajes similares al ejemplo siguiente:
Deploying services (azd deploy)
(✓) Done: Deploying service simple-todo-web
- Endpoint: https://simple-todo-web.xxx.<your-azure-location>.azurecontainerapps.io
SUCCESS: Your application was deployed to Azure in xx minutes xx seconds.
You can view the resources created under the resource group rg-<your-environment-name> in Azure Portal:
https://portal.azure.com/#@/resource/subscriptions/<your-subscription-id>/resourceGroups/rg-<your-environment-name>/overview
El punto de conexión de salida es el punto de conexión para acceder a la aplicación todo.
Nota:
También puede usar azd up para combinar los tres comandos anteriores: azd provision (aprovisiona recursos de Azure), azd package (empaqueta una copia implementable de la aplicación) y azd deploy (implementa el código de la aplicación). Para más información, consulte Azure-Samples/ASA-Samples-Web-Application.
El botón Implementar en Azure de la siguiente sección inicia una experiencia de Azure Portal que descarga un paquete JAR desde la página de ASA-Samples-Web-Application en GitHub. No se necesitan pasos de preparación locales.
Aunque use el Azure Portal en pasos posteriores, debe usar la línea de comandos de Bash para preparar el proyecto localmente. Siga estos pasos para clonar y ejecutar la aplicación localmente:
Use el siguiente comando para clonar el proyecto de muestra desde GitHub:
En la lista siguiente se describe la interacción del comando:
Escriba un nuevo nombre de entorno: proporcione un nombre de entorno que se use como sufijo para que el grupo de recursos creado contenga todos los recursos de Azure. El nombre debe ser único en la suscripción de Azure.
La consola genera mensajes similares al ejemplo siguiente:
Initializing a new project (azd init)
(✓) Done: Initialized git repository
(✓) Done: Downloading template code to: <your-local-path>
Please enter a new environment name: <your-env-name>
SUCCESS: New project initialized!
You can view the template code in your directory: <your-local-path>
Learn more about running 3rd party code on our DevHub: https://aka.ms/azd-third-party-code-notice
3. Preparar el entorno en la nube
Los principales recursos necesarios para ejecutar este ejemplo son una instancia de Azure Spring Apps y una instancia de Azure Database for PostgreSQL. En esta sección se proporcionan los pasos para crear estos recursos.
En esta sección se usa un botón Implementar en Azure para iniciar una experiencia de implementación en Azure Portal. Esta experiencia usa una plantilla de ARM para crear recursos de Azure.
3.1. Inicio de sesión en Azure Portal
Vaya a Azure Portal y escriba sus credenciales para iniciar sesión en el portal. La vista predeterminada es el panel del servicio.
3.2. Creación de recursos de Azure
Siga estos pasos para crear todos los recursos de Azure de los que depende la aplicación:
Seleccione el botón Implementar en Azure para iniciar la experiencia de implementación en Azure Portal:
Rellene el formulario en la pestaña Aspectos básicos. Use la siguiente tabla como guía para completar el formulario:
Configuración
Valor sugerido
Descripción
Suscripción
El nombre de su suscripción.
La suscripción de Azure que desea usar para el servidor. Si tiene varias suscripciones, elija aquella en la que quiere que se le facture el recurso.
Grupos de recursos
myresourcegroup
Un nuevo nombre de grupo de recursos o uno existente de la suscripción.
Región
La región más cercana a los usuarios.
La región se usa para crear el grupo de recursos.
Contraseña de administrador de Postgre SQL
N/D
Contraseña de administrador del servidor de PostgreSQL.
Contraseña de usuario de Postgre SQL
N/D
Contraseña del usuario de la aplicación PostgreSQL que se usa en la aplicación.
Seleccione Revisar y crear para revisar las selecciones. A continuación, seleccione Crear para implementar la aplicación en Azure Spring Apps.
En la barra de herramientas, seleccione el símbolo de Notificaciones (una campana) para supervisar el proceso de implementación. Una vez realizada la implementación, puede seleccionar Anclar al panel para crear un mosaico para este servicio en el panel de Azure Portal como un acceso directo a la página Información general del servicio. Seleccione Ir al recurso para abrir la página Información general del servicio.
Siga estos pasos para crear una instancia de Azure Spring Apps y una instancia de Azure Database for PostgreSQL:
3.1. Inicio de sesión en Azure Portal
Vaya a Azure Portal y escriba sus credenciales para iniciar sesión en el portal. La vista predeterminada es el panel del servicio.
3.2. Creación de una instancia de Azure Spring Apps
Siga estos pasos para crear una instancia de servicio:
En la esquina del portal, seleccione Crear un recurso.
Seleccione Proceso>Azure Spring Apps.
Rellene el formulario en la pestaña Aspectos básicos. Use la siguiente tabla como guía para completar el formulario:
Configuración
Valor sugerido
Descripción
Suscripción
El nombre de su suscripción.
La suscripción de Azure que desea usar para el servidor. Si tiene varias suscripciones, elija aquella en la que quiere que se le facture el recurso.
Grupos de recursos
myresourcegroup
Un nuevo nombre de grupo de recursos o uno existente de la suscripción.
Nombre
myasa
Nombre único que identifica al servicio de Azure Spring Apps. El nombre debe tener entre 4 y 32 caracteres, y solo puede contener números, letras minúsculas y guiones. El primer carácter del nombre del servicio debe ser una letra y el último debe ser una letra o un número.
Plan
Basic
El plan de precios determina los recursos y el coste asociados a la instancia.
Región
La región más cercana a los usuarios.
La ubicación más cercana a los usuarios.
Redundancia de zona
No seleccionado
Si se crea el servicio de Azure Spring Apps en una zona de disponibilidad de Azure. Actualmente, esta característica solo se admite en algunas regiones.
Seleccione Revisar y crear para revisar las selecciones. A continuación, seleccione Crear para aprovisionar la instancia de Azure Spring Apps.
En la barra de herramientas, seleccione el símbolo de Notificaciones (una campana) para supervisar el proceso de implementación. Una vez realizada la implementación, puede seleccionar Anclar al panel para crear un mosaico para este servicio en el panel de Azure Portal como un acceso directo a la página Información general del servicio. Seleccione Ir al recurso para abrir la página Información general del servicio.
3.3. Preparar la instancia de PostgreSQL
Para crear un servidor de Azure Database for PostgreSQL, siga los pasos siguientes:
En Azure Portal, haga clic en Crear un recurso.
Seleccione Bases de datos>Azure Database for PostgreSQL: servidor flexible.
Complete la pestaña Datos básicos con la información siguiente:
Nombre del servidor: my-demo-pgsql
Región: Este de EE. UU.
Versión de PostgreSQL: 14
Tipo de carga de trabajo: Desarrollo
Habilitar una alta disponibilidad: no seleccionado
Método de autenticación: Solo autenticación de PostgreSQL
Nombre de usuario administrador: myadmin
Contraseña y Confirmar contraseña: escriba una contraseña.
Configure la pestaña Redes introduciendo la siguiente información:
En Método de conectividad, seleccione Acceso público (direcciones IP permitidas)
Permitir acceso público a este servidor desde cualquier servicio de Azure dentro de Azure: seleccionado
Seleccione Revisar y crear para revisar las selecciones y, a continuación, seleccione Crear para aprovisionar el servidor. Esta operación puede tardar unos minutos.
Vaya a la página del servidor de PostgreSQL en Azure Portal.
Seleccione Bases de datos en el menú de navegación para crear una base de datos; por ejemplo, Todo.
3.4. Conectar una instancia de aplicación a una instancia de PostgreSQL
Siga estos pasos para conectar las instancias de servicio:
Vaya a la instancia de Azure Spring Apps en Azure Portal.
En el panel de navegación, abra el panel Aplicaciones y seleccione Crear aplicación.
En la página Crear aplicación, para el nombre de la aplicación, use simple-todo-web y para la plataforma en tiempo de ejecución, seleccione Java 17.
Seleccione Crear para finalizar la creación de la aplicación y seleccione la aplicación para ver los detalles.
Seleccione Service Connector en el panel de navegación y, a continuación, seleccione Crear para crear una nueva conexión de servicio.
Complete la pestaña Datos básicos con la información siguiente:
Tipo de servicio: Servidor flexible de BD para PostgreSQL
Nombre de conexión: rellenado con un nombre generado automáticamente que puede modificar.
Suscripción: seleccione su suscripción.
Servidor flexible de PostgreSQL: my-demo-pgsql
Base de datos PostgreSQL: seleccione la base de datos que creó.
Tipo de cliente: SpringBoot
Configure la pestaña Siguiente: Autenticación con la siguiente información:
Seleccione el tipo de autenticación que desea usar entre el servicio de proceso y el servicio de destino: Seleccione Cadena de conexión.
Continuar con...: Seleccione Credenciales de la base de datos.
Nombre de usuario: myadmin
Contraseña: Escriba su contraseña.
Seleccione Siguiente: Redes. Use la opción predeterminada Configurar reglas de firewall para habilitar el acceso al servicio de destino.
Seleccione Siguiente: Revisar y crear para revisar las selecciones y, a continuación, seleccione Crear para crear la conexión.
Siga estos pasos para crear una instancia de Azure Spring Apps y una instancia de Azure Database for PostgreSQL:
Ejecute el siguiente comando para iniciar sesión en Azure con OAuth2. Omita este paso si ya ha iniciado sesión.
azd auth login
La consola genera mensajes similares al ejemplo siguiente:
Logged in to Azure.
Use el siguiente comando para establecer la plantilla mediante el plan estándar:
azd env set PLAN standard
Use el siguiente comando para aprovisionar la infraestructura de la plantilla en Azure:
azd provision
En la lista siguiente se describen las interacciones del comando:
Seleccione una suscripción de Azure para usar: use las flechas para moverse, escriba para filtrar y luego, presione ENTRAR.
Seleccione una ubicación de Azure para usar: use las flechas para moverse, escriba para filtrar y luego, presione ENTRAR.
La consola genera mensajes similares al ejemplo siguiente:
SUCCESS: Your application was provisioned in Azure in xx minutes xx seconds.
You can view the resources created under the resource group rg-<your-environment-name> in Azure Portal:
https://portal.azure.com/#@/resource/subscriptions/<your-subscription-id>/resourceGroups/rg-<your-environment-name>/overview
Nota
Esta operación puede tardar un tiempo en completarse. Verá un indicador de progreso a medida que se aprovisionan los recursos de Azure.
4. Implementación de la aplicación en Azure Spring Apps
El botón Implementar en Azure de la sección anterior inicia una experiencia de Azure Portal que incluye la implementación de aplicaciones, por lo que no se necesita nada más.
Ahora puede implementar la aplicación en Azure Spring Apps.
En la lista siguiente se describen las interacciones del comando:
Seleccione módulos secundarios para configurar: Seleccione el módulo que desea configurar y, a continuación, escriba el número del módulo SimpleTodo Web.
Inicio de sesión de OAuth2: autorice el inicio de sesión de Azure en función del protocolo OAuth2.
Seleccionar suscripción: seleccione el número de lista de suscripciones de la instancia de Azure Spring Apps que creó, que tiene como valor predeterminado la primera suscripción de la lista. Si usa el número predeterminado, presione ENTRAR directamente.
Seleccione Azure Spring Apps: seleccione el número de la instancia de Azure Spring Apps que creó. Si usa el número predeterminado, presione ENTRAR directamente.
¿Exponer el acceso público para esta aplicación?: presione y.
Confirme para guardar todas las configuraciones anteriores (Y/N): presione y. Si presiona n, la configuración no se guardará en los archivos POM.
Use el siguiente comando para implementar la aplicación:
./mvnw azure-spring-apps:deploy
En la lista siguiente se describe la interacción del comando:
Inicio de sesión de OAuth2: debe autorizar el inicio de sesión en Azure basado en el protocolo OAuth2.
Una vez ejecutado el comando, puede ver en los siguientes mensajes de registro que la implementación se ha realizado correctamente:
[INFO] Deployment(default) is successfully created
[INFO] Starting Spring App after deploying artifacts...
[INFO] Deployment Status: Running
[INFO] InstanceName:simple-todo-web-default-x-xxxxxxxxxx-xxxxx Status:Running Reason:null DiscoverStatus:UNREGISTERED
[INFO] InstanceName:simple-todo-web-default-x-xxxxxxxxx-xxxxx Status:Terminating Reason:null DiscoverStatus:UNREGISTERED
[INFO] Getting public url of app(simple-todo-web)...
[INFO] Application url: https://<your-Azure-Spring-Apps-instance-name>-simple-todo-web.azuremicroservices.io
La dirección URL de la aplicación de salida es el punto de conexión para acceder a la aplicación todo.
Ahora puede implementar la aplicación en Azure Spring Apps. Siga estos pasos para empaquetar la aplicación, aprovisionar los recursos de Azure necesarios para la aplicación web y, a continuación, implementarlos en Azure Spring Apps:
Use el siguiente comando para empaquetar una copia implementable de la aplicación:
azd package
La consola genera mensajes similares al ejemplo siguiente:
SUCCESS: Your application was packaged for Azure in xx seconds.
Use el siguiente comando para implementar el código de la aplicación en los recursos recién aprovisionados:
azd deploy
La consola genera mensajes similares al ejemplo siguiente:
Deploying services (azd deploy)
(✓) Done: Deploying service simple-todo-web
- Endpoint: https://<your-Azure-Spring-Apps-instance-name>-simple-todo-web.azuremicroservices.io/
SUCCESS: Your application was deployed to Azure in xx minutes xx seconds.
You can view the resources created under the resource group rg-<your-environment-name> in Azure Portal:
https://portal.azure.com/#@/resource/subscriptions/<your-subscription-id>/resourceGroups/rg-<your-environment-name>/overview
El punto de conexión de salida es el punto de conexión para acceder a la aplicación todo.
Nota
También puede usar azd up para combinar los tres comandos anteriores: azd package (empaqueta una copia implementable de la aplicación), azd provision (aprovisiona recursos de Azure) y azd deploy (implementa el código de la aplicación). Para más información, consulte Azure-Samples/ASA-Samples-Web-Application.
5. Validación de la aplicación web
Ahora puede acceder a la aplicación implementada para ver si funciona.
Una vez finalizada la implementación, encontrará la dirección URL de la aplicación en las salidas de implementación:
Acceda a la aplicación con la dirección URL de la aplicación de salida. La página debería aparecer tal y como la vio en localhost.
Compruebe los detalles de cada implementación de recursos, que son útiles para investigar cualquier problema de implementación.
Acceda a la aplicación con la dirección URL de la aplicación de salida. La página debería aparecer tal y como la vio en localhost.
Utilice los pasos siguientes para validarla:
Una vez finalizada la implementación, puede acceder a la aplicación con esta dirección URL: https://${AZURE_SPRING_APPS_NAME}-${APP_NAME}.azuremicroservices.io/. La página debería aparecer tal y como la vio en localhost.
Use el siguiente comando para comprobar el registro de la aplicación e investigar cualquier problema de implementación:
az spring app logs \
--service ${AZURE_SPRING_APPS_NAME} \
--name ${APP_NAME}
Una vez finalizada la implementación, busque la dirección URL de la aplicación en las salidas de implementación:
Acceda al URL de la aplicación. La página debería aparecer tal y como la vio en localhost.
Compruebe los detalles de cada implementación de recursos, que son útiles para investigar cualquier problema de implementación.
Acceda a la aplicación con la dirección URL de la aplicación de salida. La página debería aparecer tal y como la vio en localhost.
Acceda a la aplicación con el punto de conexión de salida. La página debería aparecer tal y como la vio en localhost.
6. Limpieza de recursos
Asegúrate de eliminar los recursos creados en este tutorial cuando ya no los necesites. Puede eliminar el grupo de recursos de Azure, lo que incluye todos los recursos del grupo de recursos.
Siga los siguientes pasos para eliminar todo el grupo de recursos, incluyendo la instancia de servicio recién creada:
Elimine el grupo de recursos en Azure Portal. En el menú de navegación, seleccione Grupos de recursos y, a continuación, seleccione el nombre del grupo de recursos.
En la página Grupo de recursos, seleccione Eliminar. Escriba el nombre del grupo de recursos en el cuadro de texto para confirmar la eliminación, luego seleccione Eliminar.
Siga los siguientes pasos para eliminar todo el grupo de recursos, incluyendo la instancia de servicio recién creada:
Elimine el grupo de recursos en Azure Portal. En el menú de navegación, seleccione Grupos de recursos y, a continuación, seleccione el nombre del grupo de recursos.
En la página Grupo de recursos, seleccione Eliminar. Escriba el nombre del grupo de recursos en el cuadro de texto para confirmar la eliminación, luego seleccione Eliminar.
Use el siguiente comando para eliminar todos los recursos de Azure usados en esta aplicación de ejemplo:
azd down
En la lista siguiente se describe la interacción del comando:
Número total de recursos que se van a eliminar: <resources-total>, ¿está seguro de que desea continuar?: presione y.
La consola genera mensajes similares al ejemplo siguiente:
SUCCESS: Your application was removed from Azure in xx minutes xx seconds.
Siga estos pasos para eliminar todo el grupo de recursos, incluyendo la instancia de servicio recién creada:
Elimine el grupo de recursos en Azure Portal. En el menú de navegación, seleccione Grupos de recursos y, a continuación, seleccione el nombre del grupo de recursos.
En la página Grupo de recursos, seleccione Eliminar. Escriba el nombre del grupo de recursos en el cuadro de texto para confirmar la eliminación, luego seleccione Eliminar.
Siga los siguientes pasos para eliminar todo el grupo de recursos, incluyendo la instancia de servicio recién creada:
Elimine el grupo de recursos en Azure Portal. En el menú de navegación, seleccione Grupos de recursos y, a continuación, seleccione el nombre del grupo de recursos.
En la página Grupo de recursos, seleccione Eliminar. Escriba el nombre del grupo de recursos en el cuadro de texto para confirmar la eliminación, luego seleccione Eliminar.
Siga estos pasos para eliminar todo el grupo de recursos, incluyendo el servicio recién creado: