Linux 如何从azure SQL托管实例连接字符串grep dnszone

Linux 如何从azure SQL托管实例连接字符串grep dnszone,linux,azure,azure-sql-managed-instance,az,Linux,Azure,Azure Sql Managed Instance,Az,要求:自动化azure sql mi的部署并将web应用程序连接到它。 每次我创建SQLMI时,它都会生成一个随机dnszone,我无法在文件中捕获它,我需要使用bash命令创建一个连接字符串。以下是我使用的示例脚本: $instanceName=sqlmi-poc $dnszone=65r4897a552e <this i need to store> jdbc:sqlserver://$instanceName.$dnszone.database.windows.net:1433

要求:自动化azure sql mi的部署并将web应用程序连接到它。 每次我创建SQLMI时,它都会生成一个随机dnszone,我无法在文件中捕获它,我需要使用bash命令创建一个连接字符串。以下是我使用的示例脚本:

$instanceName=sqlmi-poc
$dnszone=65r4897a552e <this i need to store>
jdbc:sqlserver://$instanceName.$dnszone.database.windows.net:1433;encrypt=true;trustServerCertificate=false;hostNameInCertificate=*.$dnszone.database.windows.net;loginTimeout=30;
我非常感谢您提供以下帮助,以获取dnszone价值:

$dnszone="value"

谢谢

最后,在工作了几个小时后,终于有了解决方案,并想与大家分享

x="az sql mi list -g $rgp | grep "fullyQualifiedDomainName";"

chksqlmi=$(eval "$x")

y=$(echo $chksqlmi | tr -d '"')

prefix="fullyQualifiedDomainName: $instanceName."

suffix=".database.windows.net,"

dnszone=$(echo $y | sed -e "s/^$prefix//" -e "s/$suffix$//")

请尝试以下操作:

PS Azure:\> $dnszone =Get-AzSqlInstance -ResourceGroupName "rgouthindia" -Name "myinstancesouthindia*"

PS Azure:\> $dnszone.DnsZone
91d79b7f688b
PS Azure:\> $dnszone =Get-AzSqlInstance -ResourceGroupName "rgouthindia" -Name "myinstancesouthindia*"

PS Azure:\> $dnszone.DnsZone
91d79b7f688b