AzureDevOps CosmosDB enableTTL 没有默认使用 runbook 或模板

AzureDevOps CosmosDB enableTTL without default using runbook or template

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

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

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

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

Microsoft documentation 中挖掘后,我找到了这个密钥 table 和示例:

+-------------+--------------------------------------------------------------------+
| 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就可以实现我的意图,如上面table所示,在容器中设置一个TTL -1,这将被启用将使用文档中的 TTL 值。

使用 Get-Help New-CosmosDbCollection -full 我可以找到参数 -DefaultTimeToLive,这就是我要使用的参数,因为它看起来在 ARM Template