Compartir a través de


Control de código fuente (versión preliminar)

Applies to:✅ Warehouse en Microsoft Fabric

En este artículo se explica cómo funcionan las canalizaciones de integración e implementación de Git para almacenes en Microsoft Fabric. Obtenga información sobre cómo configurar una conexión al repositorio, administrar los almacenes e implementarlos en distintos entornos. El control de código fuente para Fabric Warehouse es actualmente una característica en versión preliminar.

Puede usar Integración de Git y Canalizaciones de implementación para escenarios diferentes:

  • Use proyectos de base de datos Git y SQL para administrar el cambio incremental, la colaboración en equipo y el historial de confirmaciones en objetos de base de datos individuales.
  • Use canalizaciones de implementación para promover cambios de código en diferentes entornos de preproducción y producción.

Integración de Git

La integración de Git en Microsoft Fabric permite a los desarrolladores integrar sus procesos de desarrollo, herramientas y procedimientos recomendados directamente en la plataforma de Fabric. Permite a los desarrolladores que están desarrollando en Fabric:

  • Hacer copias de seguridad y versiones de su trabajo
  • Revertir a las fases anteriores según sea necesario
  • Colaborar con otros usuarios o trabajar solos mediante ramas de Git
  • Aplicación de las funcionalidades de herramientas conocidas de control de código fuente para administrar elementos de Fabric

Para obtener más información sobre el proceso de integración de Git, consulte:

Configuración de una conexión al control de código fuente

Desde la página Configuración del área de trabajo, puede configurar fácilmente una conexión al repositorio para confirmar y sincronizar los cambios.

  1. Para configurar la conexión, consulte Introducción a la integración de Git. Siga las instrucciones para Conectar a un repositorio de Git para Azure DevOps o GitHub como proveedor de Git.
  2. Una vez conectados, los elementos, incluidos los almacenes, aparecen en el panel Control de código fuente. Captura de pantalla del portal de Fabric del repositorio en los ajustes del control de código fuente.
  3. Después de conectar correctamente las instancias de almacenamiento al repositorio de Git, verá la estructura de carpetas de almacenamiento en el repositorio. Ahora puede ejecutar operaciones futuras, como crear una solicitud de pull.

Proyectos de base de datos para un almacenamiento en Git

La imagen siguiente es un ejemplo de la estructura de archivos de cada elemento de almacenamiento del repositorio:

Screenshot desde el portal de Fabric de un esquema de almacenamiento de ejemplo.

Al confirmar el elemento de almacenamiento en el repositorio de Git, el almacenamiento se convierte en un formato de código fuente, como un proyecto de base de datos SQL. Un proyecto SQL es una representación local de objetos SQL que contiene el esquema de una base de datos única, como tablas, procedimientos almacenados o funciones. La estructura de carpetas de los objetos de base de datos se organiza mediante Tipo de esquema o objeto. Cada objeto del almacenamiento se representa con un archivo .sql que contiene su definición de lenguaje de definición de datos (DDL). Los datos de tabla de almacenamiento y las características de seguridad de SQL no se incluyen en el proyecto de SQL Database.

Las consultas compartidas también se confirman en el repositorio y heredan el nombre con el que se guardan.

Flujos de implementación

También puede usar canalizaciones de implementación para implementar el código de almacenamiento en distintos entornos, como desarrollo, prueba y producción. Las canalizaciones de implementación no exponen un proyecto de base de datos.

Siga estos pasos para completar la implementación del almacén utilizando el pipeline de implementación.

  1. Cree una nueva canalización de implementación o abra una canalización de implementación existente. Para obtener más información, consulte Introducción a las canalizaciones de implementación.
  2. Asigne áreas de trabajo a distintas fases según los objetivos de implementación.
  3. Seleccione, vea y compare elementos, incluidos los almacenes, entre distintas fases, como se muestra en el ejemplo siguiente. Captura de pantalla del portal de Fabric de las fases de desarrollo, de pruebas y de producción.
  4. Seleccione Implementar para implementar los almacenes en las fases de Desarrollo, Prueba, y fases de Producción.

Para obtener más información sobre el proceso de canalizaciones de implementación de Fabric, consulte Introducción a canalizaciones de implementación.

Limitaciones en el control de código fuente

  • Debe exportar o migrar características de seguridad de SQL mediante un enfoque basado en scripts. Considere la posibilidad de usar un script posterior a la implementación en un proyecto de base de datos SQL. Para configurar este script, abra el proyecto con la extensión SQL Database Projects disponible en Visual Studio Code.

Limitaciones de la integración de Git

  • Actualmente, si usa ALTER TABLE para agregar una restricción o columna en el proyecto de base de datos, el proceso de implementación quita y vuelve a crear la tabla, lo que da lugar a la pérdida de datos. Para conservar la definición y los datos de la tabla, tenga en cuenta la siguiente solución alternativa:
    • Cree una nueva copia de la tabla en el almacenamiento mediante CREATE TABLE y INSERT, CREATE TABLE AS SELECT o Clone table.
    • Modifique la nueva definición de tabla con nuevas restricciones o columnas, según desee, mediante ALTER TABLE.
    • Elimine la tabla anterior.
    • Cambie el nombre de la nueva tabla al nombre de la tabla anterior mediante sp_rename.
    • Modifique la definición de la tabla antigua en el proyecto de base de datos SQL de la misma manera exacta. El proyecto de base de datos SQL del almacén de datos en control de código fuente y el almacén de datos activo ahora deben coincidir.
  • Actualmente, no cree un flujo de datos Gen2 con un destino de salida al almacenamiento. Un nuevo elemento denominado DataflowsStagingWarehouse aparece en el repositorio y bloquea la confirmación y actualización desde Git.
  • La integración de Git en Fabric no admite el elemento de punto de conexión de SQL Analytics.
  • Las dependencias entre elementos, la secuenciación de elementos y las brechas de sincronización entre el punto de acceso de análisis de SQL y el almacén de datos afectan a los flujos de trabajo de "ramificación a un área de trabajo nueva o existente" y "cambiar a una rama diferente" durante el desarrollo y la integración continua.

Limitaciones de las canalizaciones de implementación

  • Actualmente, si usa ALTER TABLE para agregar una restricción o columna en el proyecto de base de datos, el proceso de implementación quita y vuelve a crear la tabla, lo que da lugar a la pérdida de datos.
  • Actualmente, no cree un flujo de datos Gen2 con un destino de salida al almacenamiento. Aparece un nuevo elemento denominado DataflowsStagingWarehouse en la canalización de implementación y bloquea la implementación.
  • Las canalizaciones de implementación de Fabric no admiten el elemento del punto de conexión de SQL Analytics.
  • Dependencias entre elementos, secuenciación de elementos y brechas de sincronización entre el punto de conexión de SQL Analytics y el almacén afectan los flujos de trabajo de las canalizaciones de implementación de Fabric.

Escenarios no soportados

Los siguientes procesos de flujo de trabajo de CI/CD no se admiten oficialmente cuando los almacenes de datos en distintos espacios de trabajo tienen intercalaciones diferentes. Aunque estas operaciones se realicen correctamente sin errores, pueden producir errores de metadatos.

En todos estos escenarios, si se produce un error de coincidencia de intercalación, use el script Python scripts/dw-collation-error-update-tmsl/pbi_interactive.py en el repositorio de GitHub del cuadro de herramientas de Fabric para actualizar la intercalación del conjunto de datos (TMSL) de manera que coincida con la intercalación del almacén.

Escenario Descripción Riesgo
Pipelines de implementación No se admite la promoción del contenido del almacén a través de etapas del flujo de trabajo (por ejemplo, Desarrollo → Prueba → Producción), donde el almacén de destino fue creado con una intercalación diferente a la del origen. La implementación puede realizarse correctamente, pero la ordenación del conjunto de datos no se actualiza para que coincida con la ordenación del almacén de datos de destino.
Bifurcarse en un área de trabajo nueva o existente El uso de la integración de Git para bifurcar desde un área de trabajo existente a una área de trabajo nueva o existente en la que el almacenamiento tiene una intercalación diferente no se admite. El contenido del almacén ha sido sincronizado, pero los metadatos de ordenación no se han reconciliado.
Cambio de rama en un espacio de trabajo No se permite cambiar a una rama asociada a un almacén con una intercalación diferente en un área de trabajo conectada a Git. El contenido sincronizado puede contener suposiciones de intercalación que no coinciden con el almacén de datos actual.
Combinación de cambios entre áreas de trabajo a través de ramas No se admite la combinación de ramas de Git entre áreas de trabajo en las que los repositorios tienen configuraciones de intercalación diferentes. La fusión puede realizarse correctamente a nivel de Git, pero la intercalación del conjunto de datos resultante no refleja la intercalación del almacén de datos de destino.