Power Query SDK-teststruktur del 7 – Pipelinevejledning
Denne reference med flere dele dækker konfiguration og kørsel af en standardpakke med test til udviklere af Power Query-connectors. Referencen er beregnet til at blive udført sekventielt for at sikre, at dit miljø er konfigureret til at teste din brugerdefinerede connector.
Denne vejledning indeholder de trin, der er nødvendige for at konfigurere en pipeline til Power Query SDK-teststrukturen.
I dette afsnit kan du:
- Oversigt over konfiguration af pipelinen
- Konfigurer en pipelineagent
- Få mere at vide om, hvordan du konfigurerer connectoren, herunder konfiguration af driver og legitimationsoplysninger
- Kør testene for at bekræfte din udvidelsesconnector
- Generér rapporten over testkørslen
Vejledning til konfiguration af pipeline til Power Query-connectors
Denne vejledning indeholder de trin, der er nødvendige for at konfigurere en pipeline til Power Query SDK-teststrukturen. På et højt niveau kræver det, at du konfigurerer en agent, konfigurerer den connector, der testes, herunder eventuelle drivere, der er konfigureret, konfigurerer legitimationsoplysningerne for PQTest med den understøttede godkendelsesmekanisme, kører testene og rapporterer resultaterne. Dette dokument bruger Azure Pipelines og ressourcer til alle eksemplerne. Disse begreber kan dog anvendes på andre pipelinearkitekturer.
Pipelinen bruger følgende struktur:
- Hent testene fra et lager.
- Hent og/eller angiv legitimationsoplysningerne for at få adgang til datakilden ved hjælp af den understøttede godkendelsesmekanisme.
- Kør de test, der er hentet i det foregående trin.
- Opdater resultaterne og loggene.
Dokumentationen til Azure Pipelines beskriver , hvordan du konfigurerer en grundlæggende pipeline. Se følgende afsnit for at få råd om, hvordan du konfigurerer disse funktioner.
- Agent-forudsætninger
- Netværk
- Tilladelser
- PQTest
- Drivere
- Merit
- Scripts
- Automatisk adgang til legitimationsoplysninger
- Kørsel af test
- Automatiserer scripts
Agent-forudsætninger
Pipelineagenten skal inkludere Power Query SDK og være konfigureret til at kunne køre PQTest. Denne konfiguration omfatter adgang til den relevante datakilde og administration af legitimationsoplysninger, hvis det er relevant.
Disse krav kan alle opfyldes ved hjælp af en selvværtsagent. Azure Pipelines kan levere Microsoft-hostede agenter, men det er usandsynligt, at disse agenter indeholder Power Query SDK, og der kan være netværksbarrierer at overveje. Brug af en virtuel maskine eller fysisk computer som pipelineagent kan sikre, at PQTest kan oprette forbindelse til din datakilde.
Netværk
Hvis du vil køre connectortests, skal agenten kunne få adgang til den relevante datakilde. Clouddatakilder (f.eks. Snowflake og Google Big Query) er sandsynligvis let tilgængelige, men datakilder i det lokale miljø (f.eks. SAP BW og SQL Server) har brug for flere konfigurationer. Disse konfigurationer kan kræve, at du sikrer, at agenten har forbindelse til det samme virtuelle netværk, at agentens firewall tillader de korrekte porte osv.
Tilladelser
Hvis din hensigt er automatisk at hente legitimationsoplysninger fra en key vault, skal agenten bruge en metode til at gøre det. Den anbefalede metode er at angive en administreret identitet for en virtuel maskine og tildele de nødvendige tilladelser til key vault.
PQTest
Den eksekverbare PQTest-fil skal være installeret på agenten. Den anbefalede metode er at downloade NuGet-pakken til Power Query SDK og udpakke den til agenten.
Den eksekverbare PQTest-fil findes i mappen NuGet packages \tools. Brug argumentet – hjælp til at få vist hjælp-oplysninger til PQTest.exe og sætte dig ind i kommandoerne.
Drivere
For ODBC-connectors skal alle drivere føjes til en ODBC-drivermappe på følgende sti:
<>power_query_sdk_extension_path\Microsoft.PowerQuery.SdkTools.2.xxx.x\tools\ODBC-drivere<>
For Contoso-driveren kan stien f.eks. være som følger :
C:\Users\ContosoUser.vscode\extensions\powerquery.vscode-powerquery-sdk-0.2.3-win32-x64.nuget\Microsoft.PowerQuery.SdkTools.2.126.3\tools\ODBC Driver\Contoso
Merit
Legitimationsoplysninger overføres til PQTest ved hjælp af udvidelsen Visual Studio Code eller kommandoen set-credential via kommandolinjen. Når disse legitimationsoplysninger er angivet, kan de genbruges til flere testkørsler.
Afhængigt af godkendelsestypen skal disse legitimationsoplysninger muligvis kun angives én gang (brugernavn/adgangskode) eller holdes opdateret (OAuth2-opdateringstoken). Det tidligere tilfælde kan nemt konfigureres ved hjælp af Visual Studio Code-grænsefladen. Sidstnævnte tilfælde kan opnås ved at oprette et script.
Scripts
PQTest kan udelukkende bruges fra kommandolinjen, hvilket giver mulighed for automatisering via scripts.
Automatisk adgang til legitimationsoplysninger
Hvis du vil automatisere adgang til legitimationsoplysninger for PQTest, anbefaler vi, at du bruger en key vault. På denne måde kan legitimationsoplysninger nemt opdateres, og de kan scriptes.
- Det første trin er at give adgang til agentens administrerede identitet.
- Derefter kan du aktivere en Rest API for at få adgang til data.
Nu, hvor du har en måde at få hemmeligheder på, kan du føje dem til PQTests cache over legitimationsoplysninger.
Brug kommandoen credential-template til at oprette en JSON-skabelon. Denne skabelon indeholder pladsholdertekst (
$$USERNAME$$
,$$REFRESH_TOKEN$$
osv.), som kan ændres dynamisk via funktioner til erstatning af strenge.$keyVaultOutput = invoke-expression 'Get-AzKeyVaultSecret -VaultName $keyVaultName -Name $secretName -AsPlainText' $jsonTemplate = invoke-expression "$pqTestExe credential-template -e $extensionFile -q $queryFile -ak $authenticationType" $jsonCredential = $jsonTemplate.Replace('$$USERNAME$$', $credentialName) $jsonCredential = $jsonCredential.Replace('$$PASSWORD$$', $keyVaultOutput)
Overfør den ændrede JSON-skabelon til kommandoen set-credential ved hjælp af enten pipe (|) eller input (<).
$jsonCredential | & $pqTestExe set-credential -e $extensionFile -q $queryFile
Nu, hvor legitimationsoplysningerne er angivet, kan der køres test.
Bemærk! Kommandoen listelegitimationsoplysninger kan bruges til at bekræfte, at legitimationsoplysningerne er angivet korrekt.
Kørsel af test
Test kan køres gennem kommandoen ved hjælp af kommandoen sammenlign . Hvis du f.eks. vil køre en enkelt test:
.\PQTest.exe compare -e <connector file> -q <query file> -p
Sådan kører du flere test:
.\PQTest.exe compare -e <connector file> -q <query folder> -sq <base query file> -p
Automatiserer scripts
Scripts kan automatiseres ved at køre dem fra en pipelineopgave. PowerShell-opgaven kan bruges til Azure Pipelines:
# Example Azure pipeline for running connector tests using PQTest.
# Azure Pipelines reference: https://aka.ms/yaml
trigger: none
pool:
name: SelfHosted-AgentPool
steps:
- task: PowerShell@2
inputs:
filePath: '<path_to_run_test_script>/RunConnectorTest.ps1'
displayName: 'Run Connector Tests'
Konklusion
I dette afsnit kan du se, hvordan du konfigurerer pipelinen til at bruge Power Query SDK-teststrukturen ved hjælp af den angivne testpakke og også dine egne test til at validere din udvidelsesconnector.
Samlet set bør du nu kunne foretage pålidelige ændringer af din udvidelse og validere den under udviklingen og udgivelsen.