แชร์ผ่าน


การอ้างอิงรหัสข้อผิดพลาดของโฟลว์ระบบคลาวด์

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

Note

การอ้างอิงนี้นําไปใช้กับระดับสิทธิ์การใช้งานโฟลว์ระบบคลาวด์ Power Automate ทั้งหมด เรียนรู้เกี่ยวกับข้อผิดพลาดเฉพาะสําหรับโฟลว์เดสก์ท็อปใน แก้ไขปัญหาข้อผิดพลาดของโฟลว์เดสก์ท็อป

ข้อผิดพลาดในขณะออกแบบ

ข้อผิดพลาดเหล่านี้เกิดขึ้นเมื่อคุณบันทึก ตรวจสอบ ความถูกต้อง หรือเผยแพร่โฟลว์

InvalidTemplate

ความหมาย: ข้อกําหนดของโฟลว์ประกอบด้วยข้อผิดพลาดทางไวยากรณ์ในการกําหนดค่านิพจน์หรือการดําเนินการ

สาเหตุทั่วไป:

  • วงเล็บที่ไม่ตรงกันหรือเครื่องหมายอัญประกาศในนิพจน์
  • การอ้างอิงผลลัพธ์การดําเนินการที่ไม่มีอยู่ (การพิมพ์ผิดในชื่อการดําเนินการ)
  • การใช้ฟังก์ชันที่มีจํานวนอาร์กิวเมนต์ที่ไม่ถูกต้อง (ตัวอย่างเช่น createArray() ไม่มีอาร์กิวเมนต์)
  • พิมพ์ไม่ตรงกันในนิพจน์ค่าคงที่ (ตัวอย่างเช่น int('abc') หรือ div(100, 0)) กลไกจัดการจะตรวจสอบความถูกต้องในขณะบันทึก
  • คัดลอกการวางนิพจน์จากเอกสารที่มีอักขระ Unicode ที่มองไม่เห็น

วิธีการแก้ไข:

  1. เปิดการดําเนินการที่เน้นเป็นสีแดงในตัวออกแบบ
  2. ตรวจสอบนิพจน์ในแถบสูตร ค้นหาอักขระที่ไม่ตรงกัน()หรือ'
  3. ตรวจสอบชื่อการดําเนินการในนิพจน์ที่ตรงกัน (ตรงตามตัวพิมพ์ใหญ่-เล็ก): outputs('Get_item') ไม่ใช่outputs('Get Item')
  4. ถ้านิพจน์มีลักษณะถูกต้อง ให้ลบแล้วพิมพ์ใหม่ด้วยตนเองเพื่อเอาอักขระที่ซ่อนอยู่ออก

เคล็ดลับ

ชื่อการดําเนินการในนิพจน์ใช้เครื่องหมายขีดล่างแทนช่องว่าง ถ้าการดําเนินการของคุณมีชื่อว่า "รับรายการ" การอ้างอิงนิพจน์คือoutputs('Get_item')

ข้อมูลที่เกี่ยวข้อง: ExpressionEvaluationFailed, FlowCheckerError

FlowCheckerError

นั่นหมายความว่า: ตัวตรวจสอบโฟลว์พบปัญหาการตรวจสอบความถูกต้องอย่างน้อยหนึ่งรายการที่ป้องกันการบันทึก

สาเหตุทั่วไป:

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

วิธีการแก้ไข:

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

ข้อมูลที่เกี่ยวข้อง: InvalidTemplate, MissingRequiredProperty

DuplicateActionName

นั่นหมายความว่า: การดําเนินการสองอย่างขึ้นไปในโฟลว์มีชื่อภายในเดียวกัน

สาเหตุทั่วไป:

  • คัดลอกวางการดําเนินการโดยไม่เปลี่ยนชื่อ
  • การนําเข้าข้อกําหนดโฟลว์ที่แก้ไขด้วยตนเองโดยใช้คีย์ที่ซ้ํากัน
  • การเปลี่ยนชื่อการดําเนินการเป็นชื่อที่ถูกใช้โดยการกระทําอื่นในขอบเขตเดียวกันอยู่แล้ว

วิธีการแก้ไข:

  1. ค้นหาโฟลว์สําหรับการดําเนินการที่มีชื่อเหมือนกัน (ตรวจสอบภายใน Apply to Each และ Scope คอนเทนเนอร์ด้วย)
  2. เปลี่ยนชื่อรายการซ้ําหนึ่งรายการ เลือกเมนู ... บนการดําเนินการ จากนั้นเลือก เปลี่ยนชื่อ
  3. อัปเดตนิพจน์ใดก็ตามที่อ้างอิงการดําเนินการที่เปลี่ยนชื่อ: outputs('Old_Name') เป็นoutputs('New_Name')

ข้อมูลที่เกี่ยวข้อง: InvalidTemplate

MissingRequiredProperty

นั่นหมายความว่า: เขตข้อมูลป้อนเข้าที่จําเป็นบนการดําเนินการหรือทริกเกอร์ว่างเปล่า

สาเหตุทั่วไป:

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

วิธีการแก้ไข:

  1. เปิดการดําเนินการที่ถูกตั้งค่าสถานะโดยมีข้อผิดพลาด
  2. ค้นหาเขตข้อมูลที่มีเครื่องหมายดอกจันสีแดง (*) ที่ว่างเปล่า
  3. กรอกค่าที่ต้องการ ด้วยข้อความคงที่หรือโทเค็นเนื้อหาแบบไดนามิก
  4. สําหรับโฟลว์โซลูชัน ให้ตรวจสอบว่าตัวแปรสภาพแวดล้อมทั้งหมดมีค่าในสภาพแวดล้อมเป้าหมายหรือไม่

ข้อมูลที่เกี่ยวข้อง: FlowCheckerError

ข้อผิดพลาดของนิพจน์รันไทม์

ข้อผิดพลาดเหล่านี้เกิดขึ้นเมื่อโฟลว์ทํางานและไม่สามารถประเมินนิพจน์ได้

ExpressionEvaluationFailed

นั่นหมายความว่า:

นิพจน์ไม่สามารถประเมินในขณะทํางานเนื่องจากข้อมูลจริงไม่ตรงกับนิพจน์ที่คาดไว้ ข้อผิดพลาดนี้เกิดขึ้นเฉพาะเมื่อนิพจน์ใช้ ค่าไดนามิก (ตัวแปร, เนื้อความของทริกเกอร์, ผลลัพธ์การดําเนินการ) ที่ไม่สามารถตรวจสอบได้ในขณะบันทึก

Note

ถ้านิพจน์ใช้เฉพาะค่าคงที่ (เช่น int('abc') หรือ div(100, 0)) กลไกจัดการโฟลว์จะตรวจจับข้อผิดพลาดขณะบันทึกเป็น InvalidTemplate แทน

สาเหตุทั่วไป:

  • การ int() เรียกใช้ตัวแปรที่มีสตริงที่ไม่ใช่ตัวเลขในขณะทํางาน
  • การเข้าถึงคุณสมบัติบนวัตถุ null (outputs('Get_item')?['body/title'] เมื่อ Get_item ส่งกลับอะไร)
  • รูปแบบวันที่ไม่ตรงกันใน formatDateTime() หรือ parseDateTime() เมื่อรูปแบบมาจากตัวแปร
  • การหารด้วยศูนย์เมื่อตัวหารเป็นค่าไดนามิกที่เกิดขึ้นเป็น 0

วิธีการแก้ไข:

  1. เปิดการเรียกใช้ที่ล้มเหลวและเลือกการดําเนินการที่ล้มเหลวเพื่อแสดงนิพจน์และค่าอินพุต
  2. ตัดนิพจน์ความเสี่ยงด้วยการตรวจสอบ null: if(empty(triggerBody()?['value']), 'default', triggerBody()?['value'])
  3. ใช้ coalesce() เพื่อให้ค่าที่ใช้แสดงแทน: coalesce(outputs('Get_item')?['body/title'], 'Untitled')
  4. ตรวจสอบความถูกต้องของชนิดข้อมูลก่อนการแปลง: if(isInt(variables('input')), int(variables('input')), 0)

เคล็ดลับ

เรียนรู้เกี่ยวกับไลบรารีของรูปแบบนิพจน์พร้อมใช้งานที่มีการจัดการที่ปลอดภัยแบบ null ใน Expression cookbook สําหรับโฟลว์ระบบคลาวด์

ข้อมูลที่เกี่ยวข้อง: InvalidTemplate, ContentConversionFailed

ContentConversionFailed

ความหมาย: โฟลว์ไม่สามารถแปลงข้อมูลจากชนิดหนึ่งเป็นอีกชนิดหนึ่งระหว่างการดําเนินการได้

สาเหตุทั่วไป:

  • การส่งผ่านสตริงที่คาดว่าจะมีจํานวนเต็มหรือบูลีน
  • การส่งอาร์เรย์ไปยังการดําเนินการที่ต้องการวัตถุเดียว
  • สตริงวันที่ในรูปแบบที่ไม่คาดคิด (ตัวอย่างเช่น DD/MM/YYYY เมื่อ MM/DD/YYYY คาดหมาย)
  • เนื้อหาไบนารี (ไฟล์) ที่ส่งผ่านไปยังการป้อนข้อความ

วิธีการแก้ไข:

  1. ตรวจสอบอินพุตการดําเนินการที่ล้มเหลวในประวัติการเรียกใช้ เปรียบเทียบชนิดค่าจริงกับสิ่งที่การดําเนินการคาดหวัง
  2. ใช้ฟังก์ชันการแปลงอย่างชัดเจน: int(), float(), string(), bool(), json()
  3. สําหรับวันที่ ให้ใช้กับ parseDateTime() ตําแหน่งที่ตั้งที่ชัดเจนหรือ formatDateTime() เพื่อทําให้เป็นมาตรฐานก่อนส่งผ่าน
  4. สําหรับอาร์เรย์ ใช้ first() เพื่อแยกหน่วยข้อมูลเดียวถ้าการดําเนินการปลายทางต้องการหนึ่งค่า

ข้อมูลที่เกี่ยวข้อง: ExpressionEvaluationFailed

ข้อผิดพลาดในการเชื่อมต่อและการรับรองความถูกต้อง

ข้อผิดพลาดเหล่านี้เกิดขึ้นเมื่อโฟลว์ไม่สามารถรับรองความถูกต้องไปยังบริการที่เชื่อมต่อได้

การเชื่อมต่อไม่ถูกต้อง

นั่นหมายความว่า: การอ้างอิงการเชื่อมต่อในโฟลว์ชี้ไปยังการเชื่อมต่อที่ใช้งานไม่ได้ ลบ หรือหมดอายุ

สาเหตุทั่วไป:

  • ผู้ใช้ที่สร้างการเชื่อมต่อเปลี่ยนรหัสผ่านของพวกเขา หรือมีการตั้งค่า MFA ใหม่
  • การเชื่อมต่อถูกลบจากหน้าการเชื่อมต่อ
  • ผู้ดูแลระบบลบการเชื่อมต่อผ่านทางศูนย์การจัดการ Power Platform
  • มีการนําเข้าโฟลว์ลงในสภาพแวดล้อมที่การเชื่อมต่อไม่มีอยู่

วิธีการแก้ไข:

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

สำคัญ

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

ข้อมูลที่เกี่ยวข้อง: ConnectionNotConfigured, ConnectionAuthorizationFailed

ConnectionNotConfigured

นั่นหมายความว่า: การดําเนินการจําเป็นต้องมีการเชื่อมต่อ แต่ไม่ได้เลือกไว้

สาเหตุทั่วไป:

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

วิธีการแก้ไข:

  1. เปิดโฟลว์ในโหมดแก้ไขและค้นหาการดําเนินการที่มีคําเตือนการเชื่อมต่อ
  2. เลือกการเชื่อมต่อที่มีอยู่จากรายการแบบดรอปดาวน์หรือสร้างใหม่
  3. สําหรับโฟลว์โซลูชัน ไปที่การอ้างอิง>การเชื่อมต่อ>เริ่มต้น
  4. ตั้งค่าการเชื่อมต่อสําหรับการอ้างอิงแต่ละรายการ

ข้อมูลที่เกี่ยวข้อง: การเชื่อมต่อที่ไม่ถูกต้อง

ไม่ได้รับอนุญาต (401)

นั่นหมายความว่า API ปฏิเสธคําขอเนื่องจากโทเค็นการรับรองความถูกต้องไม่ถูกต้องหรือหมดอายุ

สาเหตุทั่วไป:

  • โทเค็น OAuth หมดอายุและการเชื่อมต่อไม่สามารถรีเฟรชอัตโนมัติได้
  • บัญชีผู้ใช้ถูกปิดใช้งานหรือเปลี่ยนแปลงรหัสผ่าน
  • ข้อมูลลับของบริการหลักหรือใบรับรองหมดอายุแล้ว
  • นโยบายการเข้าถึงตามเงื่อนไขบล็อกการลงชื่อเข้าใช้ (ทางภูมิศาสตร์การปฏิบัติตามอุปกรณ์)

วิธีการแก้ไข:

  1. ไปที่ Power Automate>Connections และค้นหาการเชื่อมต่อที่ใช้โดยการดําเนินการที่ล้มเหลว
  2. ถ้าการเชื่อมต่อแสดงคําเตือน เลือก แก้ไขการเชื่อมต่อ และรับรองความถูกต้องอีกครั้ง
  3. สําหรับการเชื่อมต่อโครงร่างสําคัญของบริการ หมุนข้อมูลลับใน Microsoft Entra ID และอัปเดตการเชื่อมต่อ
  4. ตรวจสอบการลงชื่อเข้าใช้ Microsoft Entra ID เพื่อบล็อกการเข้าถึงตามเงื่อนไข: Azure portal>Microsoft Entra ID>บันทึกลงชื่อเข้าใช้ กรองตามชื่อแอป

ข้อมูลที่เกี่ยวข้อง: ห้ามใช้งาน (403), ConnectionAuthorizationFailed

ห้ามใช้งาน (403)

นั่นหมายความว่า: ผู้ใช้หรือแอปที่ได้รับการรับรองความถูกต้องไม่มีสิทธิ์ในการดําเนินการร้องขอ

สาเหตุทั่วไป:

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

วิธีการแก้ไข:

  1. ตรวจสอบนโยบาย DLP:นโยบายข้อมูล>การจัดการ Power Platform ค้นหานโยบายที่บล็อกตัวเชื่อมต่อในกลุ่มของสภาพแวดล้อมของคุณ
  2. ตรวจสอบว่าผู้ใช้การเชื่อมต่อมีสิทธิ์ที่ถูกต้องบนบริการเป้าหมาย (SharePoint สิทธิ์ไซต์ บทบาทการรักษาความปลอดภัย Dataverse และคล้ายกัน)
  3. ถ้าเป็นปัญหาตัวเชื่อมต่อแบบพรีเมียม ให้ตรวจสอบว่าเจ้าของโฟลว์หรือผู้เรียกมีสิทธิการใช้งาน Power Automate Premium
  4. ติดต่อผู้ดูแลระบบของคุณถ้าจําเป็นต้องปรับเปลี่ยนนโยบาย DLP

ข้อมูลที่เกี่ยวข้อง: ไม่ได้รับอนุญาต (401), DirectApiAuthorizationRequired

ConnectionAuthorizationFailed

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

สาเหตุทั่วไป:

  • รหัสผ่านของผู้ใช้เปลี่ยนหรือวิธีการ MFA ถูกรีเซ็ต
  • โทเค็นรีเฟรช OAuth หมดอายุแล้ว (ทั่วไปที่มีการเชื่อมต่อที่ไม่ได้ใช้เป็นเวลา 90 วัน)
  • ผู้ดูแลระบบเพิกถอนความยินยอมสําหรับแอปใน Microsoft Entra ID
  • การเชื่อมต่อที่แชร์ไม่ถูกแชร์โดยเจ้าของ

วิธีการแก้ไข:

  1. เปิด Power Automate>การเชื่อมต่อ
  2. ค้นหาการเชื่อมต่อที่ได้รับผลกระทบ
  3. เลือกการเชื่อมต่อ จากนั้นเลือก แก้ไขการเชื่อมต่อ เพื่อรับรองความถูกต้องอีกครั้ง
  4. ถ้าใช้การเชื่อมต่อที่แชร์ ให้ขอให้เจ้าของการเชื่อมต่อแชร์อีกครั้ง
  5. สําหรับบัญชีบริการ ตั้งค่าตัวเตือนปฏิทินเพื่อหมุนข้อมูลประจําตัวก่อนที่หมดอายุ

เคล็ดลับ

ค้นหาบทช่วยสอนโดยละเอียดของปัญหาการเชื่อมต่อจากตัวเชื่อมต่อ (SharePoint, Outlook, SQL Server, Dataverse, HTTP) ใน ไฟล์ ความล้มเหลวในการเชื่อมต่อใน cloud flows

ข้อมูลที่เกี่ยวข้อง: การเชื่อมต่อไม่ถูกต้อง, ไม่ได้รับอนุญาต (401)

ข้อผิดพลาดของตัวเชื่อมต่อและ API

ข้อผิดพลาดเหล่านี้มาจากบริการปลายทางที่โฟลว์กําลังเรียก

การดําเนินการล้มเหลว

นั่นหมายความว่า: การดําเนินการส่งกลับสถานะความล้มเหลว นี่คือกระดาษห่อทั่วไป รายละเอียดข้อผิดพลาดจริงจะอยู่ในเนื้อความผลลัพธ์ของการดําเนินการ

สาเหตุทั่วไป:

  • API ปลายทางส่งกลับข้อผิดพลาด 4xx หรือ 5xx
  • โฟลว์ย่อย (เรียกใช้ผ่าน "เรียกใช้โฟลว์ลูก") ล้มเหลว
  • ตัวเชื่อมต่อแบบกําหนดเองส่งกลับรูปแบบการตอบสนองที่ไม่คาดคิด
  • การตั้งค่า configure-run-after ของการดําเนินการเป็นสาเหตุให้ดําเนินการหลังจากเกิดความล้มเหลวก่อนหน้านี้

วิธีการแก้ไข:

  1. เปิดการเรียกใช้ที่ล้มเหลวและเลือกการดําเนินการที่ล้มเหลว
  2. ขยาย เอาต์พุต เพื่อแสดงข้อความแสดงข้อผิดพลาดจริงและรหัสสถานะจาก API
  3. แก้ไขปัญหาพื้นฐานตามข้อผิดพลาด API เฉพาะ (ตรวจสอบรายการ 400, 401, 403 และ 404 ในการอ้างอิงนี้)
  4. ถ้าการดําเนินการควรทํางานแม้ว่าการดําเนินการก่อนหน้าจะล้มเหลว ให้ตรวจสอบ กําหนดค่าการเรียกใช้หลังจาก การตั้งค่า

ข้อมูลที่เกี่ยวข้อง: BadRequest (400), NotFound (404)

BadRequest (400)

นั่นหมายความว่า: API ตัวเชื่อมต่อปฏิเสธคําขอเนื่องจากข้อมูลป้อนเข้ามีรูปแบบไม่ถูกต้องหรือไม่ถูกต้อง

สาเหตุทั่วไป:

  • การส่งเขตข้อมูลที่มีชนิดข้อมูลที่ไม่ถูกต้อง (สตริงแทนที่จะเป็นตัวเลข หรือกลับกัน)
  • เขตข้อมูลที่จําเป็นหายไปจากเนื้อความของคําขอ
  • อักขระในชื่อแฟ้มหรือชื่อเรื่องของรายการไม่ถูกต้อง
  • เกินขีดจํากัดความยาวของเขตข้อมูล (ตัวอย่างเช่น SharePoint ข้อความบรรทัดเดียว = 255 chars)

วิธีการแก้ไข:

  1. เปิดการดําเนินการที่ล้มเหลวในประวัติการเรียกใช้และดูส่วน อินพุต เพื่อแสดงสิ่งที่ถูกส่ง
  2. เปรียบเทียบข้อมูลป้อนเข้ากับ Schema ที่คาดไว้ของ API (ตรวจสอบเอกสารประกอบตัวเชื่อมต่อ)
  3. ฆ่าเชื้อผู้ใช้ที่ป้อนเข้าด้วย replace() เพื่อตัดอักขระที่ไม่ถูกต้องก่อนที่จะส่งผ่านไปยังการดําเนินการ
  4. ใช้ substring() หรือ take() เพื่อตัดทอนค่าที่ยาวให้เท่ากับความยาวสูงสุดของเขตข้อมูล

ข้อมูลที่เกี่ยวข้อง: ActionFailed, ContentConversionFailed

NotFound (404)

นั่นหมายความว่า: ไม่มีทรัพยากรที่การดําเนินการพยายามเข้าถึงอยู่

สาเหตุทั่วไป:

  • SharePoint list ไลบรารี หรือไซต์ถูกเปลี่ยนชื่อหรือลบ
  • โฟลเดอร์ Outlook หรือแชนเนลของ Teams ถูกเอาออก
  • โฟลว์อ้างอิง ID แบบฮาร์ดโค้ดสําหรับทรัพยากรที่ไม่มีอยู่อีกต่อไป
  • ตารางหรือแถว Dataverse ถูกลบโดยกระบวนการอื่น

วิธีการแก้ไข:

  1. ตรวจสอบว่ายังมีทรัพยากรอยู่ในบริการเป้าหมาย
  2. ถ้ามีการเปลี่ยนชื่อ ให้อัปเดตการดําเนินการเพื่อใช้ชื่อหรือ ID ใหม่
  3. แทนที่ hardcoded ID ด้วยการค้นหาแบบไดนามิกที่เป็นไปได้ (ตัวอย่างเช่น "รับรายการ" ด้วยตัวกรองแทน "รับรายการ" ด้วย ID แบบคงที่)
  4. เพิ่มการจัดการข้อผิดพลาด: กําหนดค่าการดําเนินการถัดไปเป็น เรียกใช้ หลังจาก>ล้มเหลว และจัดการ 404 อย่างนุ่มนวล

ข้อมูลที่เกี่ยวข้อง: การดําเนินการ Failed

ข้อผิดพลาดทริกเกอร์

ข้อผิดพลาดเหล่านี้เกี่ยวข้องกับทริกเกอร์โฟลว์ที่ไม่ทํางานหรือล้มเหลว

TriggerConditionNotMet

นั่นหมายความว่า: ทริกเกอร์ประเมินเงื่อนไขและกําหนดว่าเหตุการณ์ไม่ควรเริ่มการเรียกใช้โฟลว์

สาเหตุทั่วไป:

  • นิพจน์เงื่อนไขทริกเกอร์จะประเมินเป็น false เสมอ (ข้อผิดพลาดทางตรรกะ)
  • เงื่อนไขทริกเกอร์อ้างอิงเขตข้อมูลที่ไม่มีอยู่ในส่วนข้อมูลทริกเกอร์
  • เหตุการณ์เกิดขึ้นแต่ข้อมูลไม่ตรงกับตัวกรอง (ตัวอย่างเช่น "เมื่อรายการถูกสร้างขึ้น" ที่มีเงื่อนไขใน Status แต่ Status เป็น blank)

วิธีการแก้ไข:

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

ข้อมูลที่เกี่ยวข้อง: ExpressionEvaluationFailed

ข้อผิดพลาดการหมดเวลาและการควบคุม

ข้อผิดพลาดเหล่านี้เกิดขึ้นเมื่อโฟลว์หรือการดําเนินการเกินขีดจํากัดเวลาหรืออัตรา

ActionTimedOut

นั่นหมายความว่า: การดําเนินการเดียวเกินการหมดเวลาที่กําหนดไว้และถูกยกเลิก

สาเหตุทั่วไป:

  • การดําเนินการ HTTP เรียกใช้ API ภายนอกช้าด้วยการหมดเวลาค่าเริ่มต้น 100 วินาที
  • "รอการอนุมัติ" ที่มีวันหมดอายุที่ผ่าน
  • การอัปโหลดไฟล์ขนาดใหญ่หรือดาวน์โหลดผ่านการเชื่อมต่อที่ช้า
  • คิวรี Dataverse ที่ส่งกลับแถวมากเกินไปโดยไม่มีการแบ่งหน้า

วิธีการแก้ไข:

  1. เปิด การตั้งค่า ของการดําเนินการและเพิ่มค่า การหมดเวลา (ระยะเวลา ISO 8601 ตัวอย่างเช่น PT5M 5 นาที)
  2. สําหรับการดําเนินการ HTTP ให้ตรวจสอบว่า API ภายนอกมีรูปแบบการดําเนินการที่ใช้เวลานานหรือไม่ (แบบสํารวจด้วยลองใหม่อีกครั้ง)
  3. สําหรับ Dataverse ให้เพิ่ม $filter และ $top ลดชุดผลลัพธ์
  4. สําหรับการอนุมัติ ให้ตั้งค่าวันหมดอายุที่เหมาะสมและเพิ่มสาขาที่หมดเวลาเพื่อจัดการการไม่ตอบกลับ

ข้อมูลที่เกี่ยวข้อง: OperationTimedOut

OperationTimedOut

นั่นหมายความว่า: การดําเนินการที่ใช้เวลานาน (การรอ webhook การอนุมัติ การโพลล์ HTTP) เกินเวลารอสูงสุด

สาเหตุทั่วไป:

  • การดําเนินการ HTTP webhook รอการเรียกกลับที่ไม่เคยมา
  • การดําเนินการอนุมัติโดยไม่มีวันหมดอายุ ซึ่งถึงขีดจํากัดการเรียกใช้โฟลว์ 30 วัน
  • การดําเนินการ "หน่วงเวลาจนถึง" ที่ตั้งค่าเป็นวันที่เกินขีดจํากัดระยะเวลาการเรียกใช้ 30 วัน
  • การบริการภายนอกล้มลง และไม่ได้ส่งการตอบกลับที่คาดไว้

วิธีการแก้ไข:

  1. ตั้งค่าการหมดเวลาที่ชัดเจนบน webhook และการดําเนินการอนุมัติเสมอ
  2. สําหรับการดําเนินการ HTTP webhook ใช้สาขาหมดเวลากับ กําหนดค่าการเรียกใช้หลังจาก>หมดเวลาแล้ว
  3. แบ่งการรอเป็นเซกเมนต์ที่สั้นลงโดยใช้รอบด้วยการตรวจสอบรายวัน
  4. สําหรับขีดจํากัดการเรียกใช้ 30 วัน ออกแบบกระบวนการที่ใช้เวลานานใหม่เพื่อใช้รูปแบบ "ถ่ายทอด" : สิ้นสุดการเรียกใช้ปัจจุบันและเริ่มต้นใหม่ด้วยสถานะที่ส่งผ่าน Dataverse หรือไฟล์

สำคัญ

โฟลว์ระบบคลาวด์มีระยะเวลาการทํางานสูงสุด 30 วัน สําหรับกระบวนการที่ใช้เวลานานกว่า แยกเป็นการเรียกใช้โฟลว์หลายโฟลว์ด้วยสถานะที่ใช้ร่วมกัน

ข้อมูลที่เกี่ยวข้อง: ActionTimedOut

WorkflowRunActionRepetitionQuotaExceeded

นั่นหมายความว่า: การวนรอบนําไปใช้กับแต่ละรอบเกินจํานวนการวนซ้ําสูงสุด (ค่าเริ่มต้น: 100,000 สําหรับ Premium, 5,000 สําหรับโปรไฟล์ประสิทธิภาพ)

สาเหตุทั่วไป:

  • การประมวลผล SharePoint list ขนาดใหญ่หรือตาราง Dataverse โดยไม่มีการกรองก่อน
  • รอบซ้อน Apply to Each ที่คูณจํานวนการทําซ้ํา (100 x 100 = 10,000)
  • การดําเนินการ Get items ที่ส่งกลับแถวทั้งหมดแทนชุดย่อยที่กรองแล้ว

วิธีการแก้ไข:

  1. เพิ่มตัวกรองไปยังการดําเนินการแหล่งข้อมูลเพื่อลดจํานวนรายการก่อนการวนรอบ
  2. ใช้ OData $filter และ $top บนการดําเนินการ รับรายการ แทนการกรองภายในการวนรอบ
  3. สําหรับชุดข้อมูลขนาดใหญ่ ให้รวมงานในหลายโฟลว์ที่ทํางานโดยใช้โทเค็นการแบ่งหน้าหรือช่วงวันที่
  4. พิจารณาการใช้ Select หรือ Filter array การดําเนินการ แทนที่จะ Apply to Each เป็นเมื่อคุณจําเป็นต้องแปลงหรือกรองข้อมูลเท่านั้น

ข้อมูลที่เกี่ยวข้อง: FlowRunQuotaExceeded

FlowRunQuotaExceeded

นั่นหมายความว่า: โฟลว์หรือผู้เช่าเกินขีดจํากัดการดําเนินการรายวัน

สาเหตุทั่วไป:

  • สิทธิ์การใช้งานที่เริ่มต้น/ฟรี: 6,000 การดําเนินการต่อวันต่อผู้ใช้
  • สิทธิการใช้งานแบบพรีเมียม: 40,000 การดําเนินการต่อวันต่อผู้ใช้
  • สิทธิ์การใช้งานกระบวนการ: 250,000 การดําเนินการต่อวันต่อโฟลว์
  • โฟลว์แบบวนรอบหนักซึ่งใช้การดําเนินการหลายพันรายการต่อการเรียกใช้

วิธีการแก้ไข:

  1. ตรวจสอบการใช้งานปัจจุบันใน ศูนย์การจัดการแพลตฟอร์ม Power>Analytics>Power Automate
  2. ปรับโฟลว์ให้เหมาะสมเพื่อใช้การดําเนินการที่น้อยลง: แทนที่ นําไปใช้กับแต่ละรายการ ด้วย เลือก/กรอง, การดําเนินการเป็นชุดงาน, ลดความถี่ของการโพลล์
  3. อัปเกรดระดับสิทธิ์การใช้งานหากปริมาณงานต้องการความจุเพิ่มเติมอย่างถูกต้อง
  4. กระจายปริมาณงานในหลายโฟลว์ หรือกําหนดเวลาการเรียกใช้ปริมาณสูงในช่วงนอกช่วงเวลาที่ใช้

Note

เรียนรู้เพิ่มเติมเกี่ยวกับขีดจํากัดการดําเนินการรายวันตามระดับสิทธิ์การใช้งานใน Power Automate ขีดจํากัดและการกําหนดค่า

ข้อมูลที่เกี่ยวข้อง: WorkflowRunActionRepetitionQuotaExceeded, DirectApiAuthorizationRequirizationRequired

ข้อผิดพลาดในการให้สิทธิ์การใช้งาน

DirectApiAuthorizationRequirization

นั่นหมายความว่า: โฟลว์ใช้ตัวเชื่อมต่อแบบพรีเมียมแต่ผู้โทรไม่มีสิทธิการใช้งานแบบพรีเมียม

สาเหตุทั่วไป:

  • โฟลว์ที่มีตัวเชื่อมต่อแบบพรีเมียม (HTTP, SQL Server, Dataverse, ตัวเชื่อมต่อแบบกําหนดเอง) จะเรียกใช้โดยผู้ใช้บนสิทธิ์การใช้งาน Microsoft 365 ข้อมูลเริ่มต้น
  • เจ้าของโฟลว์มี premium แต่ผู้ใช้ที่ทริกเกอร์ไม่ (มีความสําคัญต่อสิทธิ์การใช้งานของผู้โทร ไม่ใช่ของเจ้าของ)
  • เจ้าของโฟลว์ที่กําหนดเวลาไว้สูญเสียสิทธิการใช้งานแบบพรีเมียมของเจ้าของโฟลว์
  • โฟลว์ในบริบทถูกแยกออกจาก Power App ทําให้อยู่นอกบริบท

วิธีการแก้ไข:

  1. ระบุว่าตัวเชื่อมต่อใดต้องการแบบพรีเมียม ข้อความแสดงข้อผิดพลาดมักจะตั้งชื่อข้อความนั้น
  2. กําหนดสิทธิ์การใช้งาน Power Automate Premium ให้กับผู้ใช้ที่ทริกเกอร์หรือเรียกใช้โฟลว์
  3. สําหรับโฟลว์ตามกําหนดเวลาหรืออัตโนมัติ ตรวจสอบให้แน่ใจว่าเจ้าของโฟลว์มีสิทธิการใช้งานแบบพรีเมียม
  4. พิจารณาว่าสิทธิ์การใช้งานกระบวนการ (ต่อโฟลว์) มีประสิทธิภาพมากกว่าสําหรับโฟลว์ที่ใช้ร่วมกันในปริมาณสูงหรือไม่

ข้อมูลที่เกี่ยวข้อง: ห้ามใช้งาน (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 การหมดเวลา ตั้งค่าการหมดเวลาที่ชัดเจน ใช้รูปแบบการถ่ายทอด

หมายเหตุ: ผู้เขียนจัดทําบทความนี้ด้วยความช่วยเหลือจาก AI เรียนรู้เพิ่มเติม