Я пытаюсь прочитать содержимое из Azure BlockBlob, применить какое-то преобразование и записать содержимое обратно в тот же самый BLOB-объект в функции Azure.
Ниже приведен код для обратной записи содержимого. Это бежит успех. Однако, когда я проверяю содержимое в последнем блобе, оно содержит только часть данных. например, в контенте должно быть 28 строк данных, но контент содержит только 26 с половиной строк, кажется, что часть контента теряется после вызова «UploadFromStreamAsyn c». Я вижу потерянные примеры в Интернете, но они все о загрузке совершенно новых файлов. Я что-то упускаю в коде при обновлении blob?
protected async Task WriteItemsToBlog(string blobName, List<T> items)
{
var cloudStorageAccount =
new CloudStorageAccount("MyStorageCredentials", "MyAccountName", null, true);
var cloudBlobClient =
cloudStorageAccount.CreateCloudBlobClient();
var cloudBlobContainer =
cloudBlobClient.GetContainerReference("MyContainerPath");
var cloudBlockBlob =
cloudBlobContainer.GetBlockBlobReference(blobName);
var ms = new MemoryStream();
using (var writer = new StreamWriter(ms))
using (var csv = new CsvWriter(writer, CultureInfo.InvariantCulture))
{
csv.WriteRecords(items);
ms.Position = 0;
cloudBlockBlob.Properties.ContentType = "text/plain";
await cloudBlockBlob.UploadFromStreamAsync(ms, ms.Length);
}
}