Можно ли использовать приложение Azure Logic для удаления старой строки таблицы Azure? - PullRequest
2 голосов
/ 28 мая 2019

У меня есть таблица Azure, которая содержит большое количество информации журнала.Сейчас я ищу способы удаления старых записей (скажем, X дней назад).

Приложение логики Azure предоставляет функцию повторения и имеет встроенную подпрограмму для удаления объекта в таблице Azure.Звучит здорово, но я застрял очень быстро.Эта функция удаления сущности требует ключа раздела и ключа строки.Однако, поскольку я хочу удалить строки на основе поля TimeStamp, похоже, я не могу использовать этот.enter image description here

Хорошо, я попытался сначала извлечь старые записи и пройтись по каждой строке, а затем удалить их одну за другой.(скопируйте и вставьте учебное пособие )

Итак, я сначала пытаюсь создать запрос фильтра для извлечения старых записей:

@less(item()?['TimeStamp'].addDays(utcNow(), -7))

Однако Azure говорит, что мое выражение недопустимо,Итак, я думаю, что вышеприведенное выражение относится к blob, а не к лазурным таблицам ??

Кто-нибудь может дать мне какое-нибудь руководство?

1 Ответ

3 голосов
/ 29 мая 2019

В приложениях логики Get entities action action добавьте Filter Query, поэтому добавьте его и используйте выражение запроса, подобное этому Timestamp ge datetime'2019-05-20T01:32Z'. Затем удалите полученные объекты.

enter image description here

enter image description here

Вот описание Метка времени , ниже моя страница результатов.

enter image description here

Обновление: Вы можете использовать выражение addDays(utcNow(),-41) для фильтрации данных, однако вам нужно добавить '', иначе оно не будет распознано.

enter image description here

Это результат фильтрации.

enter image description here

...