Jegyzet
Az oldalhoz való hozzáférés engedélyezést igényel. Próbálhatod be jelentkezni vagy könyvtárat váltani.
Az oldalhoz való hozzáférés engedélyezést igényel. Megpróbálhatod a könyvtár váltását.
Az Azure DevOps Services olyan fejlesztési együttműködési eszközöket biztosít, mint a nagy teljesítményű folyamatok, az ingyenes privát Git-adattárak, a konfigurálható Kanban-táblák, valamint a kiterjedt automatizált és folyamatos tesztelési képességek. Az Azure Pipelines egy Azure DevOps-képesség, amely lehetővé teszi a CI/CD kezelését a kód olyan nagy teljesítményű folyamatokkal való üzembe helyezéséhez, amelyek bármilyen nyelvvel, platformmal és felhővel működnek. Az Azure Data Explorer – Pipeline Tools az Azure Pipelines-feladat, amellyel kiadási folyamatokat hozhat létre, és üzembe helyezheti az adatbázis módosításait az Azure Data Explorer-adatbázisokban. Ingyenesen elérhető a Visual Studio Marketplace-en. A bővítmény a következő alapvető feladatokat tartalmazza:
Azure Data Explorer-parancs – Rendszergazdai parancsok végrehajtása az Azure Data Explorer-fürtön
Azure Data Explorer-lekérdezés – Lekérdezések futtatása egy Azure Data Explorer-fürtön, és az eredmények elemzése
Azure Data Explorer lekérdezési szerver kapu – Ügynök nélküli művelet a kiadások engedélyezésére a lekérdezés eredményétől függően
Ez a dokumentum egy egyszerű példát mutat be az Azure Data Explorer – Pipeline Tools feladat használatával sémamódosítások üzembe helyezésére az adatbázisban. A teljes CI/CD-folyamatokért tekintse meg az Azure DevOps dokumentációját.
Előfeltételek
- Egy Azure-előfizetés. Hozzon létre egy ingyenes Azure-fiókot.
- Egy Azure Data Explorer-fürt és adatbázis. Hozzon létre egy klasztert és egy adatbázist.
- Az Azure Data Explorer-fürt beállítása:
- Hozzon létre egy Microsoft Entra-alkalmazást a Microsoft Entra alkalmazás előkészítésével.
- Az Azure Data Explorer-adatbázis engedélyeinek kezelésével hozzáférést biztosíthat a Microsoft Entra-alkalmazáshoz az Azure Data Explorer-adatbázisban.
- Az Azure DevOps beállítása:
- Bővítmény telepítése:
Ha Ön az Azure DevOps-példány tulajdonosa, telepítse a bővítményt a Marketplace-ről, ellenkező esetben lépjen kapcsolatba az Azure DevOps-példány tulajdonosával , és kérje meg őket a telepítésre.
A tartalom előkészítése a kiadásra
A következő módszerekkel hajthat végre rendszergazdai parancsokat egy feladaton belüli fürtön:
Keresési minta használatával több parancsfájlt is lekérhet egy helyi ügynökmappából (forrásokat hozhat létre vagy kiadási összetevőket hozhat létre).
Parancsokat írjon sorban.
Adjon meg egy fájl elérési útját, amely közvetlenül a Git-forrásvezérlőből szeretné lekérni a parancsfájlokat (ajánlott).
Hozza létre a következő mintamappákat (Functions, Policies, Tables) a Git-adattárban. Másolja a fájlokat a minta adattárból a megfelelő mappákba, és véglegesítse a módosításokat. A mintafájlok a következő munkafolyamat végrehajtásához vannak megadva.
Jótanács
Saját munkafolyamat létrehozásakor javasoljuk a kód idempotenssé tételét. Használja például a
.create-merge tablehelyett a.create table-t, és használja a.create-or-alterfüggvényt a.createfüggvény helyett.
Kiadási folyamat létrehozása
Jelentkezzen be az Azure DevOps-szervezetbe.
A bal oldali menüben válassza a Pipelines>Releases (Folyamatok kiadásai) lehetőséget, majd válassza az Új folyamat lehetőséget.
Megnyílik az Új kiadási folyamat ablak. A Folyamatok lapon, a Sablon kiválasztása panelen válassza az Üres feladat lehetőséget.
Válassza a Szakasz gombot. A Szakasz panelen adja hozzá a Szakasznevet, majd a Folyamat mentéséhez válassza a Mentés lehetőséget.
Válassza az Összetevő hozzáadása gombot. Az Összetevő hozzáadása panelen válassza ki azt az adattárat, ahol a kód létezik, töltse ki a releváns információkat, és válassza a Hozzáadás lehetőséget. A folyamat mentéséhez válassza a Mentés lehetőséget.
A Változók lapon válassza a + Hozzáadás lehetőséget a feladatban használt végponti URL-cím változójának létrehozásához. Adja meg a végpont nevét és értékét , majd kattintson a Mentés gombra a folyamat mentéséhez.
A végpont URL-jának megkereséséhez nyissa meg az Azure Data Explorer-fürt áttekintési oldalát az Azure portálon, és másolja a fürt URI-ját. Hozza létre az URI változót a következő formátumban
https://<ClusterURI>?DatabaseName=<DBName>. Például: https://kustodocs.westus.kusto.windows.net?DatabaseName=SampleDB
Feladat létrehozása a mappák üzembe helyezéséhez
A Folyamat lapon válassza ki az 1 feladatot és a 0 feladatot a tevékenységek hozzáadásához.
Ismételje meg az alábbi lépéseket a parancsfeladatok létrehozásához a táblák, függvények és szabályzatok mappáiból származó fájlok üzembe helyezéséhez:
A Feladatok lapon válassza ki +az Ügynökfeladatot , és keresse meg az Azure Data Explorert.
Az Azure Data Explorer parancs futtatása alatt válassza a Hozzáadás lehetőséget.
Válassza a Kusto parancsot , és frissítse a feladatot a következő információkkal:
Megjelenítendő név: A feladat neve. Például
Deploy <FOLDER>hol<FOLDER>található a létrehozott üzembe helyezési feladat mappájának neve.Fájl elérési útja: Minden mappához adja meg az elérési utat, ahol
*/<FOLDER>/*.csl<FOLDER>a feladathoz tartozó mappa található.Végpont URL-címe: Adja meg az
EndPoint URLelőző lépésben létrehozott változót.Szolgáltatásvégpont használata: Válassza ezt a lehetőséget.
Szolgáltatásvégpont: Válasszon ki egy meglévő szolgáltatásvégpontot, vagy hozzon létre egy újat (+ Új), amely a következő információkat adja meg az Azure Data Explorer szolgáltatáskapcsolati ablakában:
Setting Ajánlott érték Hitelesítési módszer Állítsa be a Federated Identity Credentials (FIC) ( ajánlott), vagy válassza ki a Service Principal Authentication (SPA) lehetőséget. Kapcsolat neve Adjon meg egy nevet a szolgáltatásvégpont azonosításához Cluster URL Az érték az Azure Data Explorer-fürt áttekintési szakaszában található az Azure Portalon Szolgáltatásnév azonosítója Adja meg a Microsoft Entra alkalmazásazonosítóját (előfeltételként létrehozva) Szolgáltatásnév alkalmazáskulcsa Adja meg a Microsoft Entra alkalmazáskulcsot (előfeltételként létrehozva) Microsoft Entra bérlőazonosító Adja meg a Microsoft Entra-bérlőt (például microsoft.com vagy contoso.com)
Jelölje be az összes folyamat számára a csatlakozás használatának engedélyezése jelölőnégyzetet, majd kattintson az OK gombra.
Válassza a Mentés lehetőséget, majd a Feladatok lapon ellenőrizze, hogy három tevékenység van-e: Táblák üzembe helyezése, Függvények üzembe helyezése és Szabályzatok telepítése.
Lekérdezési feladat létrehozása
Szükség esetén hozzon létre egy feladatot, amely lekérdezést futtat a klaszteren. A lekérdezések buildelési vagy kiadási folyamatban való futtatásával ellenőrizheti az adathalmazokat, és a lekérdezés eredményei alapján sikeres vagy sikertelen lépéseket hajthat végre. A tevékenységek sikerességi feltételei egy sorszám küszöbértékén vagy egyetlen értéken alapulhatnak attól függően, hogy a lekérdezés mit ad vissza.
A Feladatok lapon válassza ki +az Ügynökfeladatot , és keresse meg az Azure Data Explorert.
Az Azure Data Explorer-lekérdezés futtatása csoportban válassza a Hozzáadás lehetőséget.
Válassza a Kusto Query lehetőséget, és frissítse a feladatot a következő információkkal:
- Megjelenítendő név: A feladat neve. Például lekérdezésfürt.
- Típus: Válassza a Beágyazott elemet.
- Lekérdezés: Adja meg a futtatni kívánt lekérdezést.
-
Végpont URL-címe: Adja meg a
EndPoint URLkorábban létrehozott változót. - Szolgáltatásvégpont használata: Válassza ezt a lehetőséget.
- Szolgáltatásvégpont: Válasszon ki egy szolgáltatásvégpontot.
A Tevékenység eredményei csoportban válassza ki a feladat sikerességi feltételeit a lekérdezés eredményei alapján az alábbiak szerint:
Ha a lekérdezés sorokat ad vissza, válassza a Sorszám lehetőséget, és adja meg a szükséges feltételeket.
Ha a lekérdezés egy értéket ad vissza, válassza az Egyetlen érték lehetőséget , és adja meg a várt eredményt.
Lekérdezéskiszolgáló kapufeladatának létrehozása
Szükség esetén hozzon létre egy feladatot, amely lekérdezést futtat egy fürtön, és feltételessé teszi a kiadási folyamatot a lekérdezés eredményeinek sorainak száma alapján. A Kiszolgálói lekérdezési kapu feladat ügynök nélküli feladat, ami azt jelenti, hogy a lekérdezés közvetlenül az Azure DevOps Serveren fut.
A Feladatok lapon válassza az +Ügynök nélküli feladat lehetőséget, és keresse meg az Azure Data Explorert.
Az Azure Data Explorer lekérdezéskiszolgálói kapu futtatása területen válassza a Hozzáadás lehetőséget.
Válassza a Kusto Query Server Gate , majd a Kiszolgálói kapu teszt lehetőséget.
Konfigurálja a feladatot, és adja meg a következő információkat:
- Megjelenítendő név: A kapu neve.
- Szolgáltatásvégpont: Válasszon ki egy szolgáltatásvégpontot.
- Adatbázis neve: Adja meg az adatbázis nevét.
- Típus: Válassza ki a beágyazott lekérdezést.
- Lekérdezés: Adja meg a futtatni kívánt lekérdezést.
- Maximális küszöbérték: Adja meg a lekérdezés sikerességi feltételeinek maximális sorszámát.
Megjegyzés:
A kiadás futtatásakor az alábbihoz hasonló eredményeknek kell megjelennie.
A kiadás futtatása
A kiadás elindításához válassza a + Kiadás>létrehozása lehetőséget .
A Naplók lapon ellenőrizze, hogy az üzembe helyezés állapota sikeres-e.
Most befejeződött a kiadási csővezeték létrehozása az előállítást megelőző környezetbe történő üzembe helyezéshez.
Kulcs nélküli hitelesítés támogatása az Azure Data Explorer DevOps-feladataihoz
A bővítmény támogatja az Azure Data Explorer-fürtök kulcs nélküli hitelesítését. A kulcs nélküli hitelesítés lehetővé teszi, hogy az Azure Data Explorer füzérekhez kulcs nélkül hitelesítse önmagát. Biztonságosabb és könnyebben kezelhető.
Összevont identitás hitelesítő adatainak (FIC) használata Azure Data Explorer-szolgáltatáskapcsolatban
A DevOps-példányban nyissa meg a Project Settings>Service-kapcsolatok>> azAzure Data Explorerben.
Válassza a Kombinált identitáshitelesítő adatok lehetőséget, és adja meg a fürt URL-címét, a szolgáltatásnév azonosítóját, a bérlőazonosítót, a szolgáltatáskapcsolat nevét, majd válassza a Mentés lehetőséget.
Az Azure Portalon nyissa meg a Microsoft Entra alkalmazást a megadott szolgáltatásnévhez.
A Tanúsítványok > titkos kódok területen válassza az Összevont hitelesítő adatok lehetőséget.
Válassza a Hitelesítő adatok hozzáadása lehetőséget, majd összevont hitelesítő adatok esetén válassza az Egyéb kiállító lehetőséget, és töltse ki a beállításokat az alábbi információk használatával:
Kiállító:
<https://vstoken.dev.azure.com/{System.CollectionId}>ahol{System.CollectionId}az Azure DevOps-szervezet gyűjteményazonosítója. A gyűjtemény azonosítóját a következő módokon találja:- Az Azure DevOps klasszikus kiadási folyamatában válassza az Inicializálási feladat lehetőséget. A gyűjtemény azonosítója megjelenik a naplókban.
Tárgyazonosító:
<sc://{DevOps_Org_name}/{Project_Name}/{Service_Connection_Name}>ahol{DevOps_Org_name}az Azure DevOps-szervezet neve,{Project_Name}a projekt neve, és{Service_Connection_Name}a korábban létrehozott szolgáltatáskapcsolat neve.Megjegyzés:
Ha van hely a szolgáltatáskapcsolat nevére, használhatja a mező szóközével. Például:
sc://MyOrg/MyProject/My Service Connection.Név: Adja meg a hitelesítő adatok nevét.
Válassza a Hozzáadás lehetőséget.
Összevont identitás hitelesítő adatainak vagy felügyelt identitásának használata Azure Resource Manager-szolgáltatáskapcsolatban
A DevOps-példányban nyissa meg a Project Settings>Service-kapcsolatok>>az Azure Resource Managerben.
A hitelesítési módszer alatt válassza a Számítási feladatok identitásának összevonása (automatikus) lehetőséget a folytatáshoz. A számítási feladatok identitás-összevonásának (manuális) beállításával megadhatja a számítási feladatok identitásának összevonási adatait vagy a Felügyelt identitás lehetőséget is. További információ a felügyelt identitás azure resource management használatával történő beállításáról az Azure Resource Manager (ARM) szolgáltatáskapcsolataiban.
Töltse ki a szükséges adatokat, válassza az Ellenőrzés, majd a Mentés lehetőséget.
Yaml-folyamatvonal konfigurációja
A feladatokat az Azure DevOps webes felhasználói felületével vagy YAML-kóddal konfigurálhatja a folyamatsémán belül.
Rendszergazdai parancsminta
steps:
- task: Azure-Kusto.PublishToADX.PublishToADX.PublishToADX@4
displayName: '<Task Name>'
inputs:
targetType: 'inline'
script: '<inline Script>'
waitForOperation: true
kustoUrls: '$(CONNECTIONSTRING):443?DatabaseName=""'
authType: 'armserviceconn'
connectedServiceARM: '<ARM Service Endpoint Name>'
serialDelay: 1000
`continueOnError: true`
condition: ne(variables['ProductVersion'], '') ## Custom condition Sample
Lekérdezési minta
steps:
- task: Azure-Kusto.PublishToADX.ADXQuery.ADXQuery@4
displayName: '<Task Display Name>'
inputs:
targetType: 'inline'
script: |
let badVer=
RunnersLogs | where Timestamp > ago(30m)
| where EventText startswith "$$runnerresult" and Source has "ShowDiagnostics"
| extend State = extract(@"Status='(.*)', Duration.*",1, EventText)
| where State == "Unhealthy"
| extend Reason = extract(@'"NotHealthyReason":"(.*)","IsAttentionRequired.*',1, EventText)
| extend Cluster = extract(@'Kusto.(Engine|DM|CM|ArmResourceProvider).(.*).ShowDiagnostics',2, Source)
| where Reason != "Merge success rate past 60min is < 90%"
| where Reason != "Ingestion success rate past 5min is < 90%"
| where Reason != "Ingestion success rate past 5min is < 90%, Merge success rate past 60min is < 90%"
| where isnotempty(Cluster)
| summarize max(Timestamp) by Cluster,Reason
| order by max_Timestamp desc
| where Reason startswith "Differe"
| summarize by Cluster
;
DimClusters | where Cluster in (badVer)
| summarize by Cluster , CmConnectionString , ServiceConnectionString ,DeploymentRing
| extend ServiceConnectionString = strcat("#connect ", ServiceConnectionString)
| where DeploymentRing == "$(DeploymentRing)"
kustoUrls: 'https://<ClusterName>.kusto.windows.net?DatabaseName=<DatabaseName>'
authType: 'kustoserviceconn'
connectedServiceName: '<connection service name>'
minThreshold: '0'
maxThreshold: '10'
continueOnError: true