Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Is the Azure Put Blob operation atomic?

The documentation for Azure's Put Blob REST API operation tells us that it is possible to upload a block blob up to 64 MB with a single request.

I'm wondering whether such an operation is atomic. In particular I need to know whether the following assumptions are true or false.

  1. If two or more clients concurrently to put a particular non-existing blob using this API specifying If-None-Match: *, then at most one of them will succeed.

  2. A blob put using this API will never be partially exposed. It will either not exist or exist with the entire content that was put (<64MB) including metadata.

Can anyone confirm or refute these assumptions?

like image 431
Mårten Wikström Avatar asked Oct 07 '15 00:10

Mårten Wikström


Video Answer


1 Answers

I have received confirmation directly from a Microsoft support technician that both of these assumptions are true:

  1. If two or more clients concurrently to put a particular non-existing blob using this API specifying If-None-Match: *, then at most one of them will succeed.

  2. A blob put using this API will never be partially exposed. It will either not exist or exist with the entire content that was put (<64MB) including metadata.

like image 102
Mårten Wikström Avatar answered Oct 17 '22 12:10

Mårten Wikström