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.
DevServer es el servidor web local que se ejecuta al desarrollar una carga de trabajo de Fabric. Sirve tu front-end (SPA) en localhost y proporciona un pequeño conjunto de puntos de conexión HTTP que Fabric llama durante el desarrollo para recuperar los manifiestos de Producto e Ítem. Cuando se combina con DevGateway, Fabric puede cargar la interfaz de usuario de la carga de trabajo en un iFrame y leer los datos del manifiesto sin publicar nada en su inquilino.
Qué hace devServer
- Aloja la interfaz de usuario de tu carga de trabajo a través de HTTP en localhost (por ejemplo, http://localhost:60006) para que Fabric pueda cargarla en un iFrame.
- Proporciona recursos estáticos a los que hacen referencia los manifiestos (iconos, cadenas localizadas, imágenes).
- Expone los puntos de conexión JSON locales que Fabric usa para leer los manifiestos durante el desarrollo.
- Permite ciclos rápidos de edición y actualización con recarga en caliente en la mayoría de las configuraciones.
Importante
DevServer funciona junto con DevGateway. DevGateway registra la instancia de carga de trabajo local con Fabric para que el servicio sepa cómo comunicarse con los puntos de conexión de DevServer mientras usted desarrolla.
Donde Fabric llama a DevServer
Al habilitar el modo de desarrollo e iniciar DevGateway y DevServer:
- Fabric navega al front-end a través del punto de conexión de front-end definido por el manifiesto de carga de trabajo (consulte Manifiesto de carga de trabajo). En el desarrollo, esto suele apuntar a una dirección URL de localhost expuesta por devServer.
- Fabric consulta el DevServer para los metadatos destinados al producto para que pueda mostrar la navegación, los iconos y otra experiencia de usuario para su carga de trabajo. Esto le permite iterar tanto en
Product.jsoncomo en los manifiestos de elementos, sin tener que volver a generar ni cargar un paquete.
Puntos de conexión locales que proporciona DevServer
Las rutas exactas pueden variar según la plantilla, pero el repositorio de ejemplo expone un pequeño conjunto de puntos de conexión predecibles:
- GET / : devuelve la aplicación web (UI Fabric se carga en un iFrame).
- GET /manifests: devuelve un payload JSON que recopila el manifiesto del producto y los manifiestos de elementos usados por la interfaz de usuario. Esto refleja la estructura que Fabric espera en tiempo de publicación (consulte Manifiesto del producto y Manifiesto de elemento).
- GET /assets/... : proporciona iconos, imágenes y cadenas localizadas a las que hacen referencia los manifiestos.
Nota:
- CORS y encabezados están preconfigurados en el DevServer de ejemplo para que la aplicación se pueda incrustar y comunicar con el host.
- Los nombres de las rutas anteriores siguen el ejemplo actual; consulte el README de la plantilla si el proyecto utiliza una ruta diferente para el extremo de manifiestos.
Flujo de desarrollo típico
- Inicie DevServer desde el repositorio de ejemplo para hospedar el front-end en localhost.
- Inicie DevGateway para registrar la carga de trabajo local con Fabric.
- Abra el área de trabajo de Fabric e inicie el punto de entrada de la carga de trabajo; Fabric carga la aplicación en un iFrame y llama a los puntos de conexión de DevServer para leer los datos del manifiesto.
- Editar archivos de interfaz de usuario o manifiesto y actualizar; los cambios surten efecto inmediatamente sin volver a empaquetar.
Para obtener información sobre cómo iniciar cada proceso, consulte el tutorial Introducción y la guía de instalación.
Relación con manifiestos publicados
En producción, los manifiestos de la carga de trabajo se empaquetan y cargan como parte del paquete NuGet de la carga de trabajo (consulte Descripción general del manifiesto). Durante el desarrollo, los endpoints locales del DevServer actúan como un sustituto ligero para esos archivos empaquetados, permitiéndote iterar rápidamente.
- El esquema y las reglas son los mismos que para los manifiestos publicados.
- El DevServer solo afecta al desarrollo local; no cambia el modo en que se publica.
Sugerencias de solución de problemas
- Si el iFrame muestra una página en blanco, confirme que DevServer se está ejecutando y el punto de conexión de front-end del manifiesto apunta a la dirección URL de localhost correcta.
- Si faltan iconos o cadenas, compruebe las
assetsrutas de acceso y que el DevServer está sirviendo esos archivos en/assets. - Si Fabric no encuentra los manifiestos, compruebe que la ruta existe en la
/manifestsplantilla y devuelva JSON válido.
Prototipos de extremos remotos para el desarrollo local
DevServer incluye implementaciones de código auxiliar integradas para puntos de conexión remotos, lo que le permite probar trabajos y notificaciones de ciclo de vida localmente sin implementar en Azure u otros servicios en la nube. Estos stubs interceptan llamadas que normalmente irían a los puntos de conexión remotos de producción y las gestionan en la máquina local.
¿Qué son los stubs de punto de conexión remoto?
Las implementaciones locales denominadas "stubs" del contrato del punto de conexión remoto son:
- Recepción de solicitudes de ejecución de trabajos y notificaciones de ciclo de vida de Fabric
- Registra los detalles de la solicitud en tu consola para visibilidad inmediata
- Proporcionar implementaciones de ejemplo que muestran cómo interactuar con OneLake y otros servicios de Fabric
- Demostración de los patrones de manejo de tokens y autenticación
- Habilitación de la iteración rápida sin implementación en la nube
Características soportadas por stubs
Los códigos auxiliares de DevServer admiten:
Ejecución del trabajo
- Desencadenadores de trabajos a petición y programados
- Administración del ciclo de vida del trabajo (inicio, estado, cancelación)
- Implementaciones de ejemplo que muestran patrones de procesamiento de datos
- Ejemplos de integración de OneLake
Notificaciones del ciclo de vida
- Notificaciones de creación de elementos
- Notificaciones de actualización de elementos
- Eliminación de elementos y notificaciones de eliminación reversible
- Patrones de aprovisionamiento de infraestructura de ejemplo
Cómo funciona
Al ejecutar DevServer con puntos de conexión remotos configurados:
- Redireccionamiento automático : todas las llamadas de punto de conexión remoto definidas en el manifiesto de elemento se redirigen automáticamente a la máquina local.
- Registro de consola : los detalles de la solicitud, los tokens y las cargas aparecen en la consola de DevServer.
- Ejecución de ejemplo - Las implementaciones stub se ejecutan mostrando las mejores prácticas
- Acceso a tokens: recibe tokens reales de Fabric que se pueden usar para llamar a las APIs de Fabric y acceder a OneLake.
Uso de consignaciones de punto de conexión remoto
Para usar los stubs del endpoint remoto para pruebas locales:
Configurar el manifiesto de elemento : defina trabajos o notificaciones de ciclo de vida como lo haría para producción (consulte Habilitar trabajos remotos y Habilitar notificaciones de ciclo de vida de elementos).
Iniciar el devServer: inicie el servidor de desarrollo siguiendo la guía de inicio rápido.
Registro de la carga de trabajo local : use DevGateway para registrar la carga de trabajo con Fabric.
Desencadenar operaciones en Fabric - Realizar acciones que desencadenen trabajos o notificaciones sobre el ciclo de vida:
- Crear, actualizar o eliminar elementos para las notificaciones del ciclo de vida
- Desencadenar trabajos manualmente o a través de programaciones
Observe la ejecución de los stubs - observe la consola de DevServer para:
- Detalles de la solicitud entrante
- Información del token de autenticación
- Ejemplos de acceso de OneLake
- Patrones de ejecución de trabajos
Salida de la consola de ejemplo
Cuando se desencadena un trabajo, verá un resultado similar al siguiente:
🔔 Job execution request received
Job Type: MyWorkload.DataProcessor.RefreshData
Instance ID: abc123-def456
Workspace ID: 11111111-2222-3333-4444-555555555555
Item ID: aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee
🔑 Authentication tokens received
Subject Token: eyJ0eXAiOiJKV1QiLCJhbGc...
App Token: eyJ0eXAiOiJKV1QiLCJhbGc...
Tenant ID: bbbbcccc-1111-dddd-2222-eeee3333ffff
📦 OneLake access example
Getting OneLake token for scope: https://storage.azure.com/.default
Reading from: /workspaces/{workspaceId}/items/{itemId}/files/
✅ Job execution completed
Ventajas de las pruebas locales de stub
- No es necesaria la implementación en Azure; probar la lógica del punto de conexión remoto sin recursos en la nube
- Iteración rápida : vea los resultados inmediatamente en la consola.
- Ejemplos de manejo de tokens: aprenda patrones de autenticación con tokens reales
- Integración de OneLake : probar patrones de acceso a datos de forma segura
- Código de ejemplo : consulte implementaciones de trabajo para guiar el código de producción.
Pasar a producción
Las implementaciones de stub proporcionan código de ejemplo que puede adaptar para el entorno de producción:
- Revise la implementación stub en el repositorio de código de DevServer.
- Implementar puntos de conexión de producción utilizando los patrones demostrados
- Desplegar puntos de conexión en Azure Functions, Container Instances u otra opción de hospedaje
- Actualizar la configuración del manifiesto para que apunte a los puntos de conexión de producción (consulte Habilitación de puntos de conexión remotos).
Los módulos de prueba usan los mismos patrones de autenticación y contratos de API que en producción, lo cual hace que la transición sea más sencilla.