我需要编辑使用模板在 Azure 中创建 cosmosDb 的现有 powershell Runbook。
我需要在没有默认 TTL 值的情况下启用 TTL,在我发现到目前为止的示例中始终存在一个值,这意味着该值用于删除过期文档。
如何在不设置默认值的情况下仅启用 TTL?
我需要编辑使用模板在 Azure 中创建 cosmosDb 的现有 powershell Runbook。
我需要在没有默认 TTL 值的情况下启用 TTL,在我发现到目前为止的示例中始终存在一个值,这意味着该值用于删除过期文档。
如何在不设置默认值的情况下仅启用 TTL?
在挖掘Microsoft 文档后,我发现了这个带有示例的关键表:
+-------------+--------------------------------------------------------------------+
| TTL on item | Result |
+-------------+--------------------------------------------------------------------+
| TTL on container is set to null (DefaultTimeToLive = null) |
| |
| ttl = null | TTL is disabled. The item will never expire (default). |
| ttl = -1 | TTL is disabled. The item will never expire. |
| ttl = 2000 | TTL is disabled. The item will never expire. |
| | |
+-------------+--------------------------------------------------------------------+
| TTL on container is set to -1 (DefaultTimeToLive = -1) | |
| |
| ttl = null | TTL is enabled. The item will never expire (default). |
| ttl = -1 | TTL is enabled. The item will never expire. |
| ttl = 2000 | TTL is enabled. The item will expire after 2000 seconds. |
| | |
+-------------+--------------------------------------------------------------------+
| TTL on container is set to 1000 (DefaultTimeToLive = 1000) |
| |
| ttl = null | TTL is enabled. The item will expire after 1000 seconds (default). |
| ttl = -1 | TTL is enabled. The item will never expire. |
| ttl = 2000 | TTL is enabled. The item will expire after 2000 seconds. |
+-------------+--------------------------------------------------------------------+
这不完全是指 Runbook 和模板,但如果我设置 -1 我可以实现我的意图,如上表所示,在容器中设置 TTL -1,这将启用并且文档中的 TTL 值将是用过的。
使用Get-Help New-CosmosDbCollection -full
我可以找到参数,这就是我要使用的,因为在ARM 模板-DefaultTimeToLive
中似乎没有选项可以做到这一点