That's how I did a timed function for a Django project we were hosting in Azure anyway.
But that is not the popular usecase for celery. Often you want "some code" (that you likely already have written) to be executed async. Sure, you can create a public interface for "some code" then write a record, that the serverless function is looking for, that then calls back to that interface (but is it a web interface???? then you have a problem where if the job takes too long to complete, what about http timeouts ... ) and now you're really creating a big circle for something that should be simple: execute some code outside of the request (send an email, hit an api, whatever).
Serverless functions really shouldn't contain much logic either, because it's too complicated to test.
Well yes, and you run into other problems as well (now if your process dies or you deploy or something you have to be careful to not kill running jobs).
How much of your logic is in the azure function?
I guess "convert this image" is ok, since it is kind of a "pure function" sorta.