我正在寻找一种通过ARM模板为cosmosdb数据库或容器设置吞吐量(请求单位)的 initial 值的方法,并将相同的ARM模板用于后续部署。
这里是一个示例:
{
"type": "Microsoft.DocumentDB/databaseAccounts",
"apiVersion": "2016-03-31",
"name": "DBACCOUNTNAME",
"location": "Canada Central",
"kind": "GlobalDocumentDB",
"properties": {
"consistencyPolicy": {
"defaultConsistencyLevel": "BoundedStaleness",
"maxStalenessPrefix": 100,
"maxIntervalInSeconds": 5
},
"databaseAccountOfferType": "Standard",
"locations": [ { "locationName": "Canada Central" } ],
"enableAutomaticFailover": false,
"isVirtualNetworkFilterEnabled": false
}
},
{
"type": "Microsoft.DocumentDB/databaseAccounts/apis/databases",
"apiVersion": "2016-03-31",
"name": "DBACCOUNTNAME/sql/DBNAME",
"dependsOn": [
"[resourceId('Microsoft.DocumentDB/databaseAccounts/', 'DBACCOUNTNAME')]"
],
"properties": {
"resource": {
"id": "DBNAME"
}
}
},
{
"type": "Microsoft.DocumentDB/databaseAccounts/apis/databases/containers",
"apiVersion": "2016-03-31",
"name": "DBACCOUNTNAME/sql/DBNAME/data",
"dependsOn": [
"[resourceId('Microsoft.DocumentDB/databaseAccounts/apis/databases', 'DBACCOUNTNAME', 'sql', 'DBNAME')]"
],
"properties": {
"resource": {
"id": "data",
"partitionKey": {
"paths": [ "/id" ]
}
},
"options": { "throughput": "2000" }
}
}
如您在底部所见,在这种情况下,我们的初始吞吐量值为2000。默认值为400。
该ARM模板在以下情况下有效:
在以下情况下,不有效:
...
可以使用[reference(..)]
获取对当前吞吐量的引用。可以在不更改吞吐量的情况下将其用于后续更新,但不能用于初始创建资源。
...
如何有一个可以在这种情况下重新部署的ARM模板?
答案 0 :(得分:0)
您无能为力,因为ARM模板并不意味着要这样做,您需要将吞吐量存储在外部某个位置(或使用某种脚本进行检索)并将其作为参数传递给模板。
发生这种情况是因为cosmos RP以一种奇怪的方式处理了这些请求。通常这是可以的(但是它将使您的吞吐量恢复为模板中指定的值)。