ใช้ API เว็บของตัวตรวจสอบ Power Apps
API ตัวตรวจสอบเว็บ Power Apps มีกลไกในการเรียกใช้การตรวจสอบการวิเคราะห์แบบคงที่กับการปรับแต่ง และส่วนขยายให้กับแพลตฟอร์ม Microsoft Dataverse พร้อมใช้งานสำหรับผู้สร้างและผู้พัฒนา สามารถทำการตรวจสอบการวิเคราะห์สภาพสถิตย์จำนวนมากบนโซลูชันของพวกเขา โดยเทียบกับชุดกฎแนวทางปฏิบัติที่ดีที่สุด เพื่อระบุรูปแบบที่เป็นปัญหาเหล่านี้ได้อย่างรวดเร็ว บริการให้ตรรกะสำหรับ คุณสมบัติตัวตรวจสอบโซลูชัน ใน พอร์ทัล ผู้สร้าง Power Apps และรวมไว้เป็นส่วนหนึ่งของระบบอัตโนมัติสำหรับ ส่งโปรแกรมประยุกต์ไปยัง AppSource การโต้ตอบกับบริการโดยตรงในลักษณะนี้จะช่วยให้สามารถวิเคราะห์โซลูชันที่รวมเป็นส่วนหนึ่งภายในองค์กร (รุ่นที่รองรับทั้งหมด) และสภาพแวดล้อมออนไลน์
สำหรับข้อมูลเกี่ยวกับการใช้บริการตัวตรวจสอบจากโค้ด PowerShell โปรดดูที่ ทำงานกับโซลูชันที่ใช้ PowerShell
หมายเหตุ
- การใช้การตรวจสอบ Power Apps ไม่รับประกันว่าการนำเข้าโซลูชันจะประสบความสำเร็จ การตรวจสอบการวิเคราะห์แบบคงที่ที่ดำเนินการกับโซลูชันไม่ทราบสถานะที่กำหนดค่าของสภาพแวดล้อมปลายทาง และความสำเร็จในการนำเข้าอาจขึ้นอยู่กับโซลูชันหรือการกำหนดค่าอื่น ๆ ในสภาพแวดล้อม
วิธีอื่น
ก่อนอ่านรายละเอียดวิธีการโต้ตอบในระดับต่ำสุดกับ API เว็บ ให้ลองใช้โมดูล PowerShell ของเรา Microsoft.PowerApps.Checker.PowerShell แทน ซึ่งเป็นเครื่องมือที่รองรับอย่างเต็มที่ที่มีอยู่ใน แกลลอรี PowerShell ข้อจำกัดปัจจุบันคือ ต้องใช้ Windows PowerShell หากไม่สามารถปฏิบัติตามข้อกำหนดนี้ได้ การโต้ตอบกับ API โดยตรงเป็นวิธีที่ดีที่สุด
เริ่มต้นใช้งาน
สิ่งสำคัญคือ ต้องทราบว่าการวิเคราะห์โซลูชันอาจส่งผลให้กระบวนการทำงานยาวนาน โดยทั่วไปอาจใช้เวลาหกสิบ (60) วินาทีขึ้นไปถึงห้า (5) นาที ขึ้นอยู่กับปัจจัยหลายประการ เช่น จำนวน ขนาด และความซับซ้อนของการปรับแต่ง และโค้ด โฟลว์การวิเคราะห์เป็นหลายขั้นตอน และเริ่มต้นแบบอะซิงโครนัส โดยเริ่มต้นงานการวิเคราะห์โดยใช้สถานะ API ที่ใช้ในการค้นหา เพื่อให้งานเสร็จสมบูรณ์ โฟลว์ตัวอย่างสำหรับการวิเคราะห์มีดังนี้:
- รับโทเค็น OAuth
- เรียกใช้อัปโหลด (สำหรับแต่ละไฟล์พร้อมกัน)
- เรียกใช้การวิเคราะห์ (เริ่มงานวิเคราะห์)
- เรียกใช้สถานะจนกว่าจะเสร็จสิ้น (วนซ้ำพร้อมกับหยุดชั่วคราวระหว่างการเรียกใช้ จนกว่าจะสิ้นสุดการส่งสัญญาณหรือเป็นไปตามเกณฑ์)
- ดาวน์โหลดผลลัพธ์จาก SAS URI ที่ให้ไว้
รูปแบบต่างๆ ได้แก่ :
- รวมการค้นหาของชุดกฎ หรือกฎเป็นขั้นตอนล่วงหน้า อย่างไรก็ตาม อาจจะเร็วกว่าเล็กน้อยในการส่งผ่านรหัสชุดกฎที่กำหนดค่าหรือแบบเข้ารหัส ขอแนะนำให้คุณใช้ชุดกฎที่ตรงกับความต้องการของคุณ
- คุณสามารถเลือกที่จะไม่ใช้กลไกการอัปโหลด (ดูข้อจำกัดการอัปโหลด)
คุณจะต้องตรวจสอบข้อกำหนดต่อไปนี้:
ดูที่บทความต่อไปนี้สำหรับเอกสารเกี่ยวกับ API แต่ละรายการ:
เรียกใช้ชุดรายการของข้อกำหนด
เรียกใช้รายการของข้อกำหนด
อัปโหลดแฟ้ม
เรียกใช้การวิเคราะห์
ตรวจสอบสถานะการวิเคราะห์
กำหนดภูมิศาสตร์
เมื่อคุณทำงานกับบริการตัวตรวจสอบ Power Apps ไฟล์จะถูกเก็บไว้ชั่วคราวใน Azure พร้อมกับรายงานที่สร้างขึ้น โดยใช้ API เฉพาะทางภูมิศาสตร์ คุณสามารถควบคุมตำแหน่งที่เก็บข้อมูลได้ คำขอไปยังจุดสิ้นสุดภูมิศาสตร์จะถูกส่งไปยังอินสแตนซ์ระดับภูมิภาคตามประสิทธิภาพที่ดีที่สุด (เวลาในการตอบสนองไปยังผู้ร้องขอ) เมื่อคำขอเข้าสู่อินสแตนซ์บริการระดับภูมิภาค การประมวลผลและข้อมูลที่ยังคงอยู่ทั้งหมดจะยังคงอยู่ในภูมิภาคนั้น ๆ การตอบสนองของ API บางรายการจะส่งคืน URL อินสแตนซ์ระดับภูมิภาคสำหรับคำขอในภายหลังเมื่องานวิเคราะห์ถูกส่งไปยังภูมิภาคหนึ่ง แต่ละพื้นที่ภูมิศาสตร์อาจมีเวอร์ชันที่แตกต่างกันของบริการที่ใช้งานในเวลาที่กำหนด การใช้บริการเวอร์ชันต่างๆ เนื่องมาจากกระบวนการปรับใช้งานอย่างปลอดภัยแบบหลายขั้นตอน ซึ่งช่วยให้มั่นใจได้ถึงความเข้ากันได้ของเวอร์ชันเต็ม ดังนั้นควรใช้ภูมิศาสตร์เดียวกันสำหรับการเรียก API แต่ละครั้งในวงจรการวิเคราะห์ และอาจลดเวลาในการดำเนินการโดยรวม เนื่องจากข้อมูลอาจไม่ต้องเดินทางไปไกลเกิน รายการต่อไปนี้คือภูมิศาสตร์ที่พร้อมใช้งาน:
ศูนย์ข้อมูล Azure | ชื่อ | ภูมิศาสตร์ | URI พื้นฐาน |
---|---|---|---|
สาธารณะ | รุ่นพรีวิว | สหรัฐ | unitedstatesfirstrelease.api.advisor.powerapps.com |
สาธารณะ | การใช้งานจริง | สหรัฐ | unitedstates.api.advisor.powerapps.com |
สาธารณะ | การใช้งานจริง | ยุโรป | europe.api.advisor.powerapps.com |
สาธารณะ | การใช้งานจริง | เอเชีย | asia.api.advisor.powerapps.com |
สาธารณะ | การใช้งานจริง | ออสเตรเลีย | australia.api.advisor.powerapps.com |
สาธารณะ | การใช้งานจริง | ญี่ปุ่น | japan.api.advisor.powerapps.com |
สาธารณะ | การใช้งานจริง | อินเดีย | india.api.advisor.powerapps.com |
สาธารณะ | การใช้งานจริง | แคนาดา | canada.api.advisor.powerapps.com |
สาธารณะ | การใช้งานจริง | อเมริกาใต้ | southamerica.api.advisor.powerapps.com |
สาธารณะ | การใช้งานจริง | สหราชอาณาจักร | unitedkingdom.api.advisor.powerapps.com |
สาธารณะ | การใช้งานจริง | ฝรั่งเศส | france.api.advisor.powerapps.com |
สาธารณะ | การผลิต | เยอรมนี | germany.api.advisor.powerapps.com |
สาธารณะ | การผลิต | สหรัฐอาหรับเอมิเรตส์ | unitedarabemirates.api.advisor.powerapps.com |
สาธารณะ | การผลิต | สวิตเซอร์แลนด์ | switzerland.api.advisor.powerapps.com |
สาธารณะ | การผลิต | แอฟริกาใต้ | southafrica.api.advisor.powerapps.com |
สาธารณะ | การผลิต | เกาหลีใต้ | korea.api.advisor.powerapps.com |
สาธารณะ | การผลิต | นอร์เวย์ | norway.api.advisor.powerapps.com |
สาธารณะ | การผลิต | สิงคโปร์ | singapore.api.advisor.powerapps.com |
สาธารณะ | การผลิต | สวีเดน | sweden.api.advisor.powerapps.com |
สาธารณะ | การผลิต | รัฐบาลสหรัฐฯ | gov.api.advisor.powerapps.us |
สาธารณะ | การใช้งานจริง | US Government L4 | high.api.advisor.powerapps.us |
สาธารณะ | การใช้งานจริง | US Government L5 (DOD) | mil.api.advisor.appsplatform.us |
สาธารณะ | การใช้งานจริง | จีนดําเนินการโดย 21Vianet | china.api.advisor.powerapps.cn |
หมายเหตุ
คุณอาจเลือกที่จะใช้ภูมิศาสตร์ตัวอย่างเพื่อรวมคุณสมบัติล่าสุดและการเปลี่ยนแปลงก่อนหน้านี้ อย่างไรก็ตาม โปรดทราบว่าภาพตัวอย่างใช้ภูมิภาค Azure ของสหรัฐอเมริกาเท่านั้น
การกำหนดรุ่น
แม้ว่าจะไม่จำเป็นก็ตาม ขอแนะนำให้รวมพารามิเตอร์สตริงข้อความการสอบถามรุ่น API กับรุ่น API ที่ต้องการ API เวอร์ชันปัจจุบันคือ 2.0 สำหรับชุดกฎและกฎ และ 1.0 สำหรับคำขออื่นๆ ทั้งหมด ตัวอย่างเช่น ชุดกฎต่อไปนี้เป็นการร้องขอทาง HTTP ที่ระบุให้ใช้เวอร์ชัน API 2.0:
https://unitedstatesfirstrelease.api.advisor.powerapps.com/api/ruleset?api-version=2.0
หากไม่ได้ระบุไว้ API เวอร์ชันล่าสุดจะถูกใช้เป็นค่าเริ่มต้น แนะนำให้ใช้หมายเลขเวอร์ชันที่ชัดเจน เนื่องจากเวอร์ชันจะเพิ่มขึ้น หากมีการแนะนำให้ใช้การเปลี่ยนแปลงแบบแยกย่อย หากระบุหมายเลขรุ่นในคำขอ การรองรับความเข้ากันได้แบบย้อนหลังในภายหลัง (มากกว่าตัวเลข) จะได้รับการดูแล
ชุดกฎและกฎ
ตัวตรวจสอบ Power Apps ต้องการรายการของกฎเมื่อเรียกใช้ กฎเหล่านี้สามารถจัดทำในรูปแบบของกฎส่วนบุคคลหรือการจัดกลุ่มของกฎที่เรียกว่า ชุดกฎ ชุดกฎ เป็นวิธีที่สะดวกในการระบุกลุ่มของกฎแทนที่จะต้องระบุแต่ละกฎ ตัวอย่างเช่น คุณสมบัติตัวตรวจสอบโซลูชันใช้ชื่อชุดกฎ ตัวตรวจสอบโซลูชัน เนื่องจากมีการเพิ่มหรือลบกฎใหม่ การบริการรวมการเปลี่ยนแปลงเหล่านี้โดยอัตโนมัติ โดยไม่ต้องมีการเปลี่ยนแปลงใด ๆ หากคุณต้องการให้รายการของกฎไม่เปลี่ยนแปลงโดยอัตโนมัติตามที่อธิบายไว้ข้างต้น คุณสามารถระบุกฎได้ทีละรายการ
ชุดกฎสามารถมีกฎอย่างน้อยหนึ่งกฎโดยไม่จำกัด กฎไม่สามารถอยู่ในชุดกฎหรือชุดกฎหลายชุด คุณสามารถรับรายชื่อของชุดกฎทั้งหมดได้โดยการเรียก API ดังต่อไปนี้:[Geographical URL]/api/ruleset
ตำแหน่งข้อมูลนี้ต้องการการรับรองความถูกต้อง
ชุดกฎตัวตรวจสอบโซลูชัน
ชุดกฎของตัวตรวจสอบโซลูชันประกอบด้วยชุดของกฎที่มีผลกระทบซึ่งมีโอกาสจำกัดสำหรับผลบวกเท็จ หากใช้การวิเคราะห์กับโซลูชันที่มีอยู่ แนะนำให้คุณเริ่มต้นด้วยชุดกฎนี้ นี่คือชุดกฎที่ใช้โดย คุณลักษณะตัวตรวจสอบโซลูชัน
ชุดกฎการรับรองของ AppSource
เมื่อเผยแพร่โปรแกรมประยุกต์บน AppSource คุณจะต้องรับรองโปรแกรมประยุกต์ของคุณ โปรแกรมประยุกต์เผยแพร่บน AppSource จะต้องมีมาตรฐานคุณภาพสูง ชุดกฎการรับรอง AppSource ประกอบด้วยกฎที่เป็นส่วนหนึ่งของชุดกฎการตรวจสอบโซลูชัน รวมถึงกฎอื่นๆ เพื่อให้แน่ใจว่ามีการเผยแพร่เฉพาะแอปพลิเคชันคุณภาพสูงในร้านค้า บางส่วนของกฎการรับรอง AppSource มีแนวโน้มที่จะเกิดผลบวกเท็จ และอาจต้องการความสนใจเพิ่มเติมเพื่อแก้ไข
ค้นหารหัสผู้เช่าของคุณ
จำเป็นต้องใช้รหัสของผู้เช่าของคุณเพื่อโต้ตอบกับ API ที่ต้องใช้โทเค็น อ้างถึง บทความนี้ สำหรับรายละเอียดเกี่ยวกับวิธีรับรหัสผู้เช่า คุณยังสามารถใช้คำสั่ง PowerShell เพื่อดึงข้อมูลรหัสผู้เช่า ตัวอย่างต่อไปนี้ใช้ cmdlet ใน โมดูล AzureAD
# Login to Microsoft Entra ID as your user
Connect-AzureAD
# Establish your tenant ID
$tenantId = (Get-AzureADTenantDetail).ObjectId
รหัสผู้เช่าคือ ค่าของคุณสมบัติ ObjectId
ที่ส่งคืนจาก Get-AzureADTenantDetail
คุณอาจเห็นหลังจากลงชื่อเข้าใช้โดยใช้ Connect-AzureAD cmdlet ในเอาต์พุต cmdlet ในกรณีนี้ จะตั้งชื่อเป็น TenantId
การอนุญาตและการรับรองความถูกต้อง
การค้นหากฎและชุดกฎไม่จำเป็นต้องมีโทเค็น OAuth แต่ API อื่น ๆ ทั้งหมดต้องใช้โทเค็น API สนับสนุนการค้นพบการอนุญาตโดยการเรียก API ใดๆ ที่ต้องใช้โทเค็น การตอบสนองเป็นรหัสสถานะ HTTP ที่ไม่ได้รับอนุญาต 401 ซึ่งมีส่วนหัว WWW-Authenticate URI การให้สิทธิ์และรหัสทรัพยากร คุณควรระบุรหัสผู้เช่าในส่วนหัว x-ms-tenant-id
อ้างถึง การรับรองความถูกต้องและการอนุญาตของตัวตรวจสอบ Power Apps สำหรับข้อมูลเพิ่มเติม รายการต่อไปนี้เป็นตัวอย่างของส่วนหัวการตอบกลับที่ส่งคืนจากคำขอ API:
WWW-Authenticate →Bearer authorization_uri="https://login.microsoftonline.com/0082fff7-33c5-44c9-920c-c2009943fd1e", resource_id="https://api.advisor.powerapps.com/"
เมื่อคุณมีข้อมูลนี้ คุณสามารถเลือกที่จะใช้ Microsoft Authentication Library (MSAL) หรือกลไกอื่น ๆ เพื่อรับโทเค็น รายการต่อไปนี้เป็นตัวอย่างของวิธีการนี้สามารถทำได้โดยใช้ C# และไลบรารี MSAL .NET:
// Substitute your own environment URL here.
string resource = "https://<env-name>.api.<region>.dynamics.com";
// Example Microsoft Entra app registration.
// For your custom apps, you will need to register them with Microsoft Entra ID yourself.
// See https://docs.microsoft.com/powerapps/developer/data-platform/walkthrough-register-app-azure-active-directory
var clientId = "51f81489-12ee-4a9e-aaae-a2591f45987d";
var redirectUri = "http://localhost"; // Loopback required for the interactive login.
var authBuilder = PublicClientApplicationBuilder.Create(clientId)
.WithAuthority(AadAuthorityAudience.AzureAdMultipleOrgs)
.WithRedirectUri(redirectUri)
.Build();
var scope = resource + "/.default";
string[] scopes = { scope };
AuthenticationResult tokenResult =
await authBuilder.AcquireTokenInteractive(scopes).ExecuteAsync();
สำหรับรหัสการทำงานทั้งหมด โปรดดู Web API ตัวอย่างเริ่มต้นใช้งานด่วน
เมื่อคุณได้รับโทเค็นแล้ว ขอแนะนำให้คุณจัดทำโทเค็นแบบเดียวกันกับการโทรที่ตามมาในรอบการร้องขอ อย่างไรก็ตาม การร้องขอเพิ่มเติมอาจรับประกันว่าจะได้รับโทเค็นใหม่ด้วยเหตุผลด้านความปลอดภัย
ความปลอดภัยการขนส่ง
เพื่อการเข้ารหัสที่ดีที่สุดในระดับ บริการตรวจสอบรองรับการสื่อสารโดยใช้ Transport Layer Security (TLS) 1.2 ขึ้นไป สำหรับคำแนะนำเกี่ยวกับแนวปฏิบัติที่ดีที่สุดของ .NET เกี่ยวกับ TLS โปรดอ้างถึง แนวทางปฏิบัติที่ดีที่สุดของ Transport Layer Security (TLS) ด้วย .NET Framework
รูปแบบรายงาน
ผลลัพธ์ของการวิเคราะห์โซลูชันคือไฟล์ zip ที่มีหนึ่งรายงานขึ้นไปในรูปแบบ JSON มาตรฐาน รูปแบบรายงานขึ้นอยู่กับผลการวิเคราะห์แบบคงที่ที่อ้างถึงรูปแบบการแลกเปลี่ยนผลการวิเคราะห์แบบคงที่ (SARIF) มีเครื่องมือสำหรับดูและโต้ตอบกับเอกสาร SARIF อ้างอิงถึง เว็บไซต์ นี้สำหรับรายละเอียด บริการใช้จากเวอร์ชันสองของ มาตรฐาน OASIS
ดูเพิ่มเติม
เรียกใช้ชุดรายการของข้อกำหนด
เรียกใช้รายการของข้อกำหนด
อัปโหลดแฟ้ม
เรียกใช้การวิเคราะห์
ตรวจสอบสถานะการวิเคราะห์