I think an Azure function is the correct approach as it has a trigger for this specific case. I'm not sure what you mean by having a single function as you can any number of classes and they can have any # of methods in an Azure Function. What gets deployed is the class library all that code is contained in so you can have anything in the class library you need. In order for Azure to see the "function" it has to be attributed. But that function can create instances of any types and call their methods like normal. For simple functions it may do it all inside the single function but most likely the "function" is just a wrapper around the class that does the actual work based upon the data it gets.
Refer to this for more information.