แชร์ผ่าน


ส่วนเฟรมเวิร์กการทดสอบ Power Query SDK 7 - คู่มือไปป์ไลน์

การอ้างอิงหลายส่วนนี้ครอบคลุมถึงการตั้งค่าและการเรียกใช้งานชุดการทดสอบมาตรฐานสําหรับนักพัฒนาตัวเชื่อมต่อ Power Query การอ้างอิงมีไว้เพื่อทําตามลําดับเพื่อให้แน่ใจว่า สภาพแวดล้อมของคุณถูกตั้งค่าสําหรับการทดสอบตัวเชื่อมต่อแบบกําหนดเองของคุณ

คู่มือนี้แสดงขั้นตอนที่จําเป็นสําหรับการตั้งค่าไปป์ไลน์สําหรับเฟรมเวิร์กการทดสอบ Power Query SDK

ในส่วนนี้ คุณ:

  • ภาพรวมของการตั้งค่าไปป์ไลน์
  • ตั้งค่าตัวแทนไปป์ไลน์
  • เรียนรู้วิธีการกําหนดค่าตัวเชื่อมต่อ รวมถึงการตั้งค่าโปรแกรมควบคุมและข้อมูลประจําตัว
  • เรียกใช้การทดสอบเพื่อตรวจสอบตัวเชื่อมต่อส่วนขยายของคุณ
  • สร้างรายงานการเรียกใช้การทดสอบ

คําแนะนําการตั้งค่าไปป์ไลน์สําหรับตัวเชื่อมต่อ Power Query

คู่มือนี้แสดงขั้นตอนที่จําเป็นสําหรับการตั้งค่าไปป์ไลน์สําหรับเฟรมเวิร์กการทดสอบ Power Query SDK ในระดับสูง จําเป็นต้องตั้งค่าตัวแทน การกําหนดค่าตัวเชื่อมต่อที่กําลังทดสอบ รวมถึงการตั้งค่าโปรแกรมควบคุม การกําหนดค่าข้อมูลประจําตัวสําหรับ PQTest ด้วยกลไกการรับรองความถูกต้องที่สนับสนุน เรียกใช้การทดสอบ และการรายงานผลลัพธ์ เอกสารนี้ใช้ไปป์ไลน์ Azure และทรัพยากรสําหรับตัวอย่างทั้งหมด อย่างไรก็ตาม แนวคิดเหล่านี้สามารถนําไปใช้กับสถาปัตยกรรมไปป์ไลน์อื่นๆ ได้

ไปป์ไลน์ใช้โครงสร้างต่อไปนี้:

  1. เรียกใช้การทดสอบจาก repo
  2. เรียกใช้ และ/หรือตั้งค่าข้อมูลประจําตัวเพื่อเข้าถึงแหล่งข้อมูลโดยใช้กลไกการรับรองความถูกต้องที่ได้รับการสนับสนุน
  3. เรียกใช้การทดสอบที่เรียกใช้ในขั้นตอนก่อนหน้า
  4. อัปเดตผลลัพธ์และรายการบันทึก

เอกสารประกอบ Azure Pipelines อธิบายถึง วิธีการตั้งค่าไปป์ไลน์พื้นฐาน โปรดดูส่วนต่อไปนี้สําหรับคําแนะนําเกี่ยวกับการตั้งค่าคุณลักษณะเหล่านี้

  • ข้อกําหนดเบื้องต้นของตัวแทน
    • เครือข่าย
    • การอนุญาต
    • PQTest
    • โปรแกรม ควบคุม
  • ข้อมูลประจำตัว
  • สคริปต์
    • การเข้าถึงข้อมูลประจําตัวอัตโนมัติ
    • กําลังเรียกใช้การทดสอบ
    • การทําให้สคริปต์เป็นอัตโนมัติ

ข้อกําหนดเบื้องต้นของตัวแทน

ตัวแทนไปป์ไลน์ต้องมี Power Query SDK และได้รับการกําหนดค่าเพื่อให้สามารถเรียกใช้ PQTest ได้ การกําหนดค่านี้รวมถึงการเข้าถึงแหล่งข้อมูลที่เกี่ยวข้องและตัวจัดการข้อมูลประจําตัวถ้ามี

ข้อกําหนดเหล่านี้สามารถเติมเต็มได้โดยใช้ ตัวแทนที่โฮสต์ด้วยตนเอง Azure Pipelines สามารถให้ ตัวแทนที่โฮสต์ของ Microsoft แต่ไม่น่าจะมี Power Query SDK และอาจมีอุปสรรคด้านเครือข่ายที่ต้องพิจารณา การใช้เครื่องเสมือนหรือคอมพิวเตอร์จริงเป็นตัวแทนไปป์ไลน์สามารถทําให้แน่ใจว่า PQTest สามารถเชื่อมต่อกับแหล่งข้อมูลของคุณได้

เครือข่าย

เมื่อต้องการเรียกใช้การทดสอบตัวเชื่อมต่อ ตัวแทนจําเป็นต้องสามารถเข้าถึงแหล่งข้อมูลที่เกี่ยวข้อง แหล่งข้อมูลบนระบบคลาวด์ (ตัวอย่างเช่น Snowflake และ Google Big Query) น่าจะสามารถเข้าถึงได้ง่าย แต่แหล่งข้อมูลภายในองค์กร (ตัวอย่างเช่น SAP BW และ SQL Server) จําเป็นต้องมีการกําหนดค่าเพิ่มเติม การกําหนดค่าเหล่านี้อาจทําให้คุณมั่นใจว่าเอเจนต์เชื่อมต่อกับเครือข่ายเสมือนเดียวกันไฟร์วอลล์ของเอเจนต์จะอนุญาตพอร์ตที่ถูกต้องและอื่น ๆ

การอนุญาต

หากความตั้งใจของคุณคือการดึงข้อมูลประจําตัวจากชุดเก็บคีย์โดยอัตโนมัติ ตัวแทนต้องมีวิธีการดําเนินการดังกล่าว วิธีที่แนะนําคือ การตั้งค่าข้อมูลประจําตัวที่มีการจัดการสําหรับเครื่อง เสมือนและกําหนดสิทธิ์ที่จําเป็นให้กับ Key Vault

PQTest

ไฟล์ประมวลผล PQTest ต้องติดตั้งลงบนเอเจนต์ก่อน วิธีที่แนะนําคือการดาวน์โหลด แพคเกจ Power Query SDK NuGet และคลายการบีบอัดไปยังตัวแทน

สามารถพบ PQTest ปฏิบัติการได้ในโฟลเดอร์แพคเกจ NuGet \tools ใช้อาร์กิวเมนต์ --help เพื่อแสดงข้อมูลความช่วยเหลือสําหรับ PQTest.exe และทําความคุ้นเคยกับคําสั่ง

โปรแกรม ควบคุม

สําหรับตัวเชื่อมต่อ ODBC จําเป็นต้องเพิ่มโปรแกรมควบคุมใด ๆ ไปยังโฟลเดอร์ ODBC Driver ในเส้นทางต่อไปนี้:

<>power_query_sdk_extension_path\Microsoft.PowerQuery.SdkTools.2xxx.x\tools\ODBC Driver<>

ตัวอย่างเช่น โปรแกรมควบคุม Contoso เส้นทางอาจเป็นดังนี้:

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

ข้อมูลประจำตัว

ข้อมูลประจําตัวจะถูกส่งผ่านไปยัง PQTest โดยใช้ส่วนขยาย Visual Studio Code หรือ คําสั่ง set-credential ผ่านบรรทัดคําสั่ง เมื่อตั้งค่าแล้ว ข้อมูลประจําตัวเหล่านี้สามารถนํามาใช้ใหม่ได้สําหรับการเรียกใช้การทดสอบหลายรายการ

ข้อมูลประจําตัวเหล่านี้อาจจําเป็นต้องได้รับการตั้งค่าเพียงครั้งเดียว (ชื่อผู้ใช้/รหัสผ่าน) หรือได้รับการอัปเดตแล้ว (โทเค็นรีเฟรช OAuth2) ทั้งนี้ขึ้นอยู่กับชนิดของการรับรองความถูกต้อง กรณีเดิมสามารถตั้งค่าได้อย่างง่ายดายโดยใช้อินเทอร์เฟซ Visual Studio Code กรณีหลังสามารถทําให้สําเร็จได้โดยการสร้างสคริปต์

สคริปต์

PQTest สามารถใช้ได้ทั้งหมดจากบรรทัดคําสั่ง ซึ่งอนุญาตให้ใช้การทํางานอัตโนมัติผ่านสคริปต์

การเข้าถึงข้อมูลประจําตัวอัตโนมัติ

หากต้องการทําให้การเข้าถึงข้อมูลประจําตัวสําหรับ PQTest เป็นแบบอัตโนมัติ เราขอแนะนําให้ใช้ Key Vault ด้วยวิธีนี้สามารถรีเฟรชข้อมูลประจําตัวได้อย่างง่ายดายและสามารถเขียนสคริปต์ได้

  1. ขั้นตอนแรกคือการ ให้สิทธิ์เข้าถึง ข้อมูลประจําตัวที่ได้รับการจัดการของตัวแทน
  2. จากนั้นคุณสามารถเรียกใช้ Rest API เพื่อ เข้าถึงข้อมูลได้

ตอนนี้คุณมีวิธีที่จะรับความลับแล้ว คุณสามารถเพิ่มข้อมูลเหล่านั้นลงในแคชข้อมูลประจําตัวของ PQTest ได้

  1. ใช้คําสั่ง เทมเพลต ข้อมูลประจําตัวเพื่อสร้างเทมเพลต JSON เทมเพลตนี้ประกอบด้วยตัวแทนข้อความ ($$USERNAME$$, $$REFRESH_TOKEN$$และอื่น ๆ) ซึ่งสามารถเปลี่ยนแปลงแบบไดนามิกผ่านฟังก์ชันแทนที่สตริง

    $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)
    
  2. ส่งผ่านเทมเพลต JSON ที่เปลี่ยนแปลงไปยัง คําสั่ง set-credential โดยใช้ไปป์ (|) หรืออินพุต (<) อย่างใดอย่างหนึ่ง

    $jsonCredential | & $pqTestExe set-credential -e $extensionFile -q $queryFile
    

ตอนนี้ข้อมูลประจําตัวถูกตั้งค่า การทดสอบสามารถเรียกใช้ได้

หมายเหตุ: สามารถใช้คําสั่ง list-credential เพื่อยืนยันว่าข้อมูลประจําตัวได้รับการตั้งค่าอย่างถูกต้อง

กําลังเรียกใช้การทดสอบ

สามารถเรียกใช้การทดสอบผ่านคําสั่งโดยใช้ คําสั่งเปรียบเทียบ ได้ ตัวอย่างเช่น เมื่อต้องการเรียกใช้การทดสอบเดียว:

.\PQTest.exe compare -e <connector file> -q <query file> -p

เมื่อต้องการเรียกใช้การทดสอบหลายรายการ:

.\PQTest.exe compare -e <connector file> -q <query folder> -sq <base query file> -p

การทําให้สคริปต์เป็นอัตโนมัติ

สามารถทําให้สคริปต์เป็นอัตโนมัติโดยการเรียกใช้จากงานไปป์ไลน์ สําหรับไปป์ไลน์ Azure งาน PowerShell สามารถใช้:

# 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'

บทสรุป

ส่วนนี้แสดงวิธีการตั้งค่าและกําหนดค่าไปป์ไลน์เพื่อใช้เฟรมเวิร์กการทดสอบ Power Query SDK โดยใช้ชุดการทดสอบที่ให้มาและการทดสอบของคุณเองเพื่อตรวจสอบความถูกต้องของตัวเชื่อมต่อส่วนขยายของคุณ

โดยรวมแล้ว ตอนนี้คุณควรสามารถเปลี่ยนแปลงส่วนขยายของคุณได้อย่างน่าเชื่อถือและตรวจสอบในระหว่างการพัฒนาและการเผยแพร่