public override async Task ConsumeAsync(int index) { var filename = $"table-{index}.csv"; var outputPath = Path.Join(Destination, filename); var converter = new TableEntityConverter(); using (var tw = File.CreateText(outputPath)) using (var csv = new CsvWriter(tw)) { csv.WriteField("PartitionKey"); csv.WriteField("RowKey"); csv.WriteField("Timestamp"); csv.WriteField("Data"); await csv.NextRecordAsync(); foreach (var row in PubSub.GetConsumingEnumerable()) { csv.WriteField(row.PartitionKey); csv.WriteField(row.RowKey); csv.WriteField(row.Timestamp.UtcDateTime.ToString("O")); var data = JsonConvert.SerializeObject( row.Properties, converter ); csv.WriteField(data); await csv.NextRecordAsync(); } } }