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();
                    }
                }
        }