Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Теперь, когда вы создали виртуальную машину, можно получить подробные сведения об этом. Обычно используется show
команда для получения сведений из ресурса.
az vm show --name $vmName --resource-group $resourceGroup
Виртуальная машина имеет множество свойств, которые могут быть сложными для визуального анализа. Возвращенный JSON содержит сведения о проверке подлинности, хранилище сетевого интерфейса и многое другое. В нем содержатся идентификаторы объектов Azure для ресурсов, к которым подключена виртуальная машина. Идентификаторы объектов позволяют напрямую получать доступ к этим ресурсам, чтобы получить дополнительные сведения о конфигурации и возможностях виртуальной машины.
Для извлечения идентификатора объекта используется аргумент --query
. Запросы записываются на языке запросов JMESPath. Начните с получения идентификатора объекта контроллера сетевого интерфейса .
az vm show --name $vmName \
--resource-group $resourceGroup \
--query 'networkProfile.networkInterfaces[].id' \
--output tsv
Здесь многое происходит, просто добавив запрос. Каждая часть ссылается на ключ в выходном формате JSON или является оператором JMESPath.
-
networkProfile
— это ключ верхнего уровня JSON, который имеетnetworkInterfaces
в качестве подключа. Если значение JSON является словарем, на его ключи ссылаются с помощью ключа родителя и оператора.
. - Значение
networkInterfaces
является массивом, поэтому оно развёрнуто с помощью оператора[]
. Этот оператор выполняет оставшуюся часть запроса для каждого элемента массива. В этом случае он получаетid
значение каждого элемента массива.
Формат выходных данных tsv
(значения, разделенные табуляциями) гарантированно включает только данные результатов и пробелы, состоящие из вкладок и новых линий. Так как возвращаемое значение является одной строкой без дополнительных данных, его безопасно назначить непосредственно переменной оболочки.
Дополнительные сведения о запросе выходных данных Azure CLI см. в статье "Как запросить выходные данные команды Azure CLI с помощью запроса JMESPath"
Можно теперь назначить идентификатор объекта сетевого адаптера переменной оболочки.
nicId=$(az vm show \
-n $vmName \
-g $resourceGroup \
--query 'networkProfile.networkInterfaces[].id' \
-o tsv)
В этом примере также демонстрируется использование коротких аргументов. Вы можете использовать -g
вместо --resource-group
, -n
вместо --name
и -o
вместо --output
.