I have a Function app that inserts some data into a Azure table. Is it possible that I will get a race condition and end up inserting data with the same ID twice, or does Azure make the Insert operations under some table level lock that would ensure I can't insert the same thing twice? The duplicate fields would be the partition key and row key.
In my case, I need to insert if row does not already exists, and read if it exists. In my Function app, I try to read before writing, but it is possible that another instance does a write op with same key in the meantime. If inserts are serialized, I could then fall back to reading when Insert command fails.