Azure blob service, randomly 404-not found errors
<p>We have a web app which processes external callbacks. To isolate our app from the external service, we use an azure blob to store the callback data (.json) and put a message to Azure Service bus for a processing service to pick up later. 
The following code is used to write the data to blob storage:</p>

<pre><code>        var storageAccount = CloudStorageAccount.Parse(CloudConfigurationManager.GetSetting("MyStorage"));
        var blobClient = storageAccount.CreateCloudBlobClient();
        var container = blobClient.GetContainerReference("containername");
        var dataFileName = Guid.NewGuid().ToString();
        var blockBlob = container.GetBlockBlobReference(dataFileName);
        blockBlob.UploadText(data);
        blockBlob.Properties.ContentType = "application/json";
        blockBlob.SetProperties();

        var connectionString = CloudConfigurationManager.GetSetting("serviceBusCS");
        var queueName = "MyQueue";
        var client = QueueClient.CreateFromConnectionString(connectionString, queueName);

        var payload = new MyCustomMessage {
            Id = dataFileName
        };
        var message = new BrokeredMessage(payload);
        client.Send(message);
</code></pre>

<p>On the processing side, we have a web job reading the messages <em>one at a time</em> and retrieving the data as follow:</p>

<pre><code>            var storageAccount = CloudStorageAccount.Parse("MyCS");
            var blobClient = storageAccount.CreateCloudBlobClient();
            var container = blobClient.GetContainerReference("containername");
            var blockBlob = container.GetBlockBlobReference(message.Id);
            if (blockBlob == null) {
                return;
            }
            if (!blockBlob.Exists()) {
                return; ==&gt; FAILS HERE
            } 
           // Process the message here...
           // Once the processing is done, delete the blob  
</code></pre>

<p>This design works well most of the time but we get a 404-NotFound from now and then (marked with <code>FAILED HERE</code> above).</p>

<p><strong>QUESTION</strong></p>

<p>The only way this code can fail is by having two messages with the same file name i.e: the same GUID which is nearly impossible or am I missing something? 
Any idea why the blob data can't be found? </p>

<p><strong>EDIT 1</strong>
Searching for the missing blob from the Azure portal shows that the blob is actually not there.
Shouldn't <code>blockBlob.UploadText(data);</code> throw if it fails to write data to the blob container?</p>

<p><strong>EDIT 2</strong></p>

<p>Thanks to Jason for indicating where to look. We crawled our logs and found that the blob is getting written successfully. The web job kicks off and processes the message but one minute later, exactly one minute later we see the web job kicking off trying to process the very same message again and it won't find the blob which is expected as the first run cleared the blob and deleted it. </p>