Azure Cosmos数据库集合TTL为 - 开(无默认)通过C#代码

时间:2018-05-02 14:03:52

标签: c# .net azure azure-storage azure-cosmosdb

我正在寻找一个选项,将我的Cosmos DB集合TLL设置为ON但没有默认值。

这里我想控制文档级别的到期时间。我看到如果我在集合级别设置默认时间,它将覆盖文档级别中提到的时间。 如果我错了,请纠正我。

基本上,我可以在数据资源管理器中设置它,但不知道如何通过C#代码设置。

从此https://docs.microsoft.com/en-us/azure/cosmos-db/time-to-live

我看到我可以设置-1(过期关闭)或n为期满的秒数。

enter image description here

3 个答案:

答案 0 :(得分:3)

所以只是为了澄清。

  • 当DefaultTimeToLive为null时,您的生存时间为Off
  • 当DefaultTimeToLive为-1时,您的生存时间设置为On (No default)
  • 当DefaultTimeToLive具有任何其他Int值(0除外)时,您的生存时间设置为On

答案 1 :(得分:0)

创建文档时,可以向其添加TTL。

Setting TTL on a documen

答案 2 :(得分:0)

阐明/扩大@Nick的答案 这是Microsoft文档的链接,我还包括了文档TTL的信息,因为同时确认可能会很好

https://docs.microsoft.com/en-us/azure/cosmos-db/time-to-live

https://docs.microsoft.com/en-us/dotnet/api/microsoft.azure.documents.document.timetolive?view=azure-dotnet#remarks

集合的默认TTL

  • 如果丢失(或设置为null),则不会自动删除文档。
  • 如果存在且值设置为“ -1” =无限–文档不 默认过期
  • 如果存在且值设置为某个数字(“ n”)–文档 在上次修改后“ n”秒后过期

文档的TTL:

仅当父集合具有DefaultTTL时,属性才适用。

  • 覆盖父集合的DefaultTTL值。

注意: 在查询集合的DefaultTimeToLive之后,将评估文档的最终生存时间策略。

https://docs.microsoft.com/en-us/dotnet/api/microsoft.azure.documents.documentcollection.defaulttimetolive?view=azure-dotnet#Microsoft_Azure_Documents_DocumentCollection_DefaultTimeToLive