Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
VZTAHUJE SE NA:
Azure Data Factory
Azure Synapse Analytics
Návod
Data Factory v Microsoft Fabric je nová generace Azure Data Factory s jednodušší architekturou, integrovanou AI a novými funkcemi. Pokud s integrací dat začínáte, začněte Fabric Data Factory. Stávající úlohy ADF lze upgradovat na Fabric pro přístup k novým funkcím v oblastech datové vědy, analýz v reálném čase a vytváření sestav.
Poznámka:
Synapse Analytics také podporuje CI/CD. Další informace najdete v dokumentaci k CI/CD služby Synapse Analytics.
Přehled
Kontinuální integrace spočívá v automatickém testování všech změn kódové báze. Jakmile je to možné, průběžné doručování následuje po testování prováděném během kontinuální integrace a přenáší změny do přípravného nebo produkčního systému.
V Azure Data Factory ci/CD znamená přesun kanálů služby Data Factory z jednoho prostředí, jako je vývoj, testování a produkce, do jiného. Služba Data Factory používá šablony Azure Resource Manager (šablony ARM) k ukládání konfigurace různých entit služby Data Factory, jako jsou kanály, datové sady a toky dat.
Existují dvě navrhované metody pro převedení datové továrny do jiného prostředí:
- Automatizované nasazení s využitím integrace služby Data Factory s Azure Pipelines
- Ruční nahrání šablony ARM pomocí integrace uživatelského prostředí služby Data Factory s Azure Resource Manager
Další informace najdete v části Kontinuální integrace a doručování v Azure Data Factory.
Tento článek se zaměřuje na vylepšení průběžného nasazování a funkci automatizovaného publikování pro CI/CD.
Vylepšení průběžného nasazování
Funkce automatizovaného publikování přebírá Ověření všeho a Export šablony ARM z uživatelského prostředí služby Data Factory a zpřístupňuje logiku prostřednictvím veřejně dostupného balíčku npm @microsoft/azure-data-factory-utilities. Z tohoto důvodu můžete tyto akce aktivovat programově, místo abyste museli přejít do uživatelského rozhraní služby Data Factory a vybrat tlačítko ručně. Díky této možnosti budou vaše kanály CI/CD lépe fungovat jako prostředí pro kontinuální integraci.
Poznámka:
Ujistěte se, že používáte uzel verze 20.x a jeho kompatibilní verzi, abyste se vyhnuli chybám, ke kterým může dojít kvůli nekompatibilitě balíčku se staršími verzemi.
Aktuální proces CI/CD
- Každý uživatel provede změny ve svých privátních větvích.
- Funkce Push to master není povolená. Uživatelé musí vytvořit pull request pro provádění změn.
- Uživatelé musí načíst uživatelské rozhraní služby Data Factory a vybrat Publikovat , aby mohli nasadit změny do služby Data Factory a vygenerovat šablony ARM ve větvi publikování.
- Vydávací kanál DevOps je nakonfigurovaný tak, aby vytvořil novou verzi a nasadil šablonu ARM pokaždé, když se do větve publish odešle nová změna.
Ruční krok
V aktuálním toku CI/CD je uživatelské prostředí zprostředkovatelem pro vytvoření šablony ARM. V důsledku toho musí uživatel přejít do uživatelského rozhraní služby Data Factory a ručně vybrat Publikovat, aby se spustilo generování šablon ARM a umístit je do publikační větve.
Nový tok CI/CD
- Každý uživatel provede změny ve svých privátních větvích.
- Funkce Push to master není povolená. Uživatelé musí vytvořit pull request pro provádění změn.
- Sestavení pipeline Azure DevOps se aktivuje při každém novém commitu do master. Ověří prostředky a vygeneruje šablonu ARM jako artefakt, pokud ověření proběhne úspěšně.
- Kanál verze DevOps je nakonfigurovaný tak, aby vytvořil novou verzi a nasadil šablonu ARM pokaždé, když je k dispozici nové sestavení.
Co se změnilo?
- Teď máme proces sestavení, který používá kanál buildu DevOps.
- Kanál buildu používá balíček NPM nástroje ADFUtilities, který ověří všechny prostředky a vygeneruje šablony ARM. Tyto šablony můžou být jednoduché a propojené.
- Kanál buildu zodpovídá za ověřování prostředků služby Data Factory a generování šablony ARM místo uživatelského rozhraní služby Data Factory (tlačítko Publikovat ).
- Definice verze DevOps teď bude místo artefaktu Git využívat tento nový kanál buildu.
Poznámka:
Můžete dál používat existující mechanismus, což je adf_publish větev, nebo můžete použít nový tok. Podporují se obě možnosti.
Přehled balíčku
V balíčku jsou aktuálně k dispozici dva příkazy:
- Export šablony ARM
- Ověřit
Export šablony ARM
Spusťte npm run build export <rootFolder> <factoryId> [outputFolder] pro export šablony ARM pomocí prostředků dané složky. Tento příkaz také spustí kontrolu ověření před vygenerováním šablony ARM. Tady je příklad použití skupiny prostředků s názvem testResourceGroup:
npm run build export C:\DataFactories\DevDataFactory /subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/testResourceGroup/providers/Microsoft.DataFactory/factories/DevDataFactory ArmTemplateOutput
-
RootFolderje povinné pole, které představuje umístění prostředků služby Data Factory. -
FactoryIdje povinné pole, které představuje ID prostředku služby Data Factory ve formátu/subscriptions/<subId>/resourceGroups/<rgName>/providers/Microsoft.DataFactory/factories/<dfName>. -
OutputFolderje volitelný parametr, který určuje relativní cestu k uložení vygenerované šablony ARM.
Možnost zastavit nebo spustit pouze aktualizované triggery je nyní obecně dostupná a je sloučena do výše uvedeného příkazu.
Poznámka:
Vygenerovaná šablona ARM není publikována do produkční verze továrny. Nasazení by se mělo provést použitím CI/CD pipeline.
Ověřit
Spusťte npm run build validate <rootFolder> <factoryId> pro ověření všech prostředků dané složky. Tady je příklad:
npm run build validate C:\DataFactories\DevDataFactory /subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/testResourceGroup/providers/Microsoft.DataFactory/factories/DevDataFactory
-
RootFolderje povinné pole, které představuje umístění prostředků služby Data Factory. -
FactoryIdje povinné pole, které představuje ID prostředku služby Data Factory ve formátu/subscriptions/<subId>/resourceGroups/<rgName>/providers/Microsoft.DataFactory/factories/<dfName>.
Vytvořte kanál Azure
Balíčky npm je možné využívat různými způsoby, ale jedna z hlavních výhod se využívá prostřednictvím kanálu Azure Pipeline. Při každém sloučení do větve pro spolupráci lze aktivovat potrubí, které nejprve ověří veškerý kód a poté exportuje šablonu ARM do artefaktu sestavení, který může být spotřebován potrubím pro vydání. Jak se liší aktuální proces CI/CD, je, že svůj uvolňovací kanál nasměrujete na tento artefakt namísto na existující adf_publish větev.
Chcete-li začít, postupujte následovně:
Otevřete projekt Azure DevOps a přejděte na Pipelines. Vyberte Nový kanál.
Vyberte úložiště, do kterého chcete uložit skript YAML kanálu. Doporučujeme ho uložit do složky sestavení ve stejném úložišti vašich prostředků služby Data Factory. Ujistěte se, že v úložišti je soubor package.json , který obsahuje název balíčku, jak je znázorněno v následujícím příkladu:
{ "scripts":{ "build":"node node_modules/@microsoft/azure-data-factory-utilities/lib/index" }, "dependencies":{ "@microsoft/azure-data-factory-utilities":"^1.0.0" } }Vyberte počáteční kanál. Pokud jste nahráli nebo sloučili soubor YAML, jak je znázorněno v následujícím příkladu, můžete na to také přímo odkazovat a upravit ho.
# Sample YAML file to validate and export an ARM template into a build artifact # Requires a package.json file located in the target repository trigger: - main #collaboration branch pool: vmImage: 'ubuntu-latest' steps: # Installs Node and the npm packages saved in your package.json file in the build - task: UseNode@1 inputs: version: '18.x' displayName: 'Install Node.js' - task: Npm@1 inputs: command: 'install' workingDir: '$(Build.Repository.LocalPath)/<folder-of-the-package.json-file>' #replace with the package.json folder verbose: true displayName: 'Install npm package' # Validates all of the Data Factory resources in the repository. You'll get the same validation errors as when "Validate All" is selected. # Enter the appropriate subscription and name for the source factory. Either of the "Validate" or "Validate and Generate ARM template" options are required to perform validation. Running both is unnecessary. - task: Npm@1 inputs: command: 'custom' workingDir: '$(Build.Repository.LocalPath)/<folder-of-the-package.json-file>' #replace with the package.json folder customCommand: 'run build validate $(Build.Repository.LocalPath)/<Root-folder-from-Git-configuration-settings-in-ADF> /subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/<Your-ResourceGroup-Name>/providers/Microsoft.DataFactory/factories/<Your-Factory-Name>' displayName: 'Validate' # Validate and then generate the ARM template into the destination folder, which is the same as selecting "Publish" from the UX. # The ARM template generated isn't published to the live version of the factory. Deployment should be done by using a CI/CD pipeline. - task: Npm@1 inputs: command: 'custom' workingDir: '$(Build.Repository.LocalPath)/<folder-of-the-package.json-file>' #replace with the package.json folder customCommand: 'run build export $(Build.Repository.LocalPath)/<Root-folder-from-Git-configuration-settings-in-ADF> /subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/<Your-ResourceGroup-Name>/providers/Microsoft.DataFactory/factories/<Your-Factory-Name> "ArmTemplate"' #For using preview that allows you to only stop/ start triggers that are modified, please comment out the above line and uncomment the below line. Make sure the package.json contains the build-preview command. #customCommand: 'run build-preview export $(Build.Repository.LocalPath) /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/GartnerMQ2021/providers/Microsoft.DataFactory/factories/Dev-GartnerMQ2021-DataFactory "ArmTemplate"' displayName: 'Validate and Generate ARM template' # Publish the artifact to be used as a source for a release pipeline. - task: PublishPipelineArtifact@1 inputs: targetPath: '$(Build.Repository.LocalPath)/<folder-of-the-package.json-file>/ArmTemplate' #replace with the package.json folder artifact: 'ArmTemplates' publishLocation: 'pipeline'Zadejte kód YAML. Jako výchozí bod doporučujeme použít soubor YAML.
Uložte a spusťte. Pokud jste použili YAML, aktivuje se při každé aktualizaci hlavní větve.
Poznámka:
Vygenerované artefakty již obsahují skripty před a po nasazení pro triggery, takže není nutné je přidat ručně. Avšak při nasazování bude stále potřeba odkazovat na dokumentaci k zastavení a spuštění triggerů pro provedení poskytnutého skriptu.
Související obsah
Přečtěte si další informace o kontinuální integraci a doručování ve službě Data Factory: Kontinuá integrace a doručování v Azure Data Factory.