使用Azure CLI通过bash创建托管实例

时间:2019-02-28 22:11:55

标签: bash azure azure-devops

我目前正在创建一个bash脚本来自动化Azure管理的SQL实例。这是我当前的脚本:

export admin=<admin>
export password=<password>

az network vnet create \
  --name <name> \
  --resource-group <group-name> \
  --subnet-name <subnet-name>

az sql mi create -n <mi-name> -u $admin -p $password \
            --resource-group <group> -l "eastus" \
            --vnet-name <vnet-name> --subnet <rs-subnet> \

我遇到以下错误

部署失败。相关编号:b3695d70-9175-4796-8280-e6c773e76213。 。 (https://go.microsoft.com/fwlink/?linkid=871071

当您转到页面时,它说配置现有的虚拟网络,但是它们提供了Powershell脚本,如果这是问题,我想使用bash。有人可以帮我将脚本转换为bash吗?

如果还有其他问题,请告诉我。

谢谢!

1 个答案:

答案 0 :(得分:0)

根据az sql mi create的{​​{3}},您需要提供允许访问Azure Sql托管实例的子网的名称或ID。如果提供了子网名称,则必须提供--vnet-name

类似这样的东西:

az sql mi create -g $rg -n $miname -l  $LOCATION -i -u $admin  -p $password --vnet-name $vnet --subnet $snet

您还需要确保已在VNet中创建了路由表。看到 documentation

az network vnet create \
  --name $vnet \
  --resource-group $rg \
  --subnet-name $snet

az network route-table create -g $rg  -n MyRouteTable

az network route-table route create -g $rg --route-table-name MyRouteTable -n MiRoute \
   --next-hop-type Internet --address-prefix 0.0.0.0/0

az network vnet subnet update \
  --vnet-name $vnet  \
  --name $snet \
  --resource-group $rg \
  --route-table MyRouteTable