gpt4 book ai didi

azure - 为 azure cosmos 二头肌设置 defaultTTL 为 null 值

转载 作者:行者123 更新时间:2023-12-05 04:46:25 25 4
gpt4 key购买 nike

您好,我尝试关闭 Azure cosmos 的 TTL。我知道可以通过在代码中不包含 defaultTtl 来关闭它。不过,我有条件部署,我有一个循环检查租户名称以创建 cosmos 容器,如果它等于“int999”,则将 defaultTtl 设置为 604800,否则关闭 TTL。我尝试将其设置为 null 但管道运行失败,它有一个非常一般的错误消息“至少一项资源部署操作失败。请列出部署操作以了解详细信息”

enter image description here

这是我的二头肌代码

resource containers 'Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers@2021-06-15' = [for i in range(0, length(tenants)): {
name: '${databases[i].name}/messages'
properties: {
resource: {
id: 'messages'
partitionKey: {
paths: [
'/organisationId'
]
}
defaultTtl: tenants[i] == 'int999' ? 604800 : null
}
}
}]

我觉得很奇怪,因为在azure文档中,defaultTTL应该接受空值https://learn.microsoft.com/en-us/azure/cosmos-db/time-to-live 。然而,当我在这里将其设置为 null 时,我似乎遇到了语法错误。任何人都可以帮忙吗?谢谢

注意:请注意,将 defaultTTL 设置为 -1 对于我的情况来说是 Not Acceptable 解决方案。我们想完全关闭 TTL。

最佳答案

我也尝试了 nulljson('null') 但没有成功。

这里您需要根据条件有条件地添加 defaultTtl 属性。此二头肌文件定义了一些默认属性,并根据需要添加 defaultTtl:

param cosmosdbAccountName string
param databaseName string
param tenant string = 'int999'

// reference to the cosmos db account
resource cosmosdbAccount 'Microsoft.DocumentDB/databaseAccounts@2021-06-15' existing = {
name: cosmosdbAccountName
}

// reference to the cosmos db database
resource database 'Microsoft.DocumentDB/databaseAccounts/sqlDatabases@2021-06-15' existing = {
name: databaseName
parent: cosmosdbAccount
}

// Create default properties for the container
var defaultResource = {
id: 'messages'
partitionKey: {
paths: [
'/organisationId'
]
}
}

// Create the container
resource container 'Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers@2021-06-15' = {
name: 'messages'
parent: database
properties: {
// Add the default ttl if needed
resource: union(defaultResource, tenant == 'int999' ? {
defaultTtl: 604800
} : {})
}
}

关于azure - 为 azure cosmos 二头肌设置 defaultTTL 为 null 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68796160/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com