Compartir a través de


Uso de Azure Functions para ampliar Azure DevTest Labs

Azure Functions es una plataforma informática sin servidor en Azure. Puede usar Functions para admitir escenarios adicionales en Azure DevTest Labs. Al usar Functions en una solución con DevTest Labs, puede aumentar las características de servicio existentes con su propio código personalizado.

En este artículo se muestra cómo ampliar la funcionalidad integrada de DevTest Labs para proporcionar un resumen de nivel superior de las máquinas virtuales (VM) en un laboratorio. Estos son algunos otros escenarios que puede admitir mediante la extensión de DevTest Labs con Functions:

En las siguientes secciones se proporcionan instrucciones paso a paso para configurar los recursos de Azure necesarios para actualizar la página Soporte técnico interno en DevTest Labs. En este tutorial se proporciona un ejemplo de cómo extender DevTest Labs. Puede usar este patrón para otros escenarios.

Exploración del escenario de ejemplo

El tutorial de ejemplo de este artículo amplía DevTest Labs mediante Functions para admitir las siguientes características:

  • Proporcionar un resumen de nivel superior de todas las máquinas virtuales de un laboratorio
  • Permitir que los usuarios del laboratorio vean los detalles de la máquina virtual, incluidos el sistema operativo, el propietario y los artefactos aplicados
  • Ofrecer una manera rápida de aplicar el artefacto de Windows Update

El escenario implementa dos funciones de Azure:

  • UpdateInternalSupportPage: consulta DevTest Labs y actualiza la página de soporte técnico interna directamente con detalles sobre las máquinas virtuales del laboratorio.
  • ApplyWindowsUpdateArtifact: aplica el artefacto de Windows Update a todas las máquinas virtuales del laboratorio, según sea necesario.

En el siguiente diagrama se muestra el flujo general del comportamiento de la función en el escenario:

Diagrama que muestra el flujo general para ampliar Azure DevTest Labs con Azure Functions para el escenario de ejemplo.

  • Cuando el usuario navega a la página Soporte técnico interno de DevTest Labs, ve una página rellenada previamente con información sobre máquinas virtuales de laboratorio, propietarios de laboratorio y contactos de soporte técnico.

  • Cuando el usuario selecciona la opción Seleccionar aquí para actualizar, la página llama a la función de Azure UpdateInternalSupportPage. Esta función consulta a DevTest Labs para obtener información y, a continuación, actualiza la página Soporte técnico interno con la información más reciente.

  • Cuando una máquina virtual no tiene un artefacto reciente de Windows Update, el usuario puede seleccionar la opción *Ejecutar Windows Update para la máquina virtual. La página llama a la función de Azure ApplyWindowsUpdateArtifact. Esta función comprueba si la VM se está ejecutando y, en caso afirmativo, aplica el artefacto Windows Update directamente.

Requisitos previos

  • Para trabajar con el ejemplo de este tutorial, necesita una entidad de servicio que tenga permiso para la suscripción que contiene el laboratorio. La entidad de servicio debe usar la autenticación basada en contraseña. Si ya tiene una entidad de servicio que puede usar en este tutorial, puede continuar con la siguiente sección.

    1. Para habilitar el registro de recursos se pueden usar Azure Portal, Azure PowerShell o la CLI de Azure.

    2. Después de tener la entidad de servicio, copie y guarde los valores de identificador de aplicación, clave e identificador de inquilino. Los valores se usan más adelante en el tutorial.

Descarga de una solución de ejemplo y compilación en Visual Studio

El código fuente del ejemplo se encuentra en la integración de la página de soporte técnico interna de DevTest Labs con el repositorio de GitHub de Azure Functions. Los archivos de ejemplo admiten implementaciones de C# y PowerShell.

Una vez que tenga la entidad de servicio, estará listo para obtener el origen de ejemplo:

  1. Copie el ejemplo de Azure Functions de C# en el sistema local. Puede clonar o descargar el repositorio de archivo de Azure DevTest Labs.

  2. Abra la solución de ejemplo en Visual Studio.

  3. Según sea necesario, instale la carga de trabajo de desarrollo de Azure para Visual Studio; para ello, seleccione Herramientas>Obtener herramientas y características:

    Captura de pantalla que muestra cómo instalar la carga de trabajo desarrollo de Azure en Visual Studio.

  4. Seleccione Compilación>Solución de compilación para completar el proceso.

Implementación de ejemplo en Azure

El siguiente paso es implementar la aplicación de funciones de ejemplo en Azure:

  1. En Visual Studio, abra la ventana Explorador de soluciones.

  2. Haga clic con el botón derecho en el proyecto de AzureFunctions y seleccione Publicar.

  3. Complete los pasos del Asistente para publicar una aplicación de funciones de Azure nueva o existente:

    Recorte de pantalla que muestra el cuadro de diálogo Publicar para una aplicación de funciones de Azure en Visual Studio.

    Para obtener información detallada sobre el desarrollo e implementación de aplicaciones de Azure Functions en Visual Studio, consulte Desarrollo de Azure Functions mediante Visual Studio.

Obtener la dirección URL de la función

Después de publicar la aplicación de funciones, debe obtener las direcciones URL de las funciones desde Azure Portal:

  1. En Azure Portal, vaya a la página Aplicación de funciones y seleccione la aplicación de funciones que creó en Visual Studio.

  2. En la página Información general de la aplicación de funciones, busque la sección Funciones y seleccione una de las funciones: UpdateInternalSupportPage o ApplyWindowsUpdateArtifact:

    Captura de pantalla que muestra cómo acceder a Azure Functions para la aplicación de funciones en Azure Portal.

  3. En la página Código y prueba de la función de Azure, seleccione Obtener dirección URL de la función.

  4. En el panel Obtener la dirección URL de la función, use la acción Copiar para copiar la dirección URL deseada en el Portapapeles:

    Recorte de pantalla que muestra cómo copiar la dirección URL de la función en Azure Portal.

  5. Guarde la dirección URL copiada para su uso posterior.

  6. Repita estos pasos con la otra función de Azure.

Actualización de la configuración de la aplicación

Además de la dirección URL de cada función, también es necesario actualizar la información sobre la entidad de seguridad del servicio, incluidos el ID de aplicación, la clave y el ID de inquilino.

Siga estos pasos para actualizar la configuración de la aplicación necesaria en Visual Studio:

  1. En Visual Studio, vuelva a la página Publicar del proyecto AzureFunctions.

  2. En la sección Hosting, seleccione Más acciones (...) y, a continuación, seleccione Administrar la configuración de Azure App Service:

    Captura de pantalla que muestra cómo administrar la configuración de Azure App Service desde la página Publicar de la aplicación de funciones.

  3. En el cuadro de diálogo Configuración de la aplicación, actualice el valor de Remoto de las siguientes opciones:

    • AzureFunctionUrl_ApplyUpdates
    • AzureFunctionUrl_UpdateSupportPage
    • WindowsUpdateAllowedDays (el valor predeterminado es 7)
    • ServicePrincipal_AppId
    • ServicePrincipal_Key
    • ServicePrincipal_Tenant

    Recorte de pantalla que muestra cómo actualizar la configuración de la aplicación de funciones de Azure App Service en Visual Studio.

  4. Seleccione Aceptar.

Prueba de la función de Azure

El último paso es probar la función de Azure:

  1. En Azure Portal, vaya a la página Aplicación de funciones y seleccione la aplicación de funciones que creó en Visual Studio.

  2. En la página Información general de la aplicación de funciones, busque la sección Funciones y seleccione la función UpdateInternalSupportPage.

  3. En la página Código y prueba de la función de Azure, seleccione Probar o Ejecutar.

  4. En el panel Probar o Ejecutar, escriba valores para las propiedades de ruta: LABNAME, RESOURCEGROUPNAME y SUBSCRIPTIONID:

    Recorte de pantalla que muestra cómo escribir los valores de propiedad de la prueba de función.

  5. Seleccione Ejecutar para ejecutar la función. La prueba de función actualiza la página de compatibilidad interna del laboratorio especificado. También incluye una opción para que los usuarios llamen directamente a la función la próxima vez.