Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
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:
- Configuración del laboratorio para usar una puerta de enlace de Escritorio remoto
- Habilitación de informes de cumplimiento para el laboratorio en la página de soporte técnico interno
- Permitir que los usuarios completen las operaciones que requieren un mayor número de permisos en la suscripción
- Inicio de flujos de trabajo basados en eventos de DevTest Labs
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:
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.
Para habilitar el registro de recursos se pueden usar Azure Portal, Azure PowerShell o la CLI de Azure.
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:
Copie el ejemplo de Azure Functions de C# en el sistema local. Puede clonar o descargar el repositorio de archivo de Azure DevTest Labs.
Abra la solución de ejemplo en Visual Studio.
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:
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:
En Visual Studio, abra la ventana Explorador de soluciones.
Haga clic con el botón derecho en el proyecto de AzureFunctions y seleccione Publicar.
Complete los pasos del Asistente para publicar una aplicación de funciones de Azure nueva o existente:
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:
En Azure Portal, vaya a la página Aplicación de funciones y seleccione la aplicación de funciones que creó en Visual Studio.
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:
En la página Código y prueba de la función de Azure, seleccione Obtener dirección URL de la función.
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:
Guarde la dirección URL copiada para su uso posterior.
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:
En Visual Studio, vuelva a la página Publicar del proyecto AzureFunctions.
En la sección Hosting, seleccione Más acciones (...) y, a continuación, seleccione Administrar la configuración de Azure App Service:
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
Seleccione Aceptar.
Prueba de la función de Azure
El último paso es probar la función de Azure:
En Azure Portal, vaya a la página Aplicación de funciones y seleccione la aplicación de funciones que creó en Visual Studio.
En la página Información general de la aplicación de funciones, busque la sección Funciones y seleccione la función UpdateInternalSupportPage.
En la página Código y prueba de la función de Azure, seleccione Probar o Ejecutar.
En el panel Probar o Ejecutar, escriba valores para las propiedades de ruta:
LABNAME,RESOURCEGROUPNAMEySUBSCRIPTIONID: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.






