เคล็ดลับและปัญหาที่ทราบสำหรับปลั๊กอิน low-code ของ Microsoft Dataverse (พรีวิว)
[หัวข้อนี้คือเอกสารรุ่นก่อนวางจำหน่าย และอาจจะมีการเปลี่ยนแปลงในอนาคต]
บทความนี้อธิบายเคล็ดลับและปัญหาที่ทราบเมื่อทำงานกับปลั๊กอิน low-code ใน Microsoft Dataverse
ข้อสำคัญ
- นี่คือคุณลักษณะพรีวิว
- คุณลักษณะตัวอย่างไม่ได้มีไว้สำหรับการนำไปใช้งานจริงและอาจมีการจำกัดฟังก์ชันการทำงาน คุณลักษณะเหล่านี้สามารถใช้ได้ก่อนการเปิดตัวอย่างเป็นทางการเพื่อให้ลูกค้าสามารถเข้าใช้งานได้ก่อนเวลาและให้ข้อคิดเห็น
จัดการปัญหารันไทม์ทั่วไป
หากคุณประสบปัญหาปลั๊กอินรันไทม์ ให้แก้ไขปลั๊กอิน low-code อีกครั้ง จากนั้น ปัญหา IntelliSense ในนิพจน์สูตรของคุณจะแสดงในตัวแก้ไขปลั๊กอิน low-code ปฏิบัติตามคำแนะนำเพื่อแก้ไขปัญหาที่แสดงอยู่ด้วย จากนั้นให้บันทึกปลั๊กอินอีกครั้ง
ใช้ความระมัดระวังเมื่อใช้การแก้ไขหลังการดำเนินการ
การดำเนินการปลั๊กอิน low-code ของคุณอาจพบข้อผิดพลาดนี้เมื่อใช้ Patch
ในขั้นตอนหลังการดำเนินการ: Execution failed for PowerPlexPlugin: System.ServiceModel.FaultException 1[Microsoft.Xrm.Sdk.OrganizationServiceFault] This low-code plugin's execution was cancelled because the plugin logic caused an infinite loop. Correct the plugin logic and try again.
การใช้ Patch
ในสถานการณ์หลังการดำเนินการจะต้องดำเนินการด้วยความระมัดระวังเพื่อหลีกเลี่ยงการวนซ้ำไม่สิ้นสุด การดำเนินการ Patch
จะเริ่มต้นทรานแซคชันใหม่ ตัวอย่างเช่น หากทริกเกอร์การอัปเดตสำหรับ MyTable
เรียกใช้ Patch(MyTable, ThisRecord, ...)
การดำเนินการนี้อาจส่งผลให้เกิดรอบการอัปเดตแบบเรียกซ้ำ
ต่อไปนี้เป็นตัวอย่างการดำเนินการที่สามารถหลีกเลี่ยงปัญหานี้ได้:
Patch(CurrentTable, SomeOtherRecord, ... ) // For example, updating a manager's contact from a contact record.
Patch(OtherTable, SomeOtherRecord, ... ) // Operations on a completely different table.
จัดการการหมดเวลาสองนาที
สำหรับการดำเนินการที่ดำเนินไปเป็นเวลาสองนาทีหรือนานกว่านั้น คุณอาจได้รับข้อผิดพลาดนี้:
Execution failed for PowerPlexPlugin: System.ServiceModel.FaultException1[Microsoft.Xrm.Sdk.OrganizationServiceFault]: Operation not allowed as plugin execution exceeded maximum allowed time (Fault Detail is equal to Exception details: limit your callbacks .. Create, Update)
เมื่อทำงานกับปลั๊กอิน low-code ของ Dataverse สิ่งสำคัญคือต้องจัดการการหมดเวลาสองนาทีอย่างมีประสิทธิภาพ:
- จำกัดจำนวนการดำเนินการ
Patch
และCollect
ภายในปลั๊กอินของคุณ โดยเฉพาะอย่างยิ่งหากคุณมีปลั๊กอินอื่นที่ลงทะเบียนกับตารางนั้นแล้ว ซึ่งอาจส่งผลต่อประสิทธิภาพของปลั๊กอินของคุณ - ตรวจสอบประสิทธิภาพ จับตาดูประสิทธิภาพของปลั๊กอินของคุณและลองใช้ความสามารถในการติดตามและการบันทึกภายใน Dataverse เพื่อติดตามเวลาดำเนินการและความล้มเหลว เมื่อปฏิบัติตามหลักเกณฑ์เหล่านี้ คุณจะมั่นใจได้ว่าปลั๊กอิน low-code ทำงานได้อย่างราบรื่นภายในสภาพแวดล้อม Dataverse โดยไม่หยุดชะงักเนื่องจากการหมดเวลาสองนาที ข้อมูลเพิ่มเติม: การติดตามและการบันทึก
ได้รับการตอบสนองที่ล้มเหลวจาก APIM
หากคุณได้รับข้อความแสดงข้อผิดพลาดนี้ ซึ่งสามารถส่งคืนได้จากการจัดการ API (APIM) เพียงแก้ไขปลั๊กอิน แล้วบันทึกใหม่ การบันทึกจะเริ่มต้นการรับรองความถูกต้อง APIM และปลั๊กอินของคุณจะเริ่มดำเนินการได้สำเร็จ
Execution failed for PowerPlexPlugin: Failed response received from APIM; StatusCode: NotFound; ResponseContent: { "statusCode": 404, "message": "Resource not found" } Method: POST; RequestUri: https://canada-001.azure-apim.net/invoke; StatusCode: NotFound; ResponseContent: { "statusCode": 404, "message": "Resource not found" }; HeadersString: Headers - 'Access-Control-Allow-Methods': 'System.String[]'; 'Access-Control-Allow-Origin': 'System.String[]'; 'Access-Control-Max-Age': 'System.String[]'; 'Access-Control-Expose-Headers': 'System.String[]'; 'Date': 'System.String[]'; Access to APIM expires..edit and save the plugin