Inicio rápido: Implementación de una aplicación basada en eventos 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.
Este artículo se aplica a:✅ consumo estándar y dedicado (versión preliminar) ✅ Básico/Estándar ✅ Enterprise
En este artículo se explica cómo implementar una aplicación basada en eventos de Spring Boot en Azure Spring Apps.
El proyecto de muestra es una aplicación controlada por eventos que se suscribe a una cola de Service Bus con el nombre lower-case y, luego, gestiona el mensaje y envía otro mensaje a otra cola que se llama upper-case. Para simplificar la aplicación, el procesamiento de mensajes solo convierte el mensaje en mayúsculas. En el siguiente diagrama se muestra este proceso:
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 Azure Portal y complemento Maven es 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.
La opción 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 Azure Portal y complemento Maven es 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.
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.
Siga los pasos que se indican a continuación para preparar el ejemplo en el sistema local:
El proyecto de ejemplo está listo en GitHub. Clone el proyecto de ejemplo mediante el siguiente comando:
Compila el proyecto de muestra con los siguientes comandos:
cd ASA-Samples-Event-Driven-Application
./mvnw clean package
Sigue los siguientes pasos para preparar la muestra localmente. Estos pasos usan AZD para inicializar la aplicación controlada por eventos a partir de las plantillas de Azure Developer CLI.
Abra un terminal, cree una carpeta vacía y, a continuación, vaya a esta.
Use el comando siguiente para inicializar el proyecto:
En la lista siguiente se describen las interacciones del comando:
Escriba un nuevo nombre de entorno: proporcione un nombre de entorno que se use como sufijo para que el grupo de recursos que se crea para contener 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 recursos principales que necesita para ejecutar este ejemplo son una instancia de Azure Spring Apps, una instancia de Azure Key Vault y otra de Azure Service Bus. Utiliza los siguientes 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.
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
Abra el explorador web y vaya a Azure Portal. Introduzca sus credenciales para iniciar sesión en el portal. La vista predeterminada es el panel del servicio.
3.2. Crear una instancia de Service Bus
Siga estos pasos para crear una instancia de Service Bus:
En la esquina de Azure Portal, seleccione Crear un recurso.
En el cuadro de búsqueda Buscar servicios y marketplace, busque Service Bus.
En la sección Service Bus, seleccione Crear.
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 del espacio de nombres
my-srvbus
Nombre único que identifica el servicio de Service Bus.
Ubicación
La ubicación más cercana a los usuarios.
La ubicación más cercana a los usuarios.
Opciones y planes de hospedaje
Basic
El plan de precios determina los recursos y el coste asociados a la instancia.
Seleccione Revisar y crear para revisar los parámetros de creación. A continuación, seleccione Crear para terminar de crear la instancia de Service Bus.
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.
Seleccione Ir al recurso para ir a la página Espacio de nombres de Service Bus .
Seleccione directivas de acceso compartido en el menú de navegación y, a continuación, seleccione RootManageSharedAccessKey.
En la página Directiva de SAS: RootManageSharedAccessKey, copie y guarde el valor cadena de conexión principal, que se usa para configurar conexiones desde la aplicación Spring.
Seleccione Colas en el menú de navegación y, a continuación, seleccione Cola.
En la página Crear cola, escriba en minúsculas para el Nombre y, a continuación, seleccione Crear.
Cree otra cola repitiendo el paso anterior usando mayúsculas para el Nombre.
3.3. Creación de una instancia de Azure Spring Apps
Siga estos pasos para crear la instancia de servicio:
En la esquina del portal, seleccione Crear un recurso.
Seleccione Proceso>Azure Spring Apps.
Rellene el formulario del plan Consumo estándar y dedicado (versión preliminar) con la siguiente información:
Configuración
Valor sugerido
Descripción
Suscripción
Nombre de la 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
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) Siga estos pasos para crear un entorno de Container Apps:
Complete la pestaña Datos básicos con la información siguiente:
Nombre del entorno: myacaenv
Plan: Consumo
Redundancia de zona: Deshabilitada
Seleccione Crear para crear el entorno de aplicaciones de contenedor.
Complete la pestaña Datos básicos con la información siguiente:
Nombre del entorno: myacaenv
Plan: (Versión preliminar) Perfiles de carga de trabajo dedicados y consumo
Redundancia de zona: Deshabilitada
Seleccione la pestaña Perfiles de carga de trabajo (versión preliminar) y, a continuación, seleccione Agregar perfil de carga de trabajo para agregar un perfil de carga de trabajo.
En la página Agregar perfil de carga de trabajo (versión preliminar), agregue la siguiente información:
Nombre del perfil de carga de trabajo: my-wlp
Tamaño del perfil de carga de trabajo: seleccione Dedicated-D4
Intervalo de recuento de instancias de escalado automático: seleccione 3 y 5
Seleccione Agregar. Esta selección le lleva de nuevo a la página Agregar perfil de carga de trabajo (versión preliminar). Seleccione my-wlp y, a continuación, seleccione Crear para crear el entorno de Container Apps.
Seleccione Revisar y crear para revisar las selecciones. 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 icono para este servicio en el panel de Azure Portal como un acceso directo a la página Información general del servicio. Al seleccionar Ir al recurso, se abre 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.
Seleccione Aplicaciones en el menú de navegación izquierdo y elija Crear aplicación.
En la página Crear aplicación, escriba simple-event-driven-app en Nombre de la aplicación y seleccione Usar aplicación de ejemplo de inicio rápido para crear la aplicación.
Seleccione Crear para terminar de crear la instancia de Azure Spring Apps.
Después de la creación de la aplicación, seleccione el nombre de la aplicación que creó en el paso anterior.
Seleccione Configuración en el panel de navegación y configure la siguiente propiedad en la pestaña Variables de entorno.
SERVICE_BUS_CONNECTION_STRING: escriba la cadena de conexión principal de Service Bus.
Seleccione Guardar para guardar las propiedades de conexión.
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 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 las opciones y presione Entrar.
Seleccione una ubicación de Azure para usar: use las flechas para moverse, escriba para filtrar las opciones y 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>-<random-string>> 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:
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 lista de la instancia de Azure Spring Apps que creó. Si usa el número predeterminado, presione Entrar directamente.
Use la aplicación existente en Azure Spring Apps <nombre-instancia>: presione y para usar la aplicación creada.
Confirme 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(default) is successfully created
[INFO] Starting Spring App after deploying artifacts...
[INFO] Deployment Status: Running
Siga estos pasos para usar AZD 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-event-driven-app
- No endpoints were found
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
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-Event-Driven-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.
Siga los pasos que se indican a continuación para preparar el ejemplo en el sistema local:
El proyecto de ejemplo está listo en GitHub. Clone el proyecto de ejemplo mediante el siguiente comando:
Compila el proyecto de muestra con los siguientes comandos:
cd ASA-Samples-Event-Driven-Application
./mvnw clean package
Sigue los siguientes pasos para preparar la muestra localmente. Estos pasos usan AZD para inicializar la aplicación controlada por eventos a partir de las plantillas de Azure Developer CLI.
Abra un terminal, cree una carpeta vacía y, a continuación, vaya a esta.
Use el comando siguiente para inicializar el proyecto:
En la lista siguiente se describen las interacciones del comando:
Escriba un nuevo nombre de entorno: proporcione un nombre de entorno que se use como sufijo para que el grupo de recursos que se crea para contener 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 recursos principales que necesita para ejecutar este ejemplo son una instancia de Azure Spring Apps, una instancia de Azure Key Vault y una instancia de Azure Service Bus. Utiliza los siguientes 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.
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
Abra el explorador web y vaya a Azure Portal. Introduzca sus credenciales para iniciar sesión en el portal. La vista predeterminada es el panel del servicio.
3.2. Crear una instancia de Service Bus
Siga estos pasos para crear una instancia de Service Bus:
En la esquina de Azure Portal, seleccione Crear un recurso.
En el cuadro de búsqueda Buscar servicios y marketplace, busque Service Bus.
En la sección Service Bus, seleccione Crear.
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 del espacio de nombres
my-srvbus
Nombre único que identifica el servicio de Service Bus.
Ubicación
La ubicación más cercana a los usuarios.
La ubicación más cercana a los usuarios.
Opciones y planes de hospedaje
Basic
El plan de precios determina los recursos y el coste asociados a la instancia.
Seleccione Revisar y crear para revisar los parámetros de creación. A continuación, seleccione Crear para terminar de crear la instancia de Service Bus.
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.
Seleccione Ir al recurso para ir a la página Espacio de nombres de Service Bus .
Seleccione directivas de acceso compartido en el menú de navegación y, a continuación, seleccione RootManageSharedAccessKey.
En la página Directiva de SAS: RootManageSharedAccessKey, copie y guarde el valor cadena de conexión principal, que se usa para configurar conexiones desde la aplicación Spring.
Seleccione Colas en el menú de navegación y, a continuación, seleccione Cola.
En la página Crear cola, escriba en minúsculas para el Nombre y, a continuación, seleccione Crear.
Cree otra cola repitiendo el paso anterior usando mayúsculas para el Nombre.
3.3. Creación de una instancia de Azure Spring Apps
Use los siguientes pasos para crear una instancia de Azure Spring Apps:
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:
Use la tabla siguiente como guía para completar el formulario. El plan recomendado es Estándar.
Configuración
Valor sugerido
Descripción
Suscripción
Nombre de la 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
Estándar
El plan determina el recurso y los costos asociados a la instancia.
Región
Región más cercana a los usuarios
La ubicación más cercana a los usuarios.
Redundancia de zona
No seleccionado
Si se va a crear el servicio Azure Spring Apps en una zona de disponibilidad de Azure, solo se puede admitir en varias regiones en este momento.
Seleccione Revisar y crear para revisar las selecciones. 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 icono para este servicio en el panel de Azure Portal como un acceso directo a la página Información general del servicio. Al seleccionar Ir al recurso, se abre la página Información general del servicio.
3.4. Conexión de una instancia de aplicación a una instancia de Service Bus
Vaya a la instancia de Azure Spring Apps en Azure Portal.
Seleccione Aplicaciones en el menú de navegación y, a continuación, seleccione Crear aplicación.
En la página Crear aplicación, escriba simple-event-driven-app como Nombre de la aplicación y seleccione Java 17 para plataforma en tiempo de ejecución.
Después de la creación de la aplicación, seleccione el nombre de la aplicación que creó en el paso anterior.
En la página Configuración , seleccione la pestaña Variables de entorno , escriba SERVICE_BUS_CONNECTION_STRING para Clave, pegue la cadena de conexión de Service Bus en Valor y, a continuación, seleccione Guardar.
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 establecer la plantilla mediante el plan estándar :
azd env set PLAN standard
Use el siguiente comando para empaquetar una copia implementable de la aplicación, aprovisionar la infraestructura de la plantilla en Azure e implementar el código de aplicación en esos recursos recién aprovisionados:
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. Se muestra un indicador de progreso a medida que aprovisiona 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:
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 lista de la instancia de Azure Spring Apps que creó. Si usa el número predeterminado, presione Entrar directamente.
Use la aplicación existente en Azure Spring Apps <nombre-instancia>: presione y para usar la aplicación creada.
Confirme 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(default) is successfully created
[INFO] Starting Spring App after deploying artifacts...
[INFO] Deployment Status: Running
Siga estos pasos para usar AZD 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-event-driven-app
- No endpoints were found
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
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-Event-Driven-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.
Siga los pasos que se indican a continuación para preparar el ejemplo en el sistema local:
El proyecto de ejemplo está listo en GitHub. Clone el proyecto de ejemplo mediante el siguiente comando:
Compila el proyecto de muestra con los siguientes comandos:
cd ASA-Samples-Event-Driven-Application
./mvnw clean package
3. Preparar el entorno en la nube
Los recursos principales que necesita para ejecutar este ejemplo son una instancia de Azure Spring Apps y una instancia de Azure Service Bus. En las secciones siguientes, se describe cómo 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.
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 y escriba sus credenciales para iniciar sesión en el portal. La vista predeterminada es el panel del servicio.
3.2. Crear una instancia de Service Bus
Siga estos pasos para crear una instancia de Service Bus:
En la esquina de Azure Portal, seleccione Crear un recurso.
En el cuadro de búsqueda Buscar servicios y marketplace, busque Service Bus.
En la sección Service Bus, seleccione Crear.
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 del espacio de nombres
my-srvbus
Nombre único que identifica el servicio de Service Bus.
Ubicación
La ubicación más cercana a los usuarios.
La ubicación más cercana a los usuarios.
Opciones y planes de hospedaje
Basic
El plan de precios determina los recursos y el coste asociados a la instancia.
Seleccione Revisar y crear para revisar los parámetros de creación. A continuación, seleccione Crear para terminar de crear la instancia de Service Bus.
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.
Seleccione Ir al recurso para ir a la página Espacio de nombres de Service Bus .
Seleccione Colas en el menú de navegación y, a continuación, seleccione Cola.
En la página Crear cola, escriba en minúsculas para el Nombre y, a continuación, seleccione Crear.
Cree otra cola repitiendo el paso anterior usando mayúsculas para el Nombre.
3.3. 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.
Región
La región más cercana a los usuarios.
La ubicación más cercana a los usuarios.
Opciones y planes de hospedaje
Empresa
El plan de precios que determina el recurso y el coste asociado a su instancia.
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
Plan de precios que le permite pagar por uso con Azure Spring Apps.
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.4. Conexión de una instancia de aplicación a una instancia de Service Bus
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, a continuación, seleccione Crear aplicación.
En la página Crear aplicación, para el nombre de la aplicación, utilice simple-event-driven-app 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: Seleccione Service Bus.
Nombre de conexión: rellenado con un nombre generado automáticamente que puede modificar.
Suscripción: seleccione su suscripción.
Espacio de nombres: Seleccione el espacio de nombres que creó.
Tipo de cliente: Seleccione 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.
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, elija 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.
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 y determinar el id. 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}
Use el siguiente comando para establecer el grupo de recursos recién creado como el grupo de recursos predeterminado:
az configure --defaults group=${RESOURCE_GROUP}
3.3. Instalación de la extensión y registro del espacio de nombres
Use los siguientes comandos para instalar la extensión Azure Container Apps para la CLI de Azure y registrar el espacios de nombres Microsoft.SaaS:
az extension add --name spring --upgrade
az provider register --namespace Microsoft.SaaS
3.4. Creación de una instancia de Azure Spring Apps
Use el siguiente comando para crear una instancia de Azure Spring Apps:
az spring create \
--name ${AZURE_SPRING_APPS_INSTANCE} \
--sku Enterprise
A continuación, use el siguiente comando para crear una aplicación en la instancia de Azure Spring Apps:
az spring app create \
--service ${AZURE_SPRING_APPS_INSTANCE} \
--name ${APP_NAME}
3.5. Crear una instancia de Service Bus
Siga estos pasos para crear una instancia de Service Bus:
Usar el comando siguiente para crear un espacio de nombres de Service Bus:
az servicebus namespace create --name ${SERVICE_BUS_NAME_SPACE}
Usar los comandos siguientes para crear dos colas con los nombres lower-case y upper-case:
az servicebus queue create \
--namespace-name ${SERVICE_BUS_NAME_SPACE} \
--name lower-case
az servicebus queue create \
--namespace-name ${SERVICE_BUS_NAME_SPACE} \
--name upper-case
3.6. Conexión de una instancia de aplicación a una instancia de Service Bus
Ya ha creado tanto el bus de servicios como la aplicación en Azure Spring Apps, pero la aplicación no puede conectarse a Service Bus. Siga estos pasos para habilitar la aplicación para conectarse a Service Bus y, a continuación, implementar la aplicación:
Obtén la cadena de conexión de Service Bus mediante el siguiente comando:
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.
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:
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 lista de la instancia de Azure Spring Apps que creó. Si usa el número predeterminado, presione Entrar directamente.
Use la aplicación existente en Azure Spring Apps <nombre-instancia>: presione y para usar la aplicación creada.
Confirme 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] Starting Spring App after deploying artifacts...
[INFO] Deployment Status: Running
El entorno de nube ya está listo. Implementa la aplicación con el siguiente comando:
az spring app deploy \
--service ${AZURE_SPRING_APPS_INSTANCE} \
--name ${APP_NAME} \
--artifact-path target/simple-event-driven-app-0.0.2-SNAPSHOT.jar
5. Validación de la aplicación
Sigue estos pasos para confirmar que la aplicación controlada por eventos funciona correctamente. Para validar la aplicación, envíe un mensaje a la cola lower-case y, a continuación, confirme que hay un mensaje en la cola upper-case.
Vaya a página Información general de la instancia de Azure Spring Apps y seleccione Registros para comprobar los registros de la aplicación.
Use el siguiente comando para comprobar el registro de la aplicación para investigar cualquier problema de implementación:
az spring app logs \
--service ${AZURE_SPRING_APPS_INSTANCE} \
--name ${APP_NAME}
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 el servicio recién creado:
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 el servicio recién creado:
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 pasos que se indican a continuación para eliminar todo el grupo de recursos, incluido el servicio recién creado:
Siga los siguientes pasos para eliminar todo el grupo de recursos, incluyendo el servicio recién creado:
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 el servicio recién creado:
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 describen las interacciones del comando:
Número total de recursos que se van a eliminar: <your-resources-total>, ¿está seguro de que desea continuar?: presione y.
¿Desea eliminar permanentemente estos recursos en su lugar, lo que permite reutilizar sus nombres?: presione y. Presione n si desea reutilizar el Key Vault.
La consola genera mensajes similares al ejemplo siguiente:
SUCCESS: Your application was removed from Azure in xx minutes xx seconds.