0

我正在使用 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 下载到内存中,然后跳过文件系统?

有可能这样做吗?

4

1 回答 1

0

使用 BulkServiceManager 可以选择通过临时内存直接读取实体,但目前 ReportingServiceManager 仅支持文件下载,如您所述。与批量下载体验类似,我们正在跟踪“ReportFileReader”功能请求,尽管还没有任何确定的 ETA。请随时添加到Bing 广告功能建议中。

于 2018-05-14T16:19:49.060 回答