Nu pot găsi imagini partajate cu mine printr-o galerie de imagini partajate. Problema este prezentă atât cu cmdlet-urile Az, cât și cu Az CLI, deși pentru coerență voi rămâne aici cu exemplele PowerShell. Rețineți că referirea la imagini disponibile public, cum ar fi cele publicate de MicrosoftWindowsServer, pot fi rezolvate conform așteptărilor.
Există două galerii partajate în cauză, ambele sunt în cadrul aceluiași chiriaș și una provine din același abonament în care rulez interogarea (care, de fapt, sunt creatorul și întreținătorul acestei galerii, sunt în rolul de Contributor) . Nu reușesc să rezolv nicio imagine din nicio galerie atunci când încerc să caut sau să aplic o imagine după editor, ofertă și cod... dar numai când fac prin API. Mai jos este un exemplu despre modul în care setez imaginea sursă să fie referită:
$virtualMachine = New-AzVMConfig -VMName MyVmName -VMSize Standard_D2_v2
$virtualMachine = Set-AzVMSourceImage -VM $virtualMachine -Publisher MyCompany -Ofer MyOffer -Sku MySku -Versiunea cea mai recentă
$virtualMachine
este trecut ulterior la Nou-AzVM
și aruncă următoarea eroare:
ErrorCode: PlatformImageNotFound
ErrorMessage: Imaginea platformei „MyCompany:MyOffer:MySku:latest” nu este disponibilă. Verificați dacă toate câmpurile din profilul de stocare sunt corecte. Pentru mai multe detalii despre informațiile despre profilul de stocare, consultați https://aka.ms/storageprofile
ErrorTarget: imageReference
Cod de stare: 404
ReasonPhrase: Nu a fost găsit
În mod curios, eu a.m pot vedea imaginile când merg să creez o VM în portal și să folosesc selectorul de imagini pentru a le afișa Imagini partajate.
Pot folosi comenzi destinate gestionării imaginilor partajate pentru a le rezolva, dar acest lucru necesită cunoașterea informațiilor suplimentare din timp, cum ar fi numele galeriei, grupul de resurse din care aparține galeria, iar căutarea trebuie efectuată din interiorul abonamentul în care există galeria. În cele din urmă, pot solicita cu succes o mașină virtuală dacă folosesc aceste cmdleturi suplimentare pentru a rezolva ID-ul imaginii partajate și apoi mă refer la imagine după ID:
Notă: pot folosi si eu az sig
comenzi pentru a rezolva și ID-ul imaginii.
# Mai întâi trebuie să vă conectați la abonamentul Azure în care există galeria și imaginea
Connect-AzAccount -Tenant GALLERY_TENANT -Abonament GALLERY_SUBSCRIPTION
# Obțineți definiția imaginii folosind numele imaginii, numele galeriei și grupul de resurse din care aparține galeria
$sourceImageName = „numele-definiție-imagine-mea”
$imageDefinition = Get-AzGalleryImageDefinition -GalleryName MyCompany.ImageGallery -ResourceGroupName galleryResourceGroup -Name $sourceImageName
# Conectați-vă înapoi la chiriaș și abonamentul în care vreau de fapt să construiesc VM
Connect-AzAccount -Tenant MY_TENANT -Abonament MY_SUBSCRIPTION
# Faceți referire la imaginea sursă după ID
$virtualMachine = New-AzVMConfig -VMName MyVmName -VMSize Standard_D2_v2
$virtualMachine = Set-AzVMSourceImage -VM $virtualMachine -Id $imageDefinition.Id
Aceasta este mult mai multă muncă. Funcționează, dar nu mă aștept (și nu ar trebui) să mă aștept ca utilizatorii și inginerii noștri să fie nevoiți să includă abonamentul, grupul de resurse și numele galeriei, darămite să schimbe abonamentele, doar pentru a rezolva ID-ul imaginii. Nu trebuie să trec prin aceste cercuri în interfața de utilizare pentru a utiliza imagini partajate, selectez Imagini partajate în selectorul de imagini și vedeți ce este distribuit cu mine.
Există vreo configurație care îmi lipsește pentru ca acestea să fie căutate după editor, ofertă și SKU? Utilizatorii (inclusiv eu) care trebuie să poată vedea aceste imagini sunt adăugați la rolul Cititor din Galeriile partajate în cauză și, din nou, informațiile sunt disponibile în UI. Nu pot înțelege de ce nu pot face referire la aceleași imagini folosind API-ul după editor, ofertă, sku și versiune.
De asemenea, am folosit Azure CLI (mai ușor de utilizat interactiv) pentru a încerca să rezolv imaginile partajate cu mai puține informații, cum ar fi doar editorul sau omiterea SKU, dar nu am primit rezultate returnate:
az vm lista de imagini -p Compania mea -f Oferta mea --all -o tabel
lista de imagini az vm -p Compania mea --all -o tabel