SQS from AWS has the concept where you have to explicitly say you've successfully processed the queue message before it's completely removed from the queue (I believe it's just "hidden" for a period of time, and comes back if you don't mark it as successfully processed).
How do azure functions behave when pulling messages off storage queues and there is an exception thrown during execution of the azure function? Does the message show up again in the queue?