1

我需要编辑使用模板在 Azure 中创建 cosmosDb 的现有 powershell Runbook。

我需要在没有默认 TTL 值的情况下启用 TTL,在我发现到目前为止的示例中始终存在一个值,这意味着该值用于删除过期文档。

如何在不设置默认值的情况下仅启用 TTL?

我的参考:https ://docs.microsoft.com/en-us/azure/cosmos-db/manage-with-powershell#create-container-unique-key-ttl

4

1 回答 1

1

在挖掘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中似乎没有选项可以做到这一点

于 2019-07-12T07:47:22.547 回答