You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将现有Azure Cache for Redis实例更新为区域性实例?CLI报错求替代方案

解决Azure Cache for Redis从单区域改为区域冗余的AZ CLI替代方案

你遇到的问题是因为zones属于Redis缓存的基础部署属性,az redis update命令不支持直接修改这类涉及架构变更的配置,而Azure门户通过底层API/ARM模板操作支持该变更。以下是两种可行的替代方法:

方法一:使用Azure REST API执行更新

  1. 获取Azure访问令牌:
az account get-access-token --query accessToken -o tsv
  1. 构造PUT请求,调用Redis资源管理API:
    • 请求URL:https://management.azure.com/subscriptions/{你的订阅ID}/resourceGroups/{资源组名}/providers/Microsoft.Cache/Redis/{Redis实例名}?api-version=2023-08-01
    • 请求头:添加Authorization: Bearer {上一步获取的令牌}和Content-Type: application/json
    • 请求体:复制现有Redis实例的完整配置(可通过az redis show --name "$REDIS_CACHE" --resource-group "$RESOURCE_GROUP"获取),修改zonalAllocationPolicy为Automatic,按需添加zones配置。示例简化请求体:
{
  "location": "eastus",
  "properties": {
    "sku": {
      "name": "Premium",
      "family": "P",
      "capacity": 2
    },
    "zonalAllocationPolicy": "Automatic",
    // 保留其他原有属性如redisConfiguration、enableNonSslPort等
  },
  "tags": {}
}
  1. 用curl或API工具发送请求完成更新。

方法二:导出ARM模板并重新部署

  1. 导出现有Redis实例的ARM模板:
    • 登录Azure门户,进入目标Redis缓存页面,选择「自动化」>「导出模板」,下载包含template.json和parameters.json的压缩包。
  2. 编辑template.json:
    • 在resources数组的Microsoft.Cache/Redis资源节点中,添加或修改zonalAllocationPolicy字段为"Automatic",如需指定可用区,添加"zones": ["1", "2"](根据区域支持的可用区调整)。
  3. 使用AZ CLI重新部署模板:
az deployment group create \
  --resource-group $RESOURCE_GROUP \
  --template-file ./template.json \
  --parameters ./parameters.json \
  --mode Incremental

--mode Incremental参数确保仅修改指定配置,保留其他现有属性。

注意:操作前建议备份Redis缓存数据,避免架构变更过程中出现意外。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 22:06:15