我正在使用 Bing Ads API 为使用来自 nuget 的 Microsoft.BingAds.SDK 的客户创建在线广告性能仪表板。
现在一切正常,但在读取数据并将其显示给用户之前,我必须将 csv 报告下载到文件系统:
var t = await manager.DownloadFileAsync(
new ReportingDownloadParameters()
{
ReportRequest = request,
OverwriteResultFile = true,
ResultFileDirectory = @"C:\Temp",
ResultFileName = @"GL15.csv",
});
var csvConfig = new CsvHelper.Configuration.CsvConfiguration()
{
Delimiter = ",",
HasHeaderRecord = true,
Quote = '"'
};
var returnList = new List<BingDailyCampaignPerformance>();
using (var textReader = System.IO.File.OpenText(@"C:\Temp\GL15.csv"))
using (var csvReader = new CsvHelper.CsvReader(textReader, csvConfig))
{
while (csvReader.Read())
{
returnList.Add(GetRow(csvReader));
}
}
这似乎效率不高 - 为什么我不能以某种方式将 csv 下载到内存中,并跳过文件系统?
有没有可能做到这一点?
使用 BulkServiceManager 有一个选项可以直接通过临时内存读取实体,但目前 ReportingServiceManager 仅支持文件下载,如您所述。与批量下载体验类似,我们正在跟踪“ReportFileReader”功能请求,尽管还没有任何确定的 ETA。请随时添加到Bing Ads 功能建议中。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句