В Azure Function я пытаюсь объединить некоторые данные и записать их в таблицу.Получение атрибутов «Сущность уже существует» для записи в Azure Table Storage (с функцией Azure)
У меня есть запрос, который суммирует данные:
var query = recs
.GroupBy(r => new { r.Category, r.Account, r.Record })
.Select(r => new ts_webhitaggregate_account
{
PartitionKey = partition, // Constant
RowKey = $"{r.Key.Category}:{r.Key.Account}:{r.Key.Record}", // Group By
rawDate = intervaldate, // Constant
epochDate = intervalepoch, // Constant
Category = r.Key.Category, // Group By
Account = r.Key.Account, // Group By
Record = r.Key.Record, // Group By
Hits = r.Count(), // Aggregate
Users = r.Select(t => t.User).Distinct().Count(), // Aggregate
Devices = r.Select(t => t.Device).Distinct().Count() // Aggregate
});
Я затем попытаться передать эти записи в ICollector связанной таблице
foreach (ts_webhitaggregate_account a in query.ToList())
{
webhitsAggAccount.Add(a);
}
Я часто встречая «Объект уже существует» ошибка например:
Исключение было выбрано целью вызова. Microsoft.WindowsAzure.Storage: 82: указанный объект уже существует.
Если бы я писал сопоставимую инструкцию SQL для C#, я бы не ожидал, что дубликаты составного ключа будут возможны, поскольку каждое записываемое значение - это ключ, константа или агрегация. У меня также нет ранее существовавших данных в таблице, которые могут вызвать конфликт.
Что я делаю неправильно, чтобы генерировать дубликаты в моем запросе?
Извините Jambor, но это будет означать, что писать намного больше кода, поскольку Azure Functions не могут использовать этот метод из коробки afaik. Я ожидаю, что возникнет проблема с моим кодом, генерирующим элементы, которые нужно вставить, - похоже, что он должен генерировать только уникальные строки, которые нужно вставить мне –
Кроме того, fwiw ... я написал пакетный метод InsertOrReplace и имел те же ошибки поэтому я решил, что проблема заключается в том, как я генерирую вещи, которые нужно вставить –