Данные повреждаются при загрузке в Azure BlobC#

Место общения программистов C#
Anonymous
Данные повреждаются при загрузке в Azure Blob

Сообщение Anonymous »

У меня есть несколько файлов в Azure Blob, и после обработки больших двоичных объектов я перемещаю их в другой контейнер.
Файл, который я получаю в папке назначения, является ненужным. Что я делаю не так?
Исходный файл имеет расширение «.log.gz».
[Function("Function1")]
public async Task Run([TimerTrigger("0 */5 * * * *", RunOnStartup = true)] TimerInfo myTimer)
{
//Reading the config file. For local it is local.settings.json
var config = new ConfigurationBuilder()
.AddJsonFile("local.settings.json", optional: true, reloadOnChange: true)
.AddEnvironmentVariables()
.Build();

string blbobConnectionString = config["AzureWebJobsStorage"];
BlobContainerClient blobContainerClient = new BlobContainerClient(blbobConnectionString, "abc");
BlobContainerClient destinationBlobContainerClient = new BlobContainerClient(blbobConnectionString, "xyz");

var blobs = blobContainerClient.GetBlobsAsync();
await foreach (var blob in blobs)
{
_logger.LogInformation($"Blob Name: {blob.Name}");
BlobClient blobClient = blobContainerClient.GetBlobClient(blob.Name);

using (Stream blobStream = await blobClient.OpenReadAsync())
using (GZipStream decompressionStream = new GZipStream(blobStream, CompressionMode.Decompress))
using (StreamReader reader = new StreamReader(decompressionStream, Encoding.Default))
{
string line;
while ((line = await reader.ReadLineAsync()) != null)
{
// Process the line here
Console.WriteLine(line);
}

BlobClient destinationBlobClient = destinationBlobContainerClient.GetBlobClient(blob.Name);
blobStream.Position = 0;
await destinationBlobClient.UploadAsync(blobStream);
}
blobClient.DeleteAsync(DeleteSnapshotsOption.None);
}
}


Подробнее здесь: https://stackoverflow.com/questions/789 ... azure-blob

Вернуться в «C#»