Как удалить объекты таблицы Azure на основе результатов запроса диапазона

Я пытаюсь удалить объекты таблицы Azure на основе моего фильтра диапазона. Все, что я пытаюсь здесь, это удалить старые записи.

Я смог получить правильные энтиты на основе моего условия поиска по диапазону.

TableQuery<Tables> rangeQuery = new TableQuery<Tables>().Where(
    TableQuery.CombineFilters(
    TableQuery.GenerateFilterCondition("PartitionKey", QueryComparisons.Equal, "DeleteTablename"),
    TableOperators.And,
    TableQuery.GenerateFilterConditionForDate("StartedOn", QueryComparisons.LessThan, DateTime.Now.Add(new TimeSpan(0, -60, 0)))));

    foreach(Tables rows in logTable.ExecuteQuery(rangeQuery)) {
        log.Info($"{rows.PartitionKey}, {rows.RowKey}\t{rows.FinishedOn}\t{rows.Timestamp}");
    }
    //till here it works
    TableResult retrievedResult = logTable.ExecuteQuery(rangeQuery);
    Tables deleteEntity = (Tables)retrievedResult.Result;

я получаю следующие ошибки

Не удалось неявно преобразовать тип 'System.Collections.Generic.IEnumerable' в 'Microsoft.WindowsAzure.Storage.Table.TableResult' timertest

Не удается преобразовать тип "Microsoft.WindowsAzure.Storage.Table.TableResult" в "timertest.Tables" timertest

Заметки:

  • timertest мой namespace
  • Tables это класс, который расширяется TableEntity класс, чтобы добавить мои собственные пропорции в лазурной таблице.

Есть идеи, чтобы удалить объекты на основе диапазона?

1 ответ

Есть идеи, чтобы удалить объекты на основе диапазона?

В таблицах Azure для массового удаления необходимо использовать Entity Group Transaction и добавьте объекты, которые вы хотите удалить в пакете, а затем выполните эту пакетную операцию. Для объектов, которые будут обрабатываться (создавать, обновлять или удалять) в пакете:

  • Они должны быть одинаковыми PartitionKey значение.
  • В пакет может быть включено до 100 объектов.
  • Максимальный размер полезной нагрузки пакета может составлять 4 МБ.

Обратите внимание, что даже если в групповой транзакции происходит сбой одного объекта, вся транзакция откатывается.

Подробнее о пакетной транзакции сущностей можно узнать здесь: https://docs.microsoft.com/en-us/rest/api/storageservices/performing-entity-group-transactions.

Другие вопросы по тегам