在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-there-any-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-dindings
[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