Megosztás:


Folyamatos integráció és teljesítés az Azure Data Factory-ban

A következőkre vonatkozik: Azure Data Factory Azure Synapse Analytics

Tipp.

Próbálja ki a Data Factoryt a Microsoft Fabricben, amely egy teljes körű elemzési megoldás a nagyvállalatok számára. A Microsoft Fabric az adattovábbítástól az adatelemzésig, a valós idejű elemzésig, az üzleti intelligenciáig és a jelentéskészítésig mindent lefed. Ismerje meg, hogyan indíthat új próbaverziót ingyenesen!

A folyamatos integráció az a gyakorlat, hogy a kódbázison végrehajtott minden módosítást automatikusan és a lehető leghamarabb tesztel. A folyamatos teljesítés a folyamatos integráció során zajló tesztelést követi, és egy előkészítési vagy éles rendszerbe küldi le a módosításokat.

Az Azure Data Factoryben a folyamatos integráció és teljesítés (CI/CD) a Data Factory-folyamatoknak az egyik (fejlesztési, tesztelési, éles) környezetből egy másikba történő áthelyezését jelenti. Az Azure Data Factory Azure Resource Manager-sablonokkal tárolja a különböző ADF-entitások (folyamatok, adathalmazok, adatfolyamok stb.) konfigurációját. Az adat-előállítók egy másik környezetbe való előléptetéséhez két javasolt módszer létezik:

  • Automatizált üzembe helyezés a Data Factory és az Azure Pipelines integrációval
  • Manuálisan töltsön fel egy Resource Manager-sablont a Data Factory UX-integrációjával az Azure Resource Managerrel.

Feljegyzés

Javasoljuk, hogy az Azure Az PowerShell modult használja az Azure-ral való interakcióhoz. Az első lépésekhez tekintse meg Az Azure PowerShell telepítése témakört. Az Az PowerShell-modulra történő migrálás részleteiről lásd: Az Azure PowerShell migrálása az AzureRM modulból az Az modulba.

CI/CD életciklusa

Megjegyzés

További információ: Folyamatos üzembe helyezési fejlesztések.

Az alábbiakban az Azure Repos Gittel konfigurált Azure Data Factory CI/CD-életciklusának áttekintését tekintjük át. A Git-adattár konfigurálásáról további információt az Azure Data Factory forrásvezérlőjében talál.

  1. Létrejön és konfigurálásra kerül egy fejlesztési adatkészítő az Azure Repos Git használatával. Minden fejlesztőnek rendelkeznie kell engedéllyel Data Factory-erőforrások, például folyamatok és adathalmazok létrehozásához.

  2. A fejlesztő létrehoz egy funkcióágat a módosításhoz. Az aláírt véglegesítések nem támogatottak a Data Factoryben. A legutóbbi módosításokkal hibakeresést hajtanak végre a folyamatfuttatásaikban. A folyamatfuttatások hibakeresésével kapcsolatos további információkért tekintse meg az Iteratív fejlesztés és hibakeresés az Azure Data Factoryvel című témakört.

  3. Miután a fejlesztő elégedett a módosításaival, létrehoz egy pull request-et a fejlesztési ágból a fő vagy együttműködési ágba, hogy a módosításokat a kollegák felülvizsgálják.

  4. A pull kérés jóváhagyása és a változásoknak a főágba történő egyesítése után a módosítások közzé lesznek téve a fejlesztési rendszerbe.

  5. Ha a csapat készen áll a módosítások tesztelési vagy felhasználói elfogadási tesztüzemben való üzembe helyezésére, a csapat az Azure Pipelines kiadására lép, és üzembe helyezi a fejlesztői gyár kívánt verzióját a UAT-ben. Ez az üzembe helyezés egy Azure Pipelines-feladat részeként történik, és Resource Manager-sablonparaméterekkel alkalmazza a megfelelő konfigurációt.

  6. Miután ellenőrizte a módosításokat a tesztgyárban, helyezze üzembe az éles gyárban a pipeline-ok kiadásának következő feladatával.

Feljegyzés

Csak a fejlesztői gyár van hozzárendelve egy git-adattárhoz. A teszt- és éles üzemeket nem szabad git-adattárral társítani, és csak Azure DevOps-folyamaton vagy erőforrás-kezelési sablonon keresztül kell frissíteni.

Az alábbi kép az életciklus különböző lépéseit emeli ki.

Az Azure Pipelines folyamatos integrációjának diagramja

Ajánlott eljárások a CI/CD-hez

Ha Git-integrációt használ az adat-előállítóval, és rendelkezik egy CI/CD-folyamattal, amely a fejlesztésről a tesztelésre, majd az éles környezetbe helyezi át a módosításokat, az alábbi ajánlott eljárásokat javasoljuk:

  • Git-integráció. Csak a fejlesztői adatgyárat konfigurálja Git integrációval. A teszteléshez és az éles környezethez szükséges módosítások CI/CD-n keresztül lesznek üzembe helyezve, és nincs szükség Git-integrációra.

  • Üzembe helyezés előtti és utáni szkript. A Ci/CD Resource Manager üzembe helyezési lépése előtt el kell végeznie bizonyos feladatokat, például az eseményindítók leállítását és újraindítását, valamint a törlést. Javasoljuk, hogy az üzembe helyezési feladat előtt és után használjon PowerShell-szkripteket. További információ: Aktív eseményindítók frissítése. A data factory csapata adott meg egy szkriptet , amelyet a lap alján használhat.

    Feljegyzés

    Használja a PrePostDeploymentScript.Ver2.ps1 parancsot, ha csak azokat az eseményindítókat szeretné kikapcsolni/ bekapcsolni, amelyeket módosítottak a CI/CD alatt.

    Figyelmeztetés

    A szkript futtatásához mindenképpen használja a PowerShell Core-t az ADO-feladatban.

    Figyelmeztetés

    Ha nem a PowerShell és a Data Factory modul legújabb verzióit használja, deszerializálási hibákba ütközhet a parancsok futtatása közben.

  • Integrációs futtatókörnyezetek és megosztás. Az integrációs futtatókörnyezetek nem változnak gyakran, és a CI/CD minden szakaszában hasonlóak. A Data Factory tehát azt várja, hogy a CI/CD minden szakaszában az integrációs futtatókörnyezet ugyanazzal a névvel, típussal és altípussal rendelkezzen. Ha minden fázisban meg szeretné osztani az integrációs futtatókörnyezeteket, fontolja meg egy ternary factory használatát, amely a megosztott integrációs futtatókörnyezetet tartalmazza. Ezt a megosztott gyárat az összes környezetben használhatja csatolt integrációs futásidejű típus formájában.

    Feljegyzés

    Az integrációs runtime megosztása csak saját üzemeltetésű integrációs futtatókörnyezet esetén érhető el. Az Azure-SSIS integrációs futtatókörnyezetek nem támogatják a megosztást.

  • Felügyelt privát végpont üzembe helyezése. Ha egy privát végpont már létezik egy gyárban, és olyan ARM-sablont próbál üzembe helyezni, amely azonos nevű, de módosított tulajdonságokkal rendelkező privát végpontot tartalmaz, az üzembe helyezés sikertelen lesz. Vagyis sikeresen üzembe helyezhet egy privát végpontot, feltéve, hogy ugyanazokkal a tulajdonságokkal rendelkezik, mint az előállítóban meglévő végpont. Ha bármelyik tulajdonság eltér a környezetek között, felülbírálhatja a tulajdonság paraméterezésével és a megfelelő érték megadásával az üzembe helyezés során.

  • Key Vault. Ha olyan társított szolgáltatásokat használ, amelyek kapcsolati adatait az Azure Key Vault tárolja, ajánlott külön kulcstartókat tartani a különböző környezetekhez. Az egyes kulcstartókhoz külön engedélyszinteket is konfigurálhat. Előfordulhat például, hogy nem szeretné, hogy a csapattagok rendelkezzenek jogosultsággal az éles titkokhoz. Ha ezt a megközelítést követi, javasoljuk, hogy minden fázisban tartsa meg ugyanazokat a titkos neveket. Ha megtartja ugyanazokat a titkos neveket, nem kell minden kapcsolati sztringet paraméterezni a CI/CD környezetekben, mert csak a kulcstartó nevét kell megváltoztatni, amely egy külön paraméter.

  • Erőforrás elnevezése. Az ARM-sablon korlátai miatt az üzembe helyezés során problémák léphetnek fel, ha az erőforrások szóközöket tartalmaznak a névben. Az Azure Data Factory csapata "_" vagy "-" karakterek használatát javasolja az erőforrások szóközei helyett. Például a "Pipeline_1" előnyösebb név lenne a "Pipeline 1"-nél.

  • Az adattár módosítása. Az ADF automatikusan kezeli a GIT-adattár tartalmát. Ha manuálisan nem kapcsolódó fájlokat vagy mappákat módosít vagy vesz fel az ADF Git-adattár adatmappájában, az erőforrás-betöltési hibákat okozhat. A .bak fájlok jelenléte például ADF CI/CD-hibát okozhat, ezért el kell távolítani őket, hogy az ADF betöltse őket.

  • Expozíció-vezérlés és funkciójelzők. Ha csapatban dolgozik, vannak olyan helyzetek, amikor egyesítheti a módosításokat, de nem szeretné, hogy éles környezetekben, például PROD-ban és QA környezetben fussanak. A forgatókönyv kezeléséhez az ADF csapata javasolja a DevOps szolgáltatásjelzők használatának fogalmát. Az ADF-ben kombinálhatja a globális paramétereket és az if condition tevékenységet , hogy elrejtse a logikai csoportokat ezen környezeti jelzők alapján.

    A funkciójelző beállításáról az alábbi oktatóvideóból tájékozódhat:

Nem támogatott szolgáltatások

  • A Data Factory nem teszi lehetővé a véglegesítések kiválasztását vagy az erőforrások szelektív közzétételét. A közzétételek tartalmazzák az adat-előállítóban végrehajtott összes módosítást.

    • Az adat-előállító entitásai egymástól függenek. Az eseményindítók például a folyamatoktól, a folyamatok pedig az adathalmazoktól és más folyamatoktól függnek. Az erőforrások egy részhalmazának szelektív közzététele váratlan viselkedéshez és hibákhoz vezethet.
    • Ritkán, amikor szelektív közzétételre van szüksége, fontolja meg egy gyorsjavítás használatát. További információért lásd a Gyorsjavítás éles környezete.
  • Az Azure Data Factory csapata nem javasolja az Azure RBAC-vezérlők hozzárendelését az egyes entitásokhoz (folyamatokhoz, adathalmazokhoz stb.) egy adat-előállítóban. Ha például egy fejlesztő hozzáfér egy folyamathoz vagy adathalmazhoz, akkor hozzá kell férnie az adat-előállítóban lévő összes folyamathoz vagy adathalmazhoz. Ha úgy érzi, hogy számos Azure-szerepkört kell implementálnia egy adat-előállítóban, tekintse meg egy második adat-előállító üzembe helyezését.

  • Privát ágakból nem végezhető közzététel.

  • A Bitbucketen jelenleg nem lehet projekteket üzemeltetni.

  • Jelenleg nem exportálhat és importálhat riasztásokat és mátrixokat paraméterekként.

  • A közzétételi ág részleges ARM-sablonjai 2021. november 1-étől már nem támogatottak. Ha a projekt használta ezt a funkciót, váltson egy támogatott mechanizmusra az üzembe helyezéshez, vagy ARMTemplateForFactory.json vagy linkedTemplates fájlokat használva.

    A