ในฟังก์ชั่น Azure แต่ละฟังก์ชั่นจะต้องมีทริกเกอร์หนึ่งรายการ อย่างไรก็ตามคุณสามารถผสมการผูกประเภทต่าง ๆ (อินพุตและเอาต์พุต) กับทริกเกอร์เดียวเพื่อจัดการกับสถานการณ์ต่างๆ ตัวอย่างเช่นคุณสามารถมีทริกเกอร์ HTTP ที่มีการผูกเพื่ออ่านจากที่เก็บข้อมูล Blob และเขียนไปยัง Azure Cosmos DB [4] [5]
ในขณะที่คุณไม่สามารถใช้ทริกเกอร์หลายตัวภายในฟังก์ชั่นเดียว แต่ก็เป็นเรื่องปกติที่จะมีหลายฟังก์ชั่นภายในแอพฟังก์ชัน Azure เดียวแต่ละรายการมีประเภททริกเกอร์ของตัวเอง วิธีการนี้ช่วยให้คุณจัดการทริกเกอร์และฟังก์ชันต่าง ๆ ได้อย่างมีประสิทธิภาพ [2] [4]
ตัวอย่างเช่นคุณสามารถมีหนึ่งฟังก์ชั่นที่มีทริกเกอร์ HTTP อีกอย่างหนึ่งที่มีทริกเกอร์ตัวจับเวลาและอีกรายการหนึ่งที่มีทริกเกอร์คิวทั้งหมดอยู่ในแอพฟังก์ชันเดียวกัน การตั้งค่านี้เป็นที่ยอมรับและสอดคล้องกับแนวทางปฏิบัติที่ดีที่สุดตราบใดที่คุณพิจารณาการแบ่งปันทรัพยากรและผลกระทบด้านประสิทธิภาพ [2] [3]
ดังนั้นในขณะที่คุณไม่สามารถผสมประเภททริกเกอร์ที่แตกต่างกันในฟังก์ชัน Azure เดียวคุณสามารถจัดการฟังก์ชั่นหลายอย่างได้อย่างมีประสิทธิภาพด้วยทริกเกอร์ที่แตกต่างกันภายในแอพฟังก์ชันเดียว
การอ้างอิง:
[1] https://stackoverflow.com/questions/41695474/multiple-triggers-for-an-azure-function
[2] https://stackoverflow.com/questions/62447621/best-practice-with-azure-functions-implementation-and-trigger
[3] https://learn.microsoft.com/en-us/answers/questions/1350927/is-there-any-limit-for-an-azurefunctions-trigger
[4] https://learn.microsoft.com/en-us/azure/azure-functions/functions-triggers-bindings
[5] https://turbo360.com/blog/azure-functions-triggers-and-bindings
[6] https://www.youtube.com/watch?v=zifxKub7Cly
[7] https://www.youtube.com/watch?v=WV_I-JGBGYQ
[8] https://docs.azure.cn/en-us/azure-functions/functions-best-practices
[9] https://dev.to/azure/debugging-multiple-azure-functions-apps-at-the-same-time-1ka4