Σε λειτουργίες Azure, κάθε λειτουργία πρέπει να έχει ακριβώς μία σκανδάλη. Ωστόσο, μπορείτε να αναμίξετε διαφορετικούς τύπους δεσμών (είσοδος και έξοδος) με μία μόνο σκανδάλη για να χειριστείτε διάφορα σενάρια. Για παράδειγμα, μπορείτε να έχετε μια σκανδάλη HTTP με δεσμεύσεις για να διαβάσετε από την αποθήκευση BLOB και να γράψετε στο Azure Cosmos DB [4] [5].
Ενώ δεν μπορείτε να χρησιμοποιήσετε πολλαπλές ενεργοποιήσεις μέσα σε μία μόνο λειτουργία, είναι κοινό να έχετε πολλαπλές λειτουργίες μέσα σε μία εφαρμογή Azure Function, το καθένα με τον δικό του τύπο σκανδάλης. Αυτή η προσέγγιση σάς επιτρέπει να διαχειρίζεστε αποτελεσματικά διαφορετικά σκανδάλη και λειτουργίες [2] [4].
Για παράδειγμα, μπορείτε να έχετε μία λειτουργία με σκανδάλη HTTP, ένα άλλο με σκανδάλη χρονοδιακόπτη και άλλη με σκανδάλη ουράς, όλα μέσα στην ίδια εφαρμογή λειτουργίας. Αυτή η ρύθμιση είναι αποδεκτή και ευθυγραμμίζεται με τις βέλτιστες πρακτικές, εφόσον εξετάζετε τις συνέπειες της ανταλλαγής πόρων και των επιδόσεων [2] [3].
Επομένως, ενώ δεν μπορείτε να αναμίξετε διαφορετικούς τύπους ενεργοποίησης σε μία μόνο λειτουργία Azure, μπορείτε να διαχειριστείτε αποτελεσματικά πολλαπλές λειτουργίες με διαφορετικές ενεργοποιήσεις μέσα σε μία εφαρμογή ενιαίας λειτουργίας.
Αναφορές:
[1] https://stackoverflow.com/questions/41695474/multiple-triggers-for-an-azure-bunction
[2] https://stackoverflow.com/questions/62447621/best-practice-with-azure-bunctions-itplementation-
[3] https://learn.microsoft.com/en-us/answers/questions/1350927/is-there-any-limit-for-an-azurefunctions-drigger
[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-bunctions-apps-at-the-thame-time-1ka4