Distribuisci un magazzino utilizzando pipeline

Si applica a: ✅ Magazzino in Microsoft Fabric

Microsoft Fabric pipeline offrono un modo semplificato per modificare gli schemi di warehouse tra spazi di lavoro come Dev → Test → Production. Le pipeline dispongono di gestione delle dipendenze integrate, validazione dello schema e intelligenza dichiarativa per il deployment.

Importante

Questa funzionalità si trova in Anteprima.

Questo articolo spiega il processo di distribuzione nei magazzini con le pipeline.

Diagramma del ciclo di vita del deployment della pipeline per Fabric Data Warehouse.

Le pipeline di distribuzione forniscono la struttura del ciclo di vita necessaria per spostare in sicurezza le modifiche del magazzino tra gli spazi di lavoro. Agiscono come livello centrale di orchestrazione per la promozione degli schemi, permettendo ai team di standardizzare il modo in cui i cambiamenti fluiscono attraverso la piattaforma di analytics invece di affidarsi a implementazioni ad hoc. Una volta creata, la pipeline diventa l'interfaccia principale per confrontare i warehouse, esaminare le modifiche ed eseguire le implementazioni.

Creare un flusso di lavoro

Per creare una nuova pipeline, vedi inizia con pipeline di distribuzione per creare e gestire una pipeline di deployment.

Confrontare

Verifica e confronta sempre le modifiche di T-SQL prima del deployment. Le pipeline di distribuzione offrono una semplice schermata di confronto nel portale Fabric per esaminare gli oggetti del magazzino interessati.

Esaminare i cambiamenti permette ai team di verificare la prontezza prima di promuovere aggiornamenti agli ambienti a valle. Questo processo è particolarmente prezioso negli scenari aziendali in cui più team contribuiscono allo sviluppo del magazzino.

Fabric utilizza DacFx (Data-tier Application Framework) per effettuare questo confronto. DacFx costruisce un modello di schema dichiarativo di entrambi gli ambienti e identifica differenze come nuove tabelle, colonne modificate, vincoli o cambiamenti di dipendenze. Poiché questo confronto è guidato dal modello, riflette accuratamente ciò che accade durante il deployment.

Importante

Per il confronto degli schemi con il lavoro, il warehouse deve esistere sia nello spazio di lavoro sorgente che in quello di destinazione. Se lo spazio di lavoro di destinazione non contiene ancora il warehouse, crea o distribuisci prima una versione di base iniziale.

Note

Se la clausola di COLLATE una colonna specifica esplicitamente la stessa collazione della collazione predefinita del warehouse, il confronto non la mostra come differenza, perché è equivalente a non specificare affatto una collazione. Solo le colonne la cui collazione differisce da quella predefinita del magazzino appaiono nei confronti quando la loro collation cambia. Per maggiori informazioni e un esempio, vedi Troubleshoot integrazione Git per lo sviluppo Fabric Data Warehouse.

Prima di implementare qualsiasi modifica, utilizza la capacità di confronto della pipeline di distribuzione per rivedere le differenze tra gli spazi di lavoro del magazzino di origine e di destinazione.

Screenshot nel portale Fabric usando una pipeline per confrontare un magazzino in due spazi di lavoro diversi.

Seleziona Confronta e visualizza le modifiche, come creare una nuova visualizzazione nel magazzino:

Screenshot del confronto tra un magazzino in uno stato e un magazzino in un altro stato.

Deploy

Dopo che il confronto è terminato e hai validato le modifiche, puoi distribuire direttamente dall'interfaccia pipeline selezionando gli articoli del magazzino da promuovere.

Screenshot dal portale Fabric della schermata Deploy a questa fase nella pipeline.

Durante il deployment, le pipeline di deployment utilizzano DacFx per generare un piano di deployment intelligente basato sulle differenze di schema. Fabric applica solo le modifiche necessarie per sincronizzare lo spazio di lavoro di destinazione con la sorgente.

Screenshot dal portale Fabric di una distribuzione di successo.

Configurazioni di distribuzione

Fabric pipeline di distribuzione utilizzano la tecnologia di distribuzione DacFx con configurazioni specificamente adattate per Fabric Data Warehouse. Queste configurazioni garantiscono che le implementazioni abbiano successo in modo affidabile, allineandosi alle capacità e alle pratiche operative della piattaforma Fabric.

  • Blocco su possibile perdita di dati (BlockOnPossibleDataLoss = true) - Fabric Data Warehouse previene implementazioni che potrebbero essere cancellate, cadute o comunque aver dato l'utente. Questa impostazione impedisce che cambiamenti di schema ad alto rischio passino attraverso CI/CD e rende il rischio di perdita di dati una decisione deliberata invece che un default silenzioso.

  • Saltare lo script di opzioni a livello di database (ScriptDatabaseOptions = false) - Fabric gestisce molte impostazioni a livello di database a livello di piattaforma. Le istruzioni di scripting, come ALTER DATABASE ... SET durante la distribuzione, possono portare a guasti o a spostamenti di configurazione non indesiderati. Le pipeline di distribuzione quindi evitano di propagare queste impostazioni, garantendo che le implementazioni degli schemi si concentrino solo sugli oggetti warehouse supportati.

  • Consentire l'applicazione del motore per oggetti replicati (DoNotAlterReplicatedObjects = false) - I warehouse spesso utilizzano meccanismi interni di replica, ad esempio in scenari di collegamento o sincronizzazione. Invece di bloccare prematuramente le modifiche allo schema, le pipeline di distribuzione permettono al motore Fabric di determinare se una modifica è consentita. Questo approccio previene fallimenti di implementazione inutili pur preservando le salvaguardie delle piattaforme.

  • Disabilitazione degli script DDL transazionali (IncludeTransactionalScripts = false) - Attualmente i warehouse non supportano il wrapping degli script DDL all'interno delle transazioni. Le pipeline di distribuzione quindi generano script non transazionali per garantire che le implementazioni si completino con successo.

  • Utilizzo di valori predefiniti intelligenti per l'evoluzione dello schema (GenerateSmartDefaults = true) - Quando le modifiche allo schema introducono vincoli più severi, come convertire colonne nullabili in non nullabili o aggiungere nuove colonne con vincoli predefiniti, le pipeline di distribuzione possono automaticamente popolare i valori di base. Questo approccio aiuta le implementazioni a prosperare senza richiedere la preparazione manuale dei dati e riduce l'attrito operativo durante l'evoluzione dello schema.

  • Escludendo i principi di sicurezza dal deployment (ExcludeObjectTypes = Logins, Users, Permissions) - Gli oggetti di sicurezza sono intenzionalmente esclusi dalle implementazioni in magazzino. Promuovere login, utenti o permessi tra ambienti può introdurre rischi di sicurezza o conflitti specifici dell'ambiente. Invece, gestisci il controllo degli accessi separatamente tramite processi di governance dell'ambiente o di gestione dell'identità.

  • Non far cadere oggetti che non sono nella sorgente (DropObjectsNotInSource = false) - Gli oggetti che esistono nel target ma non nella sorgente non vengono automaticamente abbandonati. I magazzini che mantengono la produzione perfettamente sincronizzata con il controllo del contenuto potrebbero trovare questo risultato restrittivo.

Limitations

  • Di default, il sistema blocca i drop di tabella. Il processo di distribuzione non rilascia automaticamente gli oggetti che esistono nel target ma non nella sorgente. Questo design riduce la perdita accidentale di dati e previene rimozioni impreviste in produzione.
  • Un deployment riuscito non significa sempre che ogni modifica richiesta sia stata applicata. Una distribuzione può segnalare successo anche quando salta un'azione di drop table richiesta, perché i drop di tabella sono bloccati di default. In tal caso, l'operazione di distribuzione si completa, ma il target può comunque allontanarsi dal controllo del contenuto finché non si risolve esplicitamente la modifica mancante.
  • Attualmente, il processo di distribuzione dà priorità alla sicurezza rispetto alla parità di sorgente rigorosa, non abbandonando oggetti che esistono solo nel target.
  • Le pipeline di distribuzione di Fabric non supportano l'elemento dell'endpoint di analisi SQL.
  • Dipendenze tra elementi, sequenziazione degli elementi e lacune di sincronizzazione tra l'endpoint di analisi SQL e il data warehouse influiscono sui flussi di lavoro delle pipeline di distribuzione di Fabric.
  • La selezione di elementi correlati nelle pipeline di distribuzione per Fabric Data Warehouse non è supportata.

Risoluzione dei problemi di integrazione con Git

Per limitazioni specifiche dell'integrazione Git, vedi Limitazioni nell'integrazione Git nell'articolo sull'integrazione Git.

Per la risoluzione dei problemi, soluzioni alternative e correzioni ai problemi comuni di integrazione Git nello sviluppo Fabric Data Warehouse, vedi Troubleshoot Git integration per lo sviluppo Fabric Data Warehouse.