【问题标题】:best technique for saving CSV logs in Azure Blob在 Azure Blob 中保存 CSV 日志的最佳技术
【发布时间】:2013-07-30 19:59:58
【问题描述】:

我正在将注册条目记录到 CSV 文件中(因为稍后需要它来包含整个月的所有注册),方法是将条目附加到该文件的最后一行,例如:

using (StreamWriter w = new StreamWriter(currentPath, true))
{
    w.WriteLine(fileRow);
}

但在 Windows Azure 中,我无法访问物理文件,因此我需要使用 Blob 存储。

如何对 Blob 块执行相同的操作?

我试过了:

CloudBlobContainer blobContainer = blobStorage.GetContainerReference(containerName);
cloudBlob = blobContainer.GetBlobReferenceFromServer(blobNameLogs);

MemoryStream oldText = new MemoryStream();
cloudBlob.DownloadToStream(oldText);

// record to save
string fileRow = row.ToFileRow();

// append
MemoryStream newText = new MemoryStream();
using (StreamWriter w = new StreamWriter(newText, System.Text.Encoding.Default))
{
    w.WriteLine(oldText);
    w.WriteLine(fileRow);

    // set blob data
    cloudBlob.UploadFromStream(newText);
}

但是在此操作之后我一直在文件上收到0 bytes ...我错过了什么?将文本附加到现有文件是否有更简单的操作?

【问题讨论】:

    标签: c# azure-storage azure-blob-storage


    【解决方案1】:

    我建议您使用 BlobStream 的工作对象,如下例所示。

     _container.CreateIfNotExist();
    
      CloudBlob inputBlob = _container.GetBlobReference(outputBlobUri);
      CloudBlob outputBlob = _container.GetBlobReference(inputBlobUri);
    
      using (BlobStream input = inputBlob.OpenRead())
      using (BlobStream output = outputBlob.OpenWrite())
      {
        ProcessImage(input, output);
    
     output.Commit();
     outputBlob.Properties.ContentType = "image/jpeg";
     outputBlob.SetProperties();
    
     FunnyAppRepository<Post> postRepository = new FunnyAppRepository<Post>();
     Post post = postRepository.Find(partitionKey, rowkey);
    
     post.PostImage = outputBlobUri;
     post.State = true;
     postRepository.Update(post);
     postRepository.SubmitChange();
    
     _queue.DeleteMessage(message);
    }
    

    【讨论】:

      猜你喜欢
      • 2016-05-11
      • 2021-06-27
      • 2018-06-23
      • 2023-04-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多