You need to enable JavaScript to run this app. 能否通过ARM模板将Cosmos DB容器从手动吞吐量切换为自动缩放模式
优惠活动
大模型
产品
解决方案
定价
更多

能否通过ARM模板将Cosmos DB容器从手动吞吐量切换为自动缩放模式

Cosmos DB ARM模板切换吞吐量模式的实现说明

完全可以通过ARM模板将Cosmos DB容器的吞吐量从手动模式切换为自动缩放模式,你之前的配置部署后仍为手动模式,核心是存在三处配置问题。

原有配置的问题根源

  • 字段配置冲突:Cosmos DB的throughputSettings资源中,手动吞吐对应的throughput字段和自动缩放对应的autoscaleSettings字段是严格互斥的。你在同一个resource块中同时写入了两个字段,ARM部署时会优先识别手动模式的配置,直接忽略自动缩放的相关设置,最终自然保持手动模式。
  • 配置值不符合规范:你设置的自动缩放最大吞吐量为800000 TU,远超出绝大多数Azure订阅的默认配额上限,即使去掉冲突字段,该值也会触发部署校验失败。
  • API版本兼容缺陷:你使用的2020-03-01是较早的API版本,对吞吐模式跨切换的校验逻辑不完善,容易出现配置写入不生效的异常。

正确的配置写法

要实现模式切换,需要按以下规则调整配置:

  • 彻底删除resource块中所有和手动吞吐相关的throughput字段,仅保留自动缩放的配置项
  • 按Cosmos DB的规则设置maxThroughput值:必须是100的整数倍,自动缩放模式最小可设置的最大RU值为4000(对应自动范围1000~4000 RU/s),数值不能超出当前订阅的配额限制
  • 将apiVersion升级到较新的稳定版本,例如2023-04-15

可直接参考的正确配置示例:

{
  "name": "你的数据库名称/你的容器名称/default",
  "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/throughputSettings",
  "apiVersion": "2023-04-15",
  "properties": {
    "resource": {
      "autoscaleSettings": {
        "maxThroughput": "4000"
      }
    }
  }
}

切换的注意事项

  • 部署上述配置会直接覆盖容器原有的手动吞吐配置,整个切换过程不会中断容器的正常服务,仅会改变RU的计费逻辑,从固定容量的手动计费变为自动范围计费
  • 如果后续需要从自动缩放切回手动模式,反向操作即可:删除autoscaleSettings字段,添加合法的throughput字段值完成部署即可。

内容的提问来源于stack exchange,提问作者TamKap

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.27 11:54:02