У меня есть метод, который принимает каталог больших двоичных объектов и поток текста в памяти, который необходимо читать построчно и добавлять в Azure AppendBlob. Моя учетная запись хранения - это универсальная версия 2 (стандартный / горячий уровень) с включенным Data Lake Gen 2. В настоящее время я не могу добавлять к BLOB-объектам из-за ошибки 409 Conflict, хотя другие пользователи не пишут в этот контейнер.
Ниже приведена сокращенная (для простоты) версия моего кода с той же проблемой: Обратите внимание, что код написан для .net 4.6:
/* the following libraries are in use
using Microsoft.WindowsAzure.Storage;
using Microsoft.WindowsAzure.Storage.Blob;
*/
static void WriteCSV(
Stream csvStream,
CloudBlobContainer tgtContaine // this is a Gen 2 container
)
{
csvStream.Position = 0;
using (StreamReader sr = new StreamReader(csvStream))
{
string csvFileName = "test-append-blob" + $@"_{DateTime.Now.ToString("yyyy-MM-ddTHHmmss")}.csv";
CloudAppendBlob blobCSVFile = tgtContaine.GetAppendBlobReference("iso/dwh/" + csvFileName); // need to create this in this directory
if (!blobCSVFile.Exists()) blobCSVFile.CreateOrReplace(); // at this point I can see the empty file being created
while (sr.Peek() >= 0)
{
string csvLine = sr.ReadLine();
// some additional logic ommited for brevity
blobCSVFile.AppendText(csvLine); // 409 conflict occures here !!!
}
}
}
Есть несколько причин, по которым я использую добавление большого двоичного объекта и пишу построчно, одна из которых - потенциальная возможность для большого содержимого потока и связанных с этим проблем с памятью.
Не могли бы вы подсказать мне, как правильно это сделать? и почему здесь может возникнуть конфликт 409, если никакие другие процессоры или сеансы не используют этот контейнер / каталог?
Пожалуйста, дайте мне знать, если мне понадобится дополнительная информация.
заранее спасибо
1 cmd,Exception ex)\r\n at Microsoft.WindowsAzure.Storage.Blob.CloudAppendBlob.<AppendBlockImpl>b__76(RESTCommand
1 cmd, HttpWebResponse, соответственно, Exception ex, OperationContext ctx) \ r \ n - person rarpal   schedule 06.10.2020WindowsAzure.Storage
nuget до последней версии. - person krishg   schedule 07.10.2020