Я не могу найти изображения, которыми мне поделились через галерею общих изображений. Проблема присутствует как с командлетами Az, так и с интерфейсом командной строки Az, хотя для согласованности я буду придерживаться здесь примеров PowerShell. Обратите внимание, что ссылки на общедоступные изображения, такие как опубликованные MicrosoftWindowsServer, могут быть решены, как и ожидалось.
Речь идет о двух общих галереях, обе находятся в одном арендаторе, а одна из них находится в той же подписке, в которой я выполняю запрос (фактически я являюсь создателем и сопровождающим этой галереи, я в роли участника) . Я не могу разрешить какие-либо изображения ни в одной из галерей при попытке поиска или применения изображения по издателю, предложению и артикулу... но только если это делается через API. Ниже приведен пример того, как я устанавливаю исходное изображение для ссылки:
$virtualMachine = New-AzVMConfig -VMName MyVmName -VMSize Standard_D2_v2
$virtualMachine = Set-AzVMSourceImage -VM $virtualMachine -Publisher MyCompany -Offer MyOffer -Sku MySku -Последняя версия
$ виртуальная машина
позже передается New-AzVM
и выдает следующую ошибку:
Код ошибки: Платформимаженотфаунд
Сообщение об ошибке: образ платформы «Моя компания: MyOffer: MySku: последний» недоступен. Убедитесь, что все поля в профиле хранилища указаны правильно. Дополнительные сведения о профиле хранилища см. на странице https://aka.ms/storageprofile.
ErrorTarget: ссылка на изображение
Код состояния: 404
ReasonPhrase: не найдено
Любопытно, я являюсь могу видеть изображения, когда я создаю виртуальную машину на портале и использую средство выбора изображений, чтобы показать Общие изображения.
Я могу использовать команды, предназначенные для управления общими изображениями, чтобы разрешить их, но для этого требуется заранее знать дополнительную информацию, такую как имя галереи, группу ресурсов, к которой принадлежит галерея, и поиск должен выполняться из подписка, в которой существует галерея. В конце концов, я могу успешно запросить виртуальную машину, если я использую эти дополнительные командлеты для разрешения общего идентификатора изображения, а затем вместо этого ссылаюсь на изображение по идентификатору:
Примечание: я также могу использовать аз сиг
команды для разрешения идентификатора изображения.
# Необходимо сначала подключиться к подписке Azure, в которой существуют галерея и изображение.
Connect-AzAccount — клиент GALLERY_TENANT — подписка GALLERY_SUBSCRIPTION
# Получить определение изображения, используя имя изображения, имя галереи и группу ресурсов, к которой принадлежит галерея
$sourceImageName = 'имя-определения-моего-изображения'
$imageDefinition = Get-AzGalleryImageDefinition -GalleryName MyCompany.ImageGallery -ResourceGroupName GalleryResourceGroup -Name $sourceImageName
# Подключиться обратно к арендатору и подписке, в которой я действительно хочу построить виртуальную машину
Connect-AzAccount -Tenant MY_TENANT -Subscription MY_SUBSCRIPTION
# Ссылка на исходное изображение по ID
$virtualMachine = New-AzVMConfig -VMName MyVmName -VMSize Standard_D2_v2
$virtualMachine = Set-AzVMSourceImage -VM $virtualMachine -Id $imageDefinition.Id
Это намного больше работы. Это работает, но я не ожидаю (и не должен) ожидать, что наши пользователи и инженеры должны будут включать нашу подписку, группу ресурсов и имя галереи, не говоря уже о том, чтобы переключать подписки, просто для разрешения идентификатора изображения. Мне не нужно прыгать через эти обручи в пользовательском интерфейсе для использования общих изображений, я выбираю Общие изображения в средстве выбора изображений и посмотрите, чем мне поделились.
Есть ли какая-то конфигурация, которую мне не хватает, чтобы сделать их доступными для поиска по издателю, предложению и SKU? Пользователи (включая меня), которым необходимо иметь возможность просматривать эти изображения, добавляются к роли Читатель в рассматриваемых общих галереях, и снова информация доступна в пользовательском интерфейсе. Я не могу понять, почему я не могу ссылаться на одни и те же изображения с помощью API по издателю, предложению, артикулу и версии.
Я также использовал Azure CLI (более простой в использовании в интерактивном режиме), чтобы попытаться разрешить общие образы с меньшим количеством информации, например, только с издателем или без SKU, но не получил никаких результатов:
az vm image list -p MyCompany -f MyOffer --all -o таблица
список изображений az vm -p MyCompany --all -o таблица