Skip to content

Commit b7b2756

Browse files
Merge pull request #1 from GuillaumeVadeBe/feature/parallel-foreach
Use Parallel.ForEach to go over all table entities
2 parents 3fc3f32 + b86c27d commit b7b2756

File tree

1 file changed

+4
-7
lines changed

1 file changed

+4
-7
lines changed

Extensions/AzureTableAPI/Cosmos.DataTransfer.AzureTableAPIExtension/AzureTableAPIDataSinkExtension.cs

+4-7
Original file line numberDiff line numberDiff line change
@@ -23,14 +23,11 @@ public async Task WriteAsync(IAsyncEnumerable<IDataItem> dataItems, IConfigurati
2323

2424
await tableClient.CreateIfNotExistsAsync();
2525

26-
var createTasks = new List<Task>();
27-
await foreach(var item in dataItems.WithCancellation(cancellationToken))
26+
await Parallel.ForEachAsync(dataItems, cancellationToken, async (item, token) =>
2827
{
29-
var entity = item.ToTableEntity(settings.PartitionKeyFieldName, settings.RowKeyFieldName);
30-
createTasks.Add(tableClient.AddEntityAsync(entity));
31-
}
32-
33-
await Task.WhenAll(createTasks);
28+
var entity = item.ToTableEntity(settings.PartitionKeyFieldName, settings.RowKeyFieldName);
29+
await tableClient.AddEntityAsync(entity, token);
30+
});
3431
}
3532

3633
public IEnumerable<IDataExtensionSettings> GetSettings()

0 commit comments

Comments
 (0)