Azure table storage error: "Unexpected response code for operation : 99"
azure, azure-table-storage, exception
Solution
This un-descriptive error means that Azure bulk operations (at least in this case) takes up to 100 elements. Limit your batch and you'll be good.
I ended up using something like this:
public void Insert(IEnumerable<T> entities)
{
foreach (var chunk in entities.Chunk(100))
{
InsertMaxLimitElements(chunk);
}
}
private void InsertMaxLimitElements(IEnumerable<T> chunk)
{
var insert = new TableBatchOperation();
foreach (var entity in chunk)
{
insert.Insert(entity);
}
cloudTable.ExecuteBatch(insert);
}
The Chunk extension method was copied from this answer:
public static IEnumerable<IEnumerable<T>> Chunk<T>(this IEnumerable<T> source, int chunksize)
{
while (source.Any())
{
yield return source.Take(chunksize);
source = source.Skip(chunksize);
}
}
Problem
I got this error when I executed the following code: ``` var insert = new TableBatchOperation(); foreach (var entity in entities) { insert.Insert(entity); } cloudTable.ExecuteBatch(insert); ``` Where the entities collection contained 512 elements. The Azure SDK through a StorageException: ``` "Unexpected response code for operation : 99" ``` What does this error mean, and how can I solve this?