C# 在内存中创建文本文件,然后将其上载到Azure Blob存储

C# 在内存中创建文本文件,然后将其上载到Azure Blob存储,c#,azure,azure-storage-blobs,memorystream,C#,Azure,Azure Storage Blobs,Memorystream,现在,我正在一个库的帮助下在内存中创建一个拼花文件,并将其上载到Azure Blob存储中。不过,这次我想要更简单的东西,即只需要一个文本文件,将DateTime.UtcNow写入内存中的文本文件并将其上载到Azure 到目前为止,我的代码是: BlobServiceClient BlobServiceClient = new BlobServiceClient("my_code"); var containerClient = BlobServiceClient.GetBl

现在,我正在一个库的帮助下在内存中创建一个拼花文件,并将其上载到Azure Blob存储中。不过,这次我想要更简单的东西,即只需要一个文本文件,将
DateTime.UtcNow
写入内存中的文本文件并将其上载到Azure

到目前为止,我的代码是:

BlobServiceClient BlobServiceClient = new BlobServiceClient("my_code");
var containerClient = BlobServiceClient.GetBlobContainerClient("my_container");
var blobClient = containerClient.GetBlockBlobClient($"path/to/specific/directory/file.parquet");

using (var outStream = await blobClient.OpenWriteAsync(true).ConfigureAwait(false))
using (ChoParquetWriter parser = new ChoParquetWriter(outStream))
{
   parser.Write(data_list);
}
如果不使用
ChoParquetWriter
作为我正在使用的库的一部分,如何在内存中创建文本文件

更新:找到了解决方案

using (var outStream = await blobClient4.OpenWriteAsync(true).ConfigureAwait(false))
            { 
                byte[] bytes = null;
                using (var ms = new MemoryStream())
                {
                    TextWriter tw = new StreamWriter(ms);
                    tw.Write(RequestTime.ToString());
                    tw.Flush();
                    ms.Position = 0;
                    bytes = ms.ToArray();
                    ms.WriteTo(outStream);
                }
            }

有没有更简单的方法?如果不是这样的话,这没关系,我可能过于简单化了,但是你创建的文本编写器不能直接写出来进行扩展吗?只需确保将文本编写器也包装在using语句中,以便它正确刷新…

如果直接使用
UploadAsync
Upload
方法,则更简单一些

例如:

        //other code
        var blobClient4 = containerClient.GetBlockBlobClient("xxx");

        using (var ms = new MemoryStream())
        {
            StreamWriter writer = new StreamWriter(ms);
            writer.Write(RequestTime.ToString());
            writer.Flush();
            ms.Position = 0;
            await blobClient4.UploadAsync(ms);                
        }

试试
System.IO.TextWriter
这很好,谢谢!