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

问题描述 投票:0回答:1

我目前正在创建一个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吗?

如果问题是别的,请告诉我。

谢谢!

bash azure azure-devops
1个回答
1
投票

根据documentationaz 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
© www.soinside.com 2019 - 2024. All rights reserved.