2017-02-13 8 views
1

У меня есть лазурная таблица, используемая для сбора метрических данных, и я хочу установить некоторый период хранения, например: если период хранения равен 7, тогда таблица должна содержать последние 7-дневные данные.Как установить период хранения для лазурных таблиц хранения?

Имеется ли какой-либо вариант.

ответ

4

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

Имеется ли какой-либо вариант.

На сегодняшний день такой вещи нет для Azure Tables (или для Blobs и файлов). Вам нужно будет что-то ронять самостоятельно. Одним из возможных решений было бы написать фоновое задание (либо как WebJob, либо Azure Function), которое выполняется периодически, и находит объекты, созданные до «x» дней (7 в вашем примере), и удалите эти объекты.

0

В хранилище Azure нет способа указать автоархив. Обычно я использую таблицы хранения, создавая ежемесячные таблицы хранения. Данные вставляются в соответствии со своей меткой времени в соответствующие таблицы «Orders201701» или «Orders201612» и т. Д. Затем очистите старые таблицы, когда они содержат данные, которые больше не актуальны.

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

Если вы имеете дело с родным диагностическим хранилищем Azure, вам не повезло. Однако вы можете просто удалить эти таблицы время от времени, и Azure заново их воссоздает.

Имейте в виду, что вручную удалить данные в таблицах - это довольно трудоемкая задача - сначала необходимо загрузить ключи раздела/строки строк, а затем выполнить команды удаления в цикле до 100 пакетных строк одновременно. Довольно неэффективно.