gpt4 book ai didi

azure-cosmosdb - 有没有办法使用CosmosDb的TTL功能但始终保留至少n条记录

转载 作者:行者123 更新时间:2023-12-02 01:58:58 26 4
gpt4 key购买 nike

我有正在写入 Cosmos 的设备的诊断数据,一些设备每天写入 1000 条消息,而其他设备只写入几条。我总是希望有诊断数据,无论何时添加,但我不想永远保留所有数据。添加 90 天的 TTL 对于非常活跃的设备效果很好,它们在每天发送诊断数据时将始终拥有诊断数据。不那么活跃的设备将在 TTL 之后丢失其诊断日志。

有没有办法使用 CosmosDb 的 TTL 功能但始终保留至少 n 条记录?

我正在寻找类似只保留最近 90 天 (TTL) 的记录,但始终保留至少 100 个文档,无论上次更新的时间戳如何。

最佳答案

没有内置的基于数量的 TTL 过滤器:您要么具有基于集合的 TTL,要么具有集合+项目 TTL(基于项目的 TTL 覆盖集合中的默认设置)。

您需要自己创建一些东西,在其中标记符合删除条件的文档(也许基于时间段?),然后根据项目计数、符合删除条件的项目的年龄运行定期清理例程,等等

或者,您可以以不同的方式处理低容量和高容量设备,将高容量设备遥测写入基于 TTL 的集合,将低容量设备遥测写入无 TTL 集合(或类似的内容)。 ..

tl;博士,这不是内置的东西。

关于azure-cosmosdb - 有没有办法使用CosmosDb的TTL功能但始终保留至少n条记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69254833/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com