หมายเหตุ
การเข้าถึงหน้านี้ต้องได้รับการอนุญาต คุณสามารถลอง ลงชื่อเข้าใช้หรือเปลี่ยนไดเรกทอรีได้
การเข้าถึงหน้านี้ต้องได้รับการอนุญาต คุณสามารถลองเปลี่ยนไดเรกทอรีได้
ใช้บทความนี้เพื่อแก้ไขปัญหาข้อผิดพลาดที่พบบ่อยที่สุดใน Power Automate โฟลว์ระบบคลาวด์ แต่ละรายการจะอธิบายข้อผิดพลาดว่าทําไมจึงเกิดขึ้นและวิธีแก้ไข
Note
การอ้างอิงนี้นําไปใช้กับระดับสิทธิ์การใช้งานโฟลว์ระบบคลาวด์ Power Automate ทั้งหมด เรียนรู้เกี่ยวกับข้อผิดพลาดเฉพาะสําหรับโฟลว์เดสก์ท็อปใน แก้ไขปัญหาข้อผิดพลาดของโฟลว์เดสก์ท็อป
ข้อผิดพลาดในขณะออกแบบ
ข้อผิดพลาดเหล่านี้เกิดขึ้นเมื่อคุณบันทึก ตรวจสอบ ความถูกต้อง หรือเผยแพร่โฟลว์
InvalidTemplate
ความหมาย: ข้อกําหนดของโฟลว์ประกอบด้วยข้อผิดพลาดทางไวยากรณ์ในการกําหนดค่านิพจน์หรือการดําเนินการ
สาเหตุทั่วไป:
- วงเล็บที่ไม่ตรงกันหรือเครื่องหมายอัญประกาศในนิพจน์
- การอ้างอิงผลลัพธ์การดําเนินการที่ไม่มีอยู่ (การพิมพ์ผิดในชื่อการดําเนินการ)
- การใช้ฟังก์ชันที่มีจํานวนอาร์กิวเมนต์ที่ไม่ถูกต้อง (ตัวอย่างเช่น
createArray()ไม่มีอาร์กิวเมนต์) - พิมพ์ไม่ตรงกันในนิพจน์ค่าคงที่ (ตัวอย่างเช่น
int('abc')หรือdiv(100, 0)) กลไกจัดการจะตรวจสอบความถูกต้องในขณะบันทึก - คัดลอกการวางนิพจน์จากเอกสารที่มีอักขระ Unicode ที่มองไม่เห็น
วิธีการแก้ไข:
- เปิดการดําเนินการที่เน้นเป็นสีแดงในตัวออกแบบ
- ตรวจสอบนิพจน์ในแถบสูตร ค้นหาอักขระที่ไม่ตรงกัน
()หรือ' - ตรวจสอบชื่อการดําเนินการในนิพจน์ที่ตรงกัน (ตรงตามตัวพิมพ์ใหญ่-เล็ก):
outputs('Get_item')ไม่ใช่outputs('Get Item') - ถ้านิพจน์มีลักษณะถูกต้อง ให้ลบแล้วพิมพ์ใหม่ด้วยตนเองเพื่อเอาอักขระที่ซ่อนอยู่ออก
เคล็ดลับ
ชื่อการดําเนินการในนิพจน์ใช้เครื่องหมายขีดล่างแทนช่องว่าง ถ้าการดําเนินการของคุณมีชื่อว่า "รับรายการ" การอ้างอิงนิพจน์คือoutputs('Get_item')
ข้อมูลที่เกี่ยวข้อง: ExpressionEvaluationFailed, FlowCheckerError
FlowCheckerError
นั่นหมายความว่า: ตัวตรวจสอบโฟลว์พบปัญหาการตรวจสอบความถูกต้องอย่างน้อยหนึ่งรายการที่ป้องกันการบันทึก
สาเหตุทั่วไป:
- เขตข้อมูลที่จําเป็นว่างเปล่าในการดําเนินการอย่างน้อยหนึ่งรายการ
- ไม่ได้เลือกการเชื่อมต่อสําหรับการดําเนินการตัวเชื่อมต่อ
- นิพจน์อ้างอิงค่าเนื้อหาแบบไดนามิกจากสาขาคู่ขนาน (ไม่รับประกันว่าจะมีอยู่)
- การป้อนข้อมูลทริกเกอร์ไม่สมบูรณ์
วิธีการแก้ไข:
- เลือกแบนเนอร์ข้อผิดพลาดที่ด้านบนของตัวออกแบบเพื่อแสดงรายการปัญหาทั้งหมด
- เลือกแต่ละข้อผิดพลาดเพื่อนําทางไปยังการดําเนินการที่ได้รับผลกระทบ
- กรอกข้อมูลในเขตข้อมูลที่จําเป็น แก้ไขนิพจน์ที่ใช้งานไม่ได้ และเลือกการเชื่อมต่อ
- บันทึกอีกครั้ง ตัวตรวจสอบทํางานโดยอัตโนมัติเมื่อบันทึก
ข้อมูลที่เกี่ยวข้อง: InvalidTemplate, MissingRequiredProperty
DuplicateActionName
นั่นหมายความว่า: การดําเนินการสองอย่างขึ้นไปในโฟลว์มีชื่อภายในเดียวกัน
สาเหตุทั่วไป:
- คัดลอกวางการดําเนินการโดยไม่เปลี่ยนชื่อ
- การนําเข้าข้อกําหนดโฟลว์ที่แก้ไขด้วยตนเองโดยใช้คีย์ที่ซ้ํากัน
- การเปลี่ยนชื่อการดําเนินการเป็นชื่อที่ถูกใช้โดยการกระทําอื่นในขอบเขตเดียวกันอยู่แล้ว
วิธีการแก้ไข:
- ค้นหาโฟลว์สําหรับการดําเนินการที่มีชื่อเหมือนกัน (ตรวจสอบภายใน
Apply to EachและScopeคอนเทนเนอร์ด้วย) - เปลี่ยนชื่อรายการซ้ําหนึ่งรายการ เลือกเมนู ... บนการดําเนินการ จากนั้นเลือก เปลี่ยนชื่อ
- อัปเดตนิพจน์ใดก็ตามที่อ้างอิงการดําเนินการที่เปลี่ยนชื่อ:
outputs('Old_Name')เป็นoutputs('New_Name')
ข้อมูลที่เกี่ยวข้อง: InvalidTemplate
MissingRequiredProperty
นั่นหมายความว่า: เขตข้อมูลป้อนเข้าที่จําเป็นบนการดําเนินการหรือทริกเกอร์ว่างเปล่า
สาเหตุทั่วไป:
- เพิ่มการดําเนินการตัวเชื่อมต่อ แต่ไม่ดําเนินการกําหนดค่าให้เสร็จสมบูรณ์
- โทเค็นเนื้อหาแบบไดนามิกที่แก้ไขให้ว่างเปล่าถูกใช้ในเขตข้อมูลที่จําเป็น
- โฟลว์ที่นําเข้าจากโซลูชันที่ไม่มีการตั้งค่าตัวแปรสภาพแวดล้อม
วิธีการแก้ไข:
- เปิดการดําเนินการที่ถูกตั้งค่าสถานะโดยมีข้อผิดพลาด
- ค้นหาเขตข้อมูลที่มีเครื่องหมายดอกจันสีแดง (*) ที่ว่างเปล่า
- กรอกค่าที่ต้องการ ด้วยข้อความคงที่หรือโทเค็นเนื้อหาแบบไดนามิก
- สําหรับโฟลว์โซลูชัน ให้ตรวจสอบว่าตัวแปรสภาพแวดล้อมทั้งหมดมีค่าในสภาพแวดล้อมเป้าหมายหรือไม่
ข้อมูลที่เกี่ยวข้อง: FlowCheckerError
ข้อผิดพลาดของนิพจน์รันไทม์
ข้อผิดพลาดเหล่านี้เกิดขึ้นเมื่อโฟลว์ทํางานและไม่สามารถประเมินนิพจน์ได้
ExpressionEvaluationFailed
นั่นหมายความว่า:
นิพจน์ไม่สามารถประเมินในขณะทํางานเนื่องจากข้อมูลจริงไม่ตรงกับนิพจน์ที่คาดไว้ ข้อผิดพลาดนี้เกิดขึ้นเฉพาะเมื่อนิพจน์ใช้ ค่าไดนามิก (ตัวแปร, เนื้อความของทริกเกอร์, ผลลัพธ์การดําเนินการ) ที่ไม่สามารถตรวจสอบได้ในขณะบันทึก
Note
ถ้านิพจน์ใช้เฉพาะค่าคงที่ (เช่น int('abc') หรือ div(100, 0)) กลไกจัดการโฟลว์จะตรวจจับข้อผิดพลาดขณะบันทึกเป็น InvalidTemplate แทน
สาเหตุทั่วไป:
- การ
int()เรียกใช้ตัวแปรที่มีสตริงที่ไม่ใช่ตัวเลขในขณะทํางาน - การเข้าถึงคุณสมบัติบนวัตถุ null (
outputs('Get_item')?['body/title']เมื่อ Get_item ส่งกลับอะไร) - รูปแบบวันที่ไม่ตรงกันใน
formatDateTime()หรือparseDateTime()เมื่อรูปแบบมาจากตัวแปร - การหารด้วยศูนย์เมื่อตัวหารเป็นค่าไดนามิกที่เกิดขึ้นเป็น 0
วิธีการแก้ไข:
- เปิดการเรียกใช้ที่ล้มเหลวและเลือกการดําเนินการที่ล้มเหลวเพื่อแสดงนิพจน์และค่าอินพุต
- ตัดนิพจน์ความเสี่ยงด้วยการตรวจสอบ null:
if(empty(triggerBody()?['value']), 'default', triggerBody()?['value']) - ใช้
coalesce()เพื่อให้ค่าที่ใช้แสดงแทน:coalesce(outputs('Get_item')?['body/title'], 'Untitled') - ตรวจสอบความถูกต้องของชนิดข้อมูลก่อนการแปลง:
if(isInt(variables('input')), int(variables('input')), 0)
เคล็ดลับ
เรียนรู้เกี่ยวกับไลบรารีของรูปแบบนิพจน์พร้อมใช้งานที่มีการจัดการที่ปลอดภัยแบบ null ใน Expression cookbook สําหรับโฟลว์ระบบคลาวด์
ข้อมูลที่เกี่ยวข้อง: InvalidTemplate, ContentConversionFailed
ContentConversionFailed
ความหมาย: โฟลว์ไม่สามารถแปลงข้อมูลจากชนิดหนึ่งเป็นอีกชนิดหนึ่งระหว่างการดําเนินการได้
สาเหตุทั่วไป:
- การส่งผ่านสตริงที่คาดว่าจะมีจํานวนเต็มหรือบูลีน
- การส่งอาร์เรย์ไปยังการดําเนินการที่ต้องการวัตถุเดียว
- สตริงวันที่ในรูปแบบที่ไม่คาดคิด (ตัวอย่างเช่น
DD/MM/YYYYเมื่อMM/DD/YYYYคาดหมาย) - เนื้อหาไบนารี (ไฟล์) ที่ส่งผ่านไปยังการป้อนข้อความ
วิธีการแก้ไข:
- ตรวจสอบอินพุตการดําเนินการที่ล้มเหลวในประวัติการเรียกใช้ เปรียบเทียบชนิดค่าจริงกับสิ่งที่การดําเนินการคาดหวัง
- ใช้ฟังก์ชันการแปลงอย่างชัดเจน:
int(),float(),string(),bool(),json() - สําหรับวันที่ ให้ใช้กับ
parseDateTime()ตําแหน่งที่ตั้งที่ชัดเจนหรือformatDateTime()เพื่อทําให้เป็นมาตรฐานก่อนส่งผ่าน - สําหรับอาร์เรย์ ใช้
first()เพื่อแยกหน่วยข้อมูลเดียวถ้าการดําเนินการปลายทางต้องการหนึ่งค่า
ข้อมูลที่เกี่ยวข้อง: ExpressionEvaluationFailed
ข้อผิดพลาดในการเชื่อมต่อและการรับรองความถูกต้อง
ข้อผิดพลาดเหล่านี้เกิดขึ้นเมื่อโฟลว์ไม่สามารถรับรองความถูกต้องไปยังบริการที่เชื่อมต่อได้
การเชื่อมต่อไม่ถูกต้อง
นั่นหมายความว่า: การอ้างอิงการเชื่อมต่อในโฟลว์ชี้ไปยังการเชื่อมต่อที่ใช้งานไม่ได้ ลบ หรือหมดอายุ
สาเหตุทั่วไป:
- ผู้ใช้ที่สร้างการเชื่อมต่อเปลี่ยนรหัสผ่านของพวกเขา หรือมีการตั้งค่า MFA ใหม่
- การเชื่อมต่อถูกลบจากหน้าการเชื่อมต่อ
- ผู้ดูแลระบบลบการเชื่อมต่อผ่านทางศูนย์การจัดการ Power Platform
- มีการนําเข้าโฟลว์ลงในสภาพแวดล้อมที่การเชื่อมต่อไม่มีอยู่
วิธีการแก้ไข:
- เปิดโฟลว์ในโหมดแก้ไข การดําเนินการที่มีการเชื่อมต่อที่ใช้งานไม่ได้แสดงไอคอนคําเตือน
- เลือกการดําเนินการและเลือกเปลี่ยนการเชื่อมต่อหรือเพิ่มการเชื่อมต่อใหม่
- ลงชื่อเข้าใช้ด้วยข้อมูลประจําตัวที่เหมาะสมเพื่อสร้างการเชื่อมต่อใหม่
- บันทึกและทดสอบโฟลว์
สำคัญ
สําหรับขั้นตอนการผลิต ให้พิจารณาการใช้การเชื่อมต่อบริการหลักแทนการเชื่อมต่อผู้ใช้ส่วนบุคคล การเชื่อมต่อบริการหลักไม่หมดอายุเมื่อผู้ใช้เปลี่ยนรหัสผ่านหรือออกจากองค์กร
ข้อมูลที่เกี่ยวข้อง: ConnectionNotConfigured, ConnectionAuthorizationFailed
ConnectionNotConfigured
นั่นหมายความว่า: การดําเนินการจําเป็นต้องมีการเชื่อมต่อ แต่ไม่ได้เลือกไว้
สาเหตุทั่วไป:
- โฟลว์ถูกนําเข้าจากโซลูชันและการอ้างอิงการเชื่อมต่อไม่ได้ถูกแมป
- เพิ่มการดําเนินการใหม่แล้ว แต่ข้ามขั้นตอนการเชื่อมต่อ
- การอ้างอิงการเชื่อมต่อชี้ไปยังตัวแปรสภาพแวดล้อมที่ไม่มีค่า
วิธีการแก้ไข:
- เปิดโฟลว์ในโหมดแก้ไขและค้นหาการดําเนินการที่มีคําเตือนการเชื่อมต่อ
- เลือกการเชื่อมต่อที่มีอยู่จากรายการแบบดรอปดาวน์หรือสร้างใหม่
- สําหรับโฟลว์โซลูชัน ไปที่การอ้างอิง>การเชื่อมต่อ>เริ่มต้น
- ตั้งค่าการเชื่อมต่อสําหรับการอ้างอิงแต่ละรายการ
ข้อมูลที่เกี่ยวข้อง: การเชื่อมต่อที่ไม่ถูกต้อง
ไม่ได้รับอนุญาต (401)
นั่นหมายความว่า API ปฏิเสธคําขอเนื่องจากโทเค็นการรับรองความถูกต้องไม่ถูกต้องหรือหมดอายุ
สาเหตุทั่วไป:
- โทเค็น OAuth หมดอายุและการเชื่อมต่อไม่สามารถรีเฟรชอัตโนมัติได้
- บัญชีผู้ใช้ถูกปิดใช้งานหรือเปลี่ยนแปลงรหัสผ่าน
- ข้อมูลลับของบริการหลักหรือใบรับรองหมดอายุแล้ว
- นโยบายการเข้าถึงตามเงื่อนไขบล็อกการลงชื่อเข้าใช้ (ทางภูมิศาสตร์การปฏิบัติตามอุปกรณ์)
วิธีการแก้ไข:
- ไปที่ Power Automate>Connections และค้นหาการเชื่อมต่อที่ใช้โดยการดําเนินการที่ล้มเหลว
- ถ้าการเชื่อมต่อแสดงคําเตือน เลือก แก้ไขการเชื่อมต่อ และรับรองความถูกต้องอีกครั้ง
- สําหรับการเชื่อมต่อโครงร่างสําคัญของบริการ หมุนข้อมูลลับใน Microsoft Entra ID และอัปเดตการเชื่อมต่อ
- ตรวจสอบการลงชื่อเข้าใช้ Microsoft Entra ID เพื่อบล็อกการเข้าถึงตามเงื่อนไข: Azure portal>Microsoft Entra ID>บันทึกลงชื่อเข้าใช้ กรองตามชื่อแอป
ข้อมูลที่เกี่ยวข้อง: ห้ามใช้งาน (403), ConnectionAuthorizationFailed
ห้ามใช้งาน (403)
นั่นหมายความว่า: ผู้ใช้หรือแอปที่ได้รับการรับรองความถูกต้องไม่มีสิทธิ์ในการดําเนินการร้องขอ
สาเหตุทั่วไป:
- นโยบาย DLP (การป้องกันการสูญหายของข้อมูล) จะบล็อกตัวเชื่อมต่อหรือการดําเนินการเชื่อมต่อในสภาพแวดล้อมนี้
- ผู้ใช้ไม่มีสิทธิ์บนทรัพยากรเป้าหมาย (ตัวอย่างเช่น ไม่มีการเข้าถึงการเขียน SharePoint list)
- ผู้ดูแลระบบจํากัดตัวเชื่อมต่อผ่านการตั้งค่าระดับผู้เช่า
- ตัวเชื่อมต่อจําเป็นต้องมีสิทธิ์การใช้งานแบบพรีเมียมและผู้ใช้อยู่ในแผนเริ่มต้น
วิธีการแก้ไข:
- ตรวจสอบนโยบาย DLP:นโยบายข้อมูล>การจัดการ Power Platform ค้นหานโยบายที่บล็อกตัวเชื่อมต่อในกลุ่มของสภาพแวดล้อมของคุณ
- ตรวจสอบว่าผู้ใช้การเชื่อมต่อมีสิทธิ์ที่ถูกต้องบนบริการเป้าหมาย (SharePoint สิทธิ์ไซต์ บทบาทการรักษาความปลอดภัย Dataverse และคล้ายกัน)
- ถ้าเป็นปัญหาตัวเชื่อมต่อแบบพรีเมียม ให้ตรวจสอบว่าเจ้าของโฟลว์หรือผู้เรียกมีสิทธิการใช้งาน Power Automate Premium
- ติดต่อผู้ดูแลระบบของคุณถ้าจําเป็นต้องปรับเปลี่ยนนโยบาย DLP
ข้อมูลที่เกี่ยวข้อง: ไม่ได้รับอนุญาต (401), DirectApiAuthorizationRequired
ConnectionAuthorizationFailed
นั่นหมายความว่า: การเชื่อมต่อที่มีอยู่ แต่ข้อมูลประจําตัวที่เก็บไว้ไม่สามารถใช้ได้อีกต่อไป
สาเหตุทั่วไป:
- รหัสผ่านของผู้ใช้เปลี่ยนหรือวิธีการ MFA ถูกรีเซ็ต
- โทเค็นรีเฟรช OAuth หมดอายุแล้ว (ทั่วไปที่มีการเชื่อมต่อที่ไม่ได้ใช้เป็นเวลา 90 วัน)
- ผู้ดูแลระบบเพิกถอนความยินยอมสําหรับแอปใน Microsoft Entra ID
- การเชื่อมต่อที่แชร์ไม่ถูกแชร์โดยเจ้าของ
วิธีการแก้ไข:
- เปิด Power Automate>การเชื่อมต่อ
- ค้นหาการเชื่อมต่อที่ได้รับผลกระทบ
- เลือกการเชื่อมต่อ จากนั้นเลือก แก้ไขการเชื่อมต่อ เพื่อรับรองความถูกต้องอีกครั้ง
- ถ้าใช้การเชื่อมต่อที่แชร์ ให้ขอให้เจ้าของการเชื่อมต่อแชร์อีกครั้ง
- สําหรับบัญชีบริการ ตั้งค่าตัวเตือนปฏิทินเพื่อหมุนข้อมูลประจําตัวก่อนที่หมดอายุ
เคล็ดลับ
ค้นหาบทช่วยสอนโดยละเอียดของปัญหาการเชื่อมต่อจากตัวเชื่อมต่อ (SharePoint, Outlook, SQL Server, Dataverse, HTTP) ใน ไฟล์ ความล้มเหลวในการเชื่อมต่อใน cloud flows
ข้อมูลที่เกี่ยวข้อง: การเชื่อมต่อไม่ถูกต้อง, ไม่ได้รับอนุญาต (401)
ข้อผิดพลาดของตัวเชื่อมต่อและ API
ข้อผิดพลาดเหล่านี้มาจากบริการปลายทางที่โฟลว์กําลังเรียก
การดําเนินการล้มเหลว
นั่นหมายความว่า: การดําเนินการส่งกลับสถานะความล้มเหลว นี่คือกระดาษห่อทั่วไป รายละเอียดข้อผิดพลาดจริงจะอยู่ในเนื้อความผลลัพธ์ของการดําเนินการ
สาเหตุทั่วไป:
- API ปลายทางส่งกลับข้อผิดพลาด 4xx หรือ 5xx
- โฟลว์ย่อย (เรียกใช้ผ่าน "เรียกใช้โฟลว์ลูก") ล้มเหลว
- ตัวเชื่อมต่อแบบกําหนดเองส่งกลับรูปแบบการตอบสนองที่ไม่คาดคิด
- การตั้งค่า configure-run-after ของการดําเนินการเป็นสาเหตุให้ดําเนินการหลังจากเกิดความล้มเหลวก่อนหน้านี้
วิธีการแก้ไข:
- เปิดการเรียกใช้ที่ล้มเหลวและเลือกการดําเนินการที่ล้มเหลว
- ขยาย เอาต์พุต เพื่อแสดงข้อความแสดงข้อผิดพลาดจริงและรหัสสถานะจาก API
- แก้ไขปัญหาพื้นฐานตามข้อผิดพลาด API เฉพาะ (ตรวจสอบรายการ 400, 401, 403 และ 404 ในการอ้างอิงนี้)
- ถ้าการดําเนินการควรทํางานแม้ว่าการดําเนินการก่อนหน้าจะล้มเหลว ให้ตรวจสอบ กําหนดค่าการเรียกใช้หลังจาก การตั้งค่า
ข้อมูลที่เกี่ยวข้อง: BadRequest (400), NotFound (404)
BadRequest (400)
นั่นหมายความว่า: API ตัวเชื่อมต่อปฏิเสธคําขอเนื่องจากข้อมูลป้อนเข้ามีรูปแบบไม่ถูกต้องหรือไม่ถูกต้อง
สาเหตุทั่วไป:
- การส่งเขตข้อมูลที่มีชนิดข้อมูลที่ไม่ถูกต้อง (สตริงแทนที่จะเป็นตัวเลข หรือกลับกัน)
- เขตข้อมูลที่จําเป็นหายไปจากเนื้อความของคําขอ
- อักขระในชื่อแฟ้มหรือชื่อเรื่องของรายการไม่ถูกต้อง
- เกินขีดจํากัดความยาวของเขตข้อมูล (ตัวอย่างเช่น SharePoint ข้อความบรรทัดเดียว = 255 chars)
วิธีการแก้ไข:
- เปิดการดําเนินการที่ล้มเหลวในประวัติการเรียกใช้และดูส่วน อินพุต เพื่อแสดงสิ่งที่ถูกส่ง
- เปรียบเทียบข้อมูลป้อนเข้ากับ Schema ที่คาดไว้ของ API (ตรวจสอบเอกสารประกอบตัวเชื่อมต่อ)
- ฆ่าเชื้อผู้ใช้ที่ป้อนเข้าด้วย
replace()เพื่อตัดอักขระที่ไม่ถูกต้องก่อนที่จะส่งผ่านไปยังการดําเนินการ - ใช้
substring()หรือtake()เพื่อตัดทอนค่าที่ยาวให้เท่ากับความยาวสูงสุดของเขตข้อมูล
ข้อมูลที่เกี่ยวข้อง: ActionFailed, ContentConversionFailed
NotFound (404)
นั่นหมายความว่า: ไม่มีทรัพยากรที่การดําเนินการพยายามเข้าถึงอยู่
สาเหตุทั่วไป:
- SharePoint list ไลบรารี หรือไซต์ถูกเปลี่ยนชื่อหรือลบ
- โฟลเดอร์ Outlook หรือแชนเนลของ Teams ถูกเอาออก
- โฟลว์อ้างอิง ID แบบฮาร์ดโค้ดสําหรับทรัพยากรที่ไม่มีอยู่อีกต่อไป
- ตารางหรือแถว Dataverse ถูกลบโดยกระบวนการอื่น
วิธีการแก้ไข:
- ตรวจสอบว่ายังมีทรัพยากรอยู่ในบริการเป้าหมาย
- ถ้ามีการเปลี่ยนชื่อ ให้อัปเดตการดําเนินการเพื่อใช้ชื่อหรือ ID ใหม่
- แทนที่ hardcoded ID ด้วยการค้นหาแบบไดนามิกที่เป็นไปได้ (ตัวอย่างเช่น "รับรายการ" ด้วยตัวกรองแทน "รับรายการ" ด้วย ID แบบคงที่)
- เพิ่มการจัดการข้อผิดพลาด: กําหนดค่าการดําเนินการถัดไปเป็น เรียกใช้ หลังจาก>ล้มเหลว และจัดการ 404 อย่างนุ่มนวล
ข้อมูลที่เกี่ยวข้อง: การดําเนินการ Failed
ข้อผิดพลาดทริกเกอร์
ข้อผิดพลาดเหล่านี้เกี่ยวข้องกับทริกเกอร์โฟลว์ที่ไม่ทํางานหรือล้มเหลว
TriggerConditionNotMet
นั่นหมายความว่า: ทริกเกอร์ประเมินเงื่อนไขและกําหนดว่าเหตุการณ์ไม่ควรเริ่มการเรียกใช้โฟลว์
สาเหตุทั่วไป:
- นิพจน์เงื่อนไขทริกเกอร์จะประเมินเป็น false เสมอ (ข้อผิดพลาดทางตรรกะ)
- เงื่อนไขทริกเกอร์อ้างอิงเขตข้อมูลที่ไม่มีอยู่ในส่วนข้อมูลทริกเกอร์
- เหตุการณ์เกิดขึ้นแต่ข้อมูลไม่ตรงกับตัวกรอง (ตัวอย่างเช่น "เมื่อรายการถูกสร้างขึ้น" ที่มีเงื่อนไขใน Status แต่ Status เป็น blank)
วิธีการแก้ไข:
- ไปที่ การตั้งค่า ของทริกเกอร์ และตรวจสอบนิพจน์เงื่อนไขทริกเกอร์
- ทดสอบเงื่อนไขกับส่วนข้อมูลเหตุการณ์ที่รู้จัก ใช้ มองรหัส บนทริกเกอร์เพื่อแสดงเค้าร่างดิบ
- ลบเงื่อนไขชั่วคราว ทริกเกอร์โฟลว์ด้วยตนเอง และตรวจสอบผลลัพธ์ทริกเกอร์เพื่อตรวจสอบชื่อเขตข้อมูลและค่า
- แก้ไขนิพจน์และเปิดใช้งานเงื่อนไขอีกครั้ง
ข้อมูลที่เกี่ยวข้อง: ExpressionEvaluationFailed
ข้อผิดพลาดการหมดเวลาและการควบคุม
ข้อผิดพลาดเหล่านี้เกิดขึ้นเมื่อโฟลว์หรือการดําเนินการเกินขีดจํากัดเวลาหรืออัตรา
ActionTimedOut
นั่นหมายความว่า: การดําเนินการเดียวเกินการหมดเวลาที่กําหนดไว้และถูกยกเลิก
สาเหตุทั่วไป:
- การดําเนินการ HTTP เรียกใช้ API ภายนอกช้าด้วยการหมดเวลาค่าเริ่มต้น 100 วินาที
- "รอการอนุมัติ" ที่มีวันหมดอายุที่ผ่าน
- การอัปโหลดไฟล์ขนาดใหญ่หรือดาวน์โหลดผ่านการเชื่อมต่อที่ช้า
- คิวรี Dataverse ที่ส่งกลับแถวมากเกินไปโดยไม่มีการแบ่งหน้า
วิธีการแก้ไข:
- เปิด การตั้งค่า ของการดําเนินการและเพิ่มค่า การหมดเวลา (ระยะเวลา ISO 8601 ตัวอย่างเช่น
PT5M5 นาที) - สําหรับการดําเนินการ HTTP ให้ตรวจสอบว่า API ภายนอกมีรูปแบบการดําเนินการที่ใช้เวลานานหรือไม่ (แบบสํารวจด้วยลองใหม่อีกครั้ง)
- สําหรับ Dataverse ให้เพิ่ม
$filterและ$topลดชุดผลลัพธ์ - สําหรับการอนุมัติ ให้ตั้งค่าวันหมดอายุที่เหมาะสมและเพิ่มสาขาที่หมดเวลาเพื่อจัดการการไม่ตอบกลับ
ข้อมูลที่เกี่ยวข้อง: OperationTimedOut
OperationTimedOut
นั่นหมายความว่า: การดําเนินการที่ใช้เวลานาน (การรอ webhook การอนุมัติ การโพลล์ HTTP) เกินเวลารอสูงสุด
สาเหตุทั่วไป:
- การดําเนินการ HTTP webhook รอการเรียกกลับที่ไม่เคยมา
- การดําเนินการอนุมัติโดยไม่มีวันหมดอายุ ซึ่งถึงขีดจํากัดการเรียกใช้โฟลว์ 30 วัน
- การดําเนินการ "หน่วงเวลาจนถึง" ที่ตั้งค่าเป็นวันที่เกินขีดจํากัดระยะเวลาการเรียกใช้ 30 วัน
- การบริการภายนอกล้มลง และไม่ได้ส่งการตอบกลับที่คาดไว้
วิธีการแก้ไข:
- ตั้งค่าการหมดเวลาที่ชัดเจนบน webhook และการดําเนินการอนุมัติเสมอ
- สําหรับการดําเนินการ HTTP webhook ใช้สาขาหมดเวลากับ กําหนดค่าการเรียกใช้หลังจาก>หมดเวลาแล้ว
- แบ่งการรอเป็นเซกเมนต์ที่สั้นลงโดยใช้รอบด้วยการตรวจสอบรายวัน
- สําหรับขีดจํากัดการเรียกใช้ 30 วัน ออกแบบกระบวนการที่ใช้เวลานานใหม่เพื่อใช้รูปแบบ "ถ่ายทอด" : สิ้นสุดการเรียกใช้ปัจจุบันและเริ่มต้นใหม่ด้วยสถานะที่ส่งผ่าน Dataverse หรือไฟล์
สำคัญ
โฟลว์ระบบคลาวด์มีระยะเวลาการทํางานสูงสุด 30 วัน สําหรับกระบวนการที่ใช้เวลานานกว่า แยกเป็นการเรียกใช้โฟลว์หลายโฟลว์ด้วยสถานะที่ใช้ร่วมกัน
ข้อมูลที่เกี่ยวข้อง: ActionTimedOut
WorkflowRunActionRepetitionQuotaExceeded
นั่นหมายความว่า: การวนรอบนําไปใช้กับแต่ละรอบเกินจํานวนการวนซ้ําสูงสุด (ค่าเริ่มต้น: 100,000 สําหรับ Premium, 5,000 สําหรับโปรไฟล์ประสิทธิภาพ)
สาเหตุทั่วไป:
- การประมวลผล SharePoint list ขนาดใหญ่หรือตาราง Dataverse โดยไม่มีการกรองก่อน
- รอบซ้อน
Apply to Eachที่คูณจํานวนการทําซ้ํา (100 x 100 = 10,000) - การดําเนินการ
Get itemsที่ส่งกลับแถวทั้งหมดแทนชุดย่อยที่กรองแล้ว
วิธีการแก้ไข:
- เพิ่มตัวกรองไปยังการดําเนินการแหล่งข้อมูลเพื่อลดจํานวนรายการก่อนการวนรอบ
- ใช้ OData
$filterและ$topบนการดําเนินการ รับรายการ แทนการกรองภายในการวนรอบ - สําหรับชุดข้อมูลขนาดใหญ่ ให้รวมงานในหลายโฟลว์ที่ทํางานโดยใช้โทเค็นการแบ่งหน้าหรือช่วงวันที่
- พิจารณาการใช้
SelectหรือFilter arrayการดําเนินการ แทนที่จะApply to Eachเป็นเมื่อคุณจําเป็นต้องแปลงหรือกรองข้อมูลเท่านั้น
ข้อมูลที่เกี่ยวข้อง: FlowRunQuotaExceeded
FlowRunQuotaExceeded
นั่นหมายความว่า: โฟลว์หรือผู้เช่าเกินขีดจํากัดการดําเนินการรายวัน
สาเหตุทั่วไป:
- สิทธิ์การใช้งานที่เริ่มต้น/ฟรี: 6,000 การดําเนินการต่อวันต่อผู้ใช้
- สิทธิการใช้งานแบบพรีเมียม: 40,000 การดําเนินการต่อวันต่อผู้ใช้
- สิทธิ์การใช้งานกระบวนการ: 250,000 การดําเนินการต่อวันต่อโฟลว์
- โฟลว์แบบวนรอบหนักซึ่งใช้การดําเนินการหลายพันรายการต่อการเรียกใช้
วิธีการแก้ไข:
- ตรวจสอบการใช้งานปัจจุบันใน ศูนย์การจัดการแพลตฟอร์ม Power>Analytics>Power Automate
- ปรับโฟลว์ให้เหมาะสมเพื่อใช้การดําเนินการที่น้อยลง: แทนที่ นําไปใช้กับแต่ละรายการ ด้วย เลือก/กรอง, การดําเนินการเป็นชุดงาน, ลดความถี่ของการโพลล์
- อัปเกรดระดับสิทธิ์การใช้งานหากปริมาณงานต้องการความจุเพิ่มเติมอย่างถูกต้อง
- กระจายปริมาณงานในหลายโฟลว์ หรือกําหนดเวลาการเรียกใช้ปริมาณสูงในช่วงนอกช่วงเวลาที่ใช้
Note
เรียนรู้เพิ่มเติมเกี่ยวกับขีดจํากัดการดําเนินการรายวันตามระดับสิทธิ์การใช้งานใน Power Automate ขีดจํากัดและการกําหนดค่า
ข้อมูลที่เกี่ยวข้อง: WorkflowRunActionRepetitionQuotaExceeded, DirectApiAuthorizationRequirizationRequired
ข้อผิดพลาดในการให้สิทธิ์การใช้งาน
DirectApiAuthorizationRequirization
นั่นหมายความว่า: โฟลว์ใช้ตัวเชื่อมต่อแบบพรีเมียมแต่ผู้โทรไม่มีสิทธิการใช้งานแบบพรีเมียม
สาเหตุทั่วไป:
- โฟลว์ที่มีตัวเชื่อมต่อแบบพรีเมียม (HTTP, SQL Server, Dataverse, ตัวเชื่อมต่อแบบกําหนดเอง) จะเรียกใช้โดยผู้ใช้บนสิทธิ์การใช้งาน Microsoft 365 ข้อมูลเริ่มต้น
- เจ้าของโฟลว์มี premium แต่ผู้ใช้ที่ทริกเกอร์ไม่ (มีความสําคัญต่อสิทธิ์การใช้งานของผู้โทร ไม่ใช่ของเจ้าของ)
- เจ้าของโฟลว์ที่กําหนดเวลาไว้สูญเสียสิทธิการใช้งานแบบพรีเมียมของเจ้าของโฟลว์
- โฟลว์ในบริบทถูกแยกออกจาก Power App ทําให้อยู่นอกบริบท
วิธีการแก้ไข:
- ระบุว่าตัวเชื่อมต่อใดต้องการแบบพรีเมียม ข้อความแสดงข้อผิดพลาดมักจะตั้งชื่อข้อความนั้น
- กําหนดสิทธิ์การใช้งาน Power Automate Premium ให้กับผู้ใช้ที่ทริกเกอร์หรือเรียกใช้โฟลว์
- สําหรับโฟลว์ตามกําหนดเวลาหรืออัตโนมัติ ตรวจสอบให้แน่ใจว่าเจ้าของโฟลว์มีสิทธิการใช้งานแบบพรีเมียม
- พิจารณาว่าสิทธิ์การใช้งานกระบวนการ (ต่อโฟลว์) มีประสิทธิภาพมากกว่าสําหรับโฟลว์ที่ใช้ร่วมกันในปริมาณสูงหรือไม่
ข้อมูลที่เกี่ยวข้อง: ห้ามใช้งาน (403), FlowRunQuotaExceeded
ตารางอ้างอิงด่วน
| ข้อผิดพลาด | ประเภท | การแก้ไขที่เป็นไปได้มากที่สุด |
|---|---|---|
| InvalidTemplate | เวลาการออกแบบ | ไวยากรณ์ของนิพจน์การแก้ไข |
| ExpressionEvaluationFailed | รัน ไทม์ | เพิ่มการตรวจสอบ null ตรวจสอบชนิด |
| การดําเนินการล้มเหลว | รัน ไทม์ | ตรวจสอบผลลัพธ์การดําเนินการสําหรับข้อผิดพลาด API |
| FlowCheckerError | เวลาการออกแบบ | เติมเขตข้อมูลที่จําเป็น แก้ไขการเชื่อมต่อ |
| การเชื่อมต่อไม่ถูกต้อง | การเชื่อมต่อ | รับรองความถูกต้องของการเชื่อมต่ออีกครั้ง |
| ConnectionNotConfigured | การเชื่อมต่อ | เลือกหรือสร้างการเชื่อมต่อ |
| ไม่ได้รับอนุญาต (401) | การรับรองความถูกต้อง | แก้ไขการเชื่อมต่อ หมุนข้อมูลประจําตัว |
| ห้ามใช้งาน (403) | การรับรองความถูกต้อง | ตรวจสอบนโยบาย DLP สิทธิ์ |
| BadRequest (400) | API | ตรวจสอบรูปแบบข้อมูลป้อนเข้า |
| NotFound (404) | API | ตรวจสอบว่ามีทรัพยากรอยู่ อัปเดตการอ้างอิง |
| TriggerConditionNotMet | ทริกเกอร์ | ตรวจสอบนิพจน์เงื่อนไขทริกเกอร์ |
| ActionTimedOut | การหมดเวลา | เพิ่มการหมดเวลาในการตั้งค่าการดําเนินการ |
| DuplicateActionName | เวลาการออกแบบ | เปลี่ยนชื่อการดําเนินการซ้ํา |
| MissingRequiredProperty | เวลาการออกแบบ | กรอกข้อมูลในเขตข้อมูลที่จําเป็น |
| ContentConversionFailed | รัน ไทม์ | ใช้การแปลงชนิดที่ชัดเจน |
| WorkflowRunActionRepetitionQuotaExceeded | การควบคุม | กรองข้อมูลก่อนการวนรอบ |
| DirectApiAuthorizationRequirization | การให้สิทธิ์การใช้งาน | กําหนดสิทธิการใช้งานแบบพรีเมียมให้กับผู้โทร |
| FlowRunQuotaExceeded | การควบคุม | ปรับจํานวนการดําเนินการให้เหมาะสม อัปเกรดสิทธิ์การใช้งาน |
| ConnectionAuthorizationFailed | การเชื่อมต่อ | แก้ไขการเชื่อมต่อ รับรองความถูกต้องใหม่ |
| OperationTimedOut | การหมดเวลา | ตั้งค่าการหมดเวลาที่ชัดเจน ใช้รูปแบบการถ่ายทอด |
ข้อมูลที่เกี่ยวข้อง
- คู่มือปรุงนิพจน์สําหรับโฟลว์ระบบคลาวด์
- แก้ไขความล้มเหลวในการเชื่อมต่อในโฟลว์ระบบคลาวด์
- แก้ไขปัญหาข้อผิดพลาดของโฟลว์ระบบคลาวด์
- ขีดจํากัดและการกําหนดค่า Power Automate
- คู่มือสิทธิ์การใช้งาน Power Automate
หมายเหตุ: ผู้เขียนจัดทําบทความนี้ด้วยความช่วยเหลือจาก AI เรียนรู้เพิ่มเติม