Как очистить dnszone от azure SQL Строка подключения управляемого экземпляра - PullRequest
0 голосов
/ 06 января 2020

Требование : для автоматизации развертывания azure sql mi и подключения к нему веб-приложения. Каждый раз, когда я создаю sql mi, он генерирует случайную "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

Get-AzSqlInstance -ResourceGroupName {rg-name} -Name {mi-name}
az sql mi list -g $rgp | grep "fullyQualifiedDomainName"

Я ценю любую помощь для захвата значения dnszone как это:

$dnszone="value"

Спасибо

Ответы [ 2 ]

1 голос
/ 07 января 2020

Попробуйте что-то вроде ниже:

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

PS Azure:\> $dnszone.DnsZone
91d79b7f688b
0 голосов
/ 06 января 2020

наконец, после работы в течение нескольких часов, есть решение и подумал поделиться им.

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$//")
...