我目前正在创建一个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> \
我收到以下错误
部署失败。相关ID:b3695d70-9175-4796-8280-e6c773e76213。 。 (https://go.microsoft.com/fwlink/?linkid=871071)
当你转到页面时,它说要配置现有的虚拟网络,但它们提供了一个powershell脚本,如果这是问题,我想使用bash。有人可以帮助我将脚本转换为bash吗?
如果问题是别的,请告诉我。
谢谢!
根据documentation的az sql mi create
,您需要提供允许访问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中创建路由表。见https://blogs.msdn.microsoft.com/sqlserverstorageengine/2018/03/14/how-to-configure-network-for-azure-sql-managed-instance/
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