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

如何通过CLI一次性向Cosmos DB添加多个来自不同VNet的子网

Cosmos DB 批量添加跨VNet子网的实现方案

az cosmosdb network-rule add 命令单次仅支持添加1个子网规则,你看到的--ids参数为Cosmos DB自身的资源ID参数,无法用于传入子网列表实现批量添加,可通过以下两种方案实现需求:

方案1:使用 az cosmosdb update 一次性配置所有子网规则(最快)

该命令的--virtual-network-rules参数支持传入空格分隔的多个子网完整资源ID,可一次性完成所有规则配置。

注意:该操作会直接覆盖Cosmos DB当前已有的所有虚拟网络规则,若需保留原有规则,请先查询现有规则后一并填入参数列表。

命令示例:

az cosmosdb update --name <你的Cosmos DB名称> --resource-group <资源组名称> --subscription <订阅ID> --virtual-network-rules "<子网1完整ID>" "<子网2完整ID>" "<子网3完整ID>" --ignore-missing-endpoint true

方案2:循环执行network-rule add命令(适用仅追加新规则场景)

如果需要保留Cosmos DB现有虚拟网络规则,仅追加新的跨VNet子网,可通过脚本循环批量执行添加命令:

Bash 脚本示例

# 填入所有需要添加的子网完整资源ID
SUBNET_IDS=(
    "/subscriptions/xxx/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1"
    "/subscriptions/xxx/resourceGroups/rg2/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/subnet2"
    "/subscriptions/xxx/resourceGroups/rg3/providers/Microsoft.Network/virtualNetworks/vnet3/subnets/subnet3"
)

for subnet_id in "${SUBNET_IDS[@]}"
do
    az cosmosdb network-rule add \
        --subnet $subnet_id \
        --ignore-missing-endpoint true \
        --name <你的Cosmos DB名称> \
        --resource-group <资源组名称> \
        --subscription <订阅ID>
done

PowerShell 脚本示例

# 填入所有需要添加的子网完整资源ID
$subnetIds = @(
    "/subscriptions/xxx/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1",
    "/subscriptions/xxx/resourceGroups/rg2/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/subnet2"
)

foreach ($subnetId in $subnetIds) {
    az cosmosdb network-rule add `
        --subnet $subnetId `
        --ignore-missing-endpoint true `
        --name <你的Cosmos DB名称> `
        --resource-group <资源组名称> `
        --subscription <订阅ID>
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 05:36:03