В настоящее время я работаю над созданием сценария bash для автоматизации экземпляров SQL, управляемых Azure. Это мой текущий скрипт:
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?
Если проблема в чем-то другом, пожалуйста, дайте мне знать.
Спасибо!
См. статью Создание Управляемого экземпляра Azure SQL с помощью Azure CLI.
Спасибо! Я очень ценю вашу помощь
@ mshah49rs Вы можете принять ответ, если это полезно, это поможет большему количеству сообществ, у которых есть такая же проблема.
Я принял ответ, извините за это





В соответствии с нашим документация для az sql mi create вам необходимо указать имя или идентификатор подсети, которая разрешает доступ к управляемому экземпляру Azure Sql. Если указано имя подсети, необходимо указать --vnet-name.
Что-то вроде этого:
az sql mi create -g $rg -n $miname -l $LOCATION -i -u $admin -p $password --vnet-name $vnet --subnet $snet
Вам также необходимо убедиться, что вы создали таблицу маршрутов в виртуальной сети. Видеть 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
Я не уверен, что такое <rs-subnet>. Когда вы создаете виртуальную сеть, вы вызываете --subnet-name <subnet-name>, но похоже, что вы используете другое имя подсети в mi create.