【发布时间】:2020-12-03 07:34:40
【问题描述】:
我正在使用 ChoETL 和 ChoETL.Parquet 库来创建基于其他一些数据的 parquet 文件。我可以在本地创建文件。
using (ChoParquetWriter parser = new ChoParquetWriter($"..\\..\\..\\parquet_files\\{club}_events.parquet"))
{
parser.Write(events);
}
在这段代码 sn-p 中,事件是包含字符串的对象列表。它们将被转换为镶木地板数据。
到目前为止,我已经编写了要上传到 Azure 的代码,但它需要一个本地文件作为输入。
BlobServiceClient BlobServiceClient = new BlobServiceClient("REDACTED");
var containerClient = BlobServiceClient.GetBlobContainerClient("base-test");
BlobClient blobClient = containerClient.GetBlobClient($"Base/{RequestTime.Year}/{RequestTime.Month}/{RequestTime.Day}/{RequestTime.Hour}/{RequestTime.Minute}/events.parquet");
using FileStream uploadFileStream = File.OpenRead("..\\..\\..\\events.parquet");
await blobClient.UploadAsync(uploadFileStream, true);
uploadFileStream.Close();
我需要在内存中创建它,然后将其上传到 Azure blob 存储。我怎样才能做到这一点?澄清一下:我需要上传镶木地板文件。
【问题讨论】:
-
fail不多说了。您是否收到编译或运行时错误? -
这只是我尝试过的一条试探线。现在我给它镶木地板文件的路径,它可以工作。将在 OP 中添加更多信息
-
您是否希望通过 MemoryStream 上传内容?
-
是的....但我不认为我可以用这个库做到这一点,因为你需要给它一个路径