我实现了以下代码以将文本上传到Azure块blob:
CloudStorageAccount storageAccount = ...
CloudBlobClient blobClient = ...
CloudBlobContainer container = container.CreateIfNotExists();
CloudBlockBlob blockBlob = container.GetBlockBlobReference("myblob");
blockBlob.UploadText(blob);
我会定期从UploadText()操作中获得以下异常:
远程服务器返回错误:(400)错误请求。在 System.Net.HttpWebRequest.GetResponse()... RequestID:27e93ddb-0001-0011-2113-0966db002000 RequestDate:10月17日星期六 2015 19:38:47 GMT StatusMessage:指定的阻止列表无效。 错误码:InvalidBlockList
我理解在上传blob时发送正确排序的块ID列表并具有一致的块ID长度的重要性但是鉴于UploadText隐藏了这些细节,我不会认为除非存在错误,否则可能会发生阻止列表问题框架。显然,在下面的内容中,UploadText()调用REST API并处理块,但同样,这些都是隐藏的。
我上传的文字介于1kB到15MB之间,并且是UTF-8编码的。