如何实现 Azure Cosmos DB 项从创建时开始的 TTL?
How do I achieve Azure Cosmos DB item TTL from creation time?
我们想在我们的数据库中短期保留某些文档。创建文档时,修改频率无关紧要,但应该在 X 时间单位后删除。
我们查看了 time to live in Cosmos DB,但它似乎设置了上次编辑而非创建的 TTL。
我们正在考虑的一种方法是每次根据文档的当前时间与上次更新时间进行更新时减少 TTL。由于时钟偏差导致的错误是 hacky 和不准确的。
是否有 better/accurate 方法来实现创建时间的到期?我们的下一个方法是设置一个将触发文档删除的服务总线事件。即使这样也比准确的 TTL 更努力。
每次更新记录时,您都可以从当前 TTL 和 _ts 字段中派生出新的 TTL。所以先获取item,推导出新的TTL,并用新的(更小的)TTL更新item。
我们想在我们的数据库中短期保留某些文档。创建文档时,修改频率无关紧要,但应该在 X 时间单位后删除。
我们查看了 time to live in Cosmos DB,但它似乎设置了上次编辑而非创建的 TTL。
我们正在考虑的一种方法是每次根据文档的当前时间与上次更新时间进行更新时减少 TTL。由于时钟偏差导致的错误是 hacky 和不准确的。
是否有 better/accurate 方法来实现创建时间的到期?我们的下一个方法是设置一个将触发文档删除的服务总线事件。即使这样也比准确的 TTL 更努力。
每次更新记录时,您都可以从当前 TTL 和 _ts 字段中派生出新的 TTL。所以先获取item,推导出新的TTL,并用新的(更小的)TTL更新item。