Как получить CSV в виде строки или потока в Bing Ads API - PullRequest
0 голосов
/ 14 мая 2018

Я использую API объявлений Bing для создания панели мониторинга эффективности рекламы в Интернете для клиента, использующего Microsoft.BingAds.SDK из nuget.

Сейчас все работает, но мне нужно загрузить отчет 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 в память и пропустить файловую систему?

Есть ли возможность сделать это?

1 Ответ

0 голосов
/ 14 мая 2018

В BulkServiceManager есть возможность читать объекты напрямую через временную память, но в настоящее время ReportingServiceManager поддерживает загрузку только файлов, как вы заметили.Как и в случае с массовой загрузкой, мы отслеживаем запрос функции «ReportFileReader», хотя пока еще нет фирмы ETA.Пожалуйста, не стесняйтесь добавлять в Предложения по рекламе на Bing .

...