Co nowego w narzędziu Azure VM Image Builder
Dotyczy: ✔️ Maszyny wirtualne z systemem Linux Maszyny ✔️ wirtualne z systemem Windows ✔️ — elastyczne zestawy ✔️ skalowania
Ten artykuł zawiera wszystkie istotne zmiany interfejsu API i aktualizacje funkcji dla usługi Azure VM Image Builder (AIB).
Aktualizacje
Wrzesień 2024 r.
Automatyczne tworzenie obrazów za pośrednictwem wyzwalaczy zostanie zdezaktywowane, jeśli kompilacja szablonu obrazu nie powiodła się wiele razy po kolei, aby uniknąć niepotrzebnych błędów kompilacji.
Nadal możesz ręcznie skompilować szablon obrazu. Po pomyślnym zakończeniu kompilacji ręcznej wyzwalacze automatyczne zostaną ponownie aktywowane.
Należy pamiętać, że to zachowanie jest takie samo niezależnie od wersji interfejsu API używanej dla zasobu szablonu obrazu.
Maj 2024 r.
Zmiana powodująca niezgodność: ważność wielkości liter
Od 21 maja 2024 r. interfejs API programu Azure VM Image Builder w wersji 2024-02-02-01 i poza nią będzie wymuszać ważność wielkości liter dla wszystkich pól. Oznacza to, że wielkość liter w żądaniach interfejsu API musi być zgodna dokładnie z oczekiwanym formatem.
Ważne
Ważna uwaga dla istniejących użytkowników narzędzia Azure Image Builder
Jeśli jesteś istniejącym użytkownikiem narzędzia Azure VM Image Builder, upewnij się, że ta zmiana nie wpłynie na istniejące zasoby. Wymuszanie poufności sprawy dotyczy tylko nowo utworzonych zasobów przy użyciu interfejsu API w wersji 2024-02-01 lub nowszej. Istniejące zasoby będą nadal działać zgodnie z oczekiwaniami bez żadnych zmian.
Jeśli napotkasz jakiekolwiek problemy związane z poufnością przypadków, zapoznaj się ze zaktualizowaną dokumentacją interfejsu API narzędzia Azure Image Builder, aby uzyskać wskazówki.
Wcześniej interfejs API narzędzia Azure Image Builder był bardziej forgiving pod względem przypadku, ale w przyszłości precyzja jest kluczowa. Podczas wykonywania wywołań interfejsu API upewnij się, że używasz poprawnej wielkości liter nazw pól, parametrów i wartości. Jeśli na przykład pole nosi nazwę "vmBoot", musisz użyć polecenia "vmBoot" (nie "VMBoot" lub "vmboot").
Jeśli wyślesz żądanie interfejsu API do interfejsu API usługi Azure Image Builder w wersji 2024-02-01 lub nowszej z nieprawidłowymi przypadkami lub nierozpoznanymi polami, usługa ją odrzuci. Zostanie wyświetlona odpowiedź o błędzie wskazująca, że żądanie jest nieprawidłowe. Błąd będzie wyglądać mniej więcej tak:
Unmarshalling entity encountered error: unmarshalling type *v2024_02_01.ImageTemplate: struct field Properties: unmarshalling type *v2024_02_01.ImageTemplateProperties: struct field Optimize: unmarshalling type *v2024_02_01.ImageTemplatePropertiesOptimize: unmarshalling type *v2024_02_01.ImageTemplatePropertiesOptimize, unknown field \"vmboot\". There is an issue with the syntax with the JSON template you are submitting. Please check the JSON template for syntax and grammar. For more information on the syntax and grammar of the JSON template, visit http://aka.ms/azvmimagebuildertmplref.
Komunikat o błędzie będzie zawierać informacje o "nieznanym polu" i przekierowuje Cię do oficjalnej dokumentacji: Tworzenie szablonu JSON szablonu narzędzia Azure Image Builder lub arm.
Uwaga
Odwołaj się do struktury Swagger narzędzia Azure Image Builder na potrzeby wywołań interfejsu API
Podczas wykonywania wywołań do usługi Azure Image Builder zawsze należy odwołać się do dokumentacji struktury Swagger, która służy jako ostateczne źródło prawdy dla specyfikacji interfejsu API usługi Azure Image Builder. Chociaż publiczna dokumentacja została zaktualizowana w celu uwzględnienia odpowiednich nazw liter i pól przed wydaniem interfejsu API, definicja struktury Swagger zawiera szczegółowe informacje o każdym interfejsie API AIB, aby upewnić się, że wykonywane wywołania usługi są poprawne.
Poniżej znajduje się lista zmian w dokumentacji, które zostały wprowadzone w celu dopasowania nazw pól w interfejsie API w wersji 2024-02-01:
W dokumentacji szablonu JSON szablonu tworzenie narzędzia Azure Image Builder Bicep lub ARM:
Zaktualizowane pola:
- Zamieniono kilka wzmianek o
vmboot
vmBoot
- Zamieniono jedną wzmiankę o
imageVersionID
imageVersionId
Usunięto pole:
apiVersion
: Zalecamy unikanie dołączania tego pola do żądań, ponieważ nie jest on jawnie określony w naszym interfejsie API, dlatego uwzględnienie go w szablonie JSON może prowadzić do błędów w kompilacji obrazu.
W dokumentacji opcji sieci narzędzia Image Builder maszyny wirtualnej platformy Azure:
Zaktualizowano pole:
- Zamieniono jedną wzmiankę o
VirtualNetworkConfig
vnetConfig
Pola usunięte:
subnetName
vnetConfig
w właściwości — to pole jest przestarzałe, a nowe pole jestsubnetId
resourceGroupName
vnetConfig
w właściwości — to pole jest przestarzałe, a nowe pole jestsubnetId
Jak przypiąć do starszej wersji interfejsu API programu Azure Image Builder
Ważne zagadnienia dotyczące przypinania do starszych wersji interfejsu API
Przypinanie do starszej wersji interfejsu API programu Azure Image Builder może zapewnić zgodność z istniejącymi szablonami, ale nie jest to zalecane ze względu na następujące czynniki:
Ryzyko wycofania: starsze wersje interfejsu API mogą zostać ostatecznie przestarzałe.
Brakujące funkcje: przypinając do starszej wersji interfejsu API, pominięto najnowsze funkcje i ulepszenia wprowadzone w nowszych wersjach. Te ulepszenia często zwiększają wydajność, bezpieczeństwo i funkcjonalność.
Jeśli chcesz uniknąć wprowadzania zmian we właściwościach w szablonach obrazów ze względu na nowe reguły poufności przypadków, możesz przypiąć wywołania interfejsu API konstruktora obrazów maszyny wirtualnej platformy Azure do poprzedniej wersji interfejsu API. Dzięki temu można nadal korzystać ze znanego zachowania bez żadnych modyfikacji.
Aby zapewnić zgodność z istniejącymi szablonami, podczas tworzenia lub aktualizowania szablonu obrazu określ żądaną wersję interfejsu API (np. api-version=2022-07-01), dołączając api-version
parametr w wywołaniu usługi. Przykład:
PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.VirtualMachineImages/imageTemplates/{imageTemplateName}?api-version=2022-07-01
Testowanie kodu
Po przypięcie do starszej wersji interfejsu API przetestuj kod, aby sprawdzić, czy działa zgodnie z oczekiwaniami. Upewnij się, że istniejące szablony nadal działają poprawnie.
Listopad 2023
Narzędzie Azure Image Builder umożliwia izolowane kompilacje obrazów przy użyciu usługi Azure Container Instances w sposób etapowy. Oczekuje się, że wdrożenie zostanie ukończone na początku 2024 r. Istniejące szablony obrazów będą nadal działać i nie ma żadnych zmian w sposobie tworzenia lub tworzenia nowych szablonów obrazów.
Możesz obserwować inny zestaw przejściowych zasobów platformy Azure wyświetlany tymczasowo w przejściowej grupie zasobów, ale nie ma to wpływu na rzeczywiste kompilacje ani sposób interakcji z narzędziem Azure Image Builder. Aby uzyskać więcej informacji, zobacz izolowane kompilacje obrazów.
Ważne
Upewnij się, że subskrypcja jest zarejestrowana dla Microsoft.ContainerInstance
dostawcy i nie ma żadnych zasad blokujących wdrażanie zasobów usługi Azure Container Instances. Upewnij się również, że limit przydziału jest dostępny dla zasobów usługi Azure Container Instances.
Kwiecień 2023
Dodano nową funkcję portalu dla narzędzia Azure Image Builder. Wyszukaj frazę "Szablony obrazów" w witrynie Azure Portal, a następnie kliknij pozycję "Utwórz". Możesz również rozpocząć pracę z tworzeniem i weryfikowaniem obrazów niestandardowych w portalu.
Wersje interfejsu API
Wersja 2024-02-01
Ulepszenia
- Nowa
autoRun
właściwość, która umożliwia uruchamianie kompilacji obrazu podczas tworzenia lub aktualizowania szablonu. Aby uzyskać więcej informacji, zobacz Właściwości: autoUruchomienie. - Nowa
managedResourceTags
właściwość, która umożliwia stosowanie tagów do zasobów tworzonych przez usługę Azure Image Builder w przejściowej grupie zasobów podczas kompilacji obrazu. Aby uzyskać więcej informacji, zobacz Właściwości: managedResourceTags. - Nowa
containerInstanceSubnetId
właściwość, która umożliwia określenie podsieci, w której zostanie wdrożone wystąpienie kontenera platformy Azure dla izolowanych kompilacji. To pole może być określone tylko wtedy, gdysubnetId
jest również określone i musi znajdować się w tej samej sieci wirtualnej co podsieć określona w .subnetId
Aby uzyskać więcej informacji, zobacz Bring your own Build VM subnet and bring your own ACI subnet (Przynieś własną podsieć maszyny wirtualnej kompilacji) i bring your own ACI subnet (Przynieś własną podsieć maszyny wirtualnej kompilacji). - Dodano obsługę aktualizowania
vmProfile
właściwości, w tym następujących pól:vmSize
osDiskSizeGB
userAssignedIdentities
vnetConfig
subnetId
containerInstanceSubnetId
Aby uzyskać więcej informacji navmProfile
temat właściwości, zobacz vmProfile.
Interfejs API zmian w wersji 2024-02-01 wprowadza zmianę powodującą niezgodność, która wymusza ważność wielkości liter dla wszystkich pól. Oznacza to, że wielkość liter w żądaniach interfejsu API musi być zgodna dokładnie z oczekiwanym formatem. Jeśli wyślesz żądanie interfejsu API do interfejsu API usługi Azure Image Builder w wersji 2024-02-01 lub nowszej z nieprawidłowymi przypadkami lub nierozpoznanymi polami, usługa ją odrzuci. Zostanie wyświetlona odpowiedź o błędzie wskazująca, że żądanie jest nieprawidłowe. Aby uzyskać więcej informacji, zobacz Zmiana powodująca niezgodność: ważność wielkości liter.
Wersja 2023-07-01
Wkrótce
Obsługa aktualizowania celów dystrybucji galerii obliczeniowej platformy Azure.
Zmiany
Nowa errorHandling
właściwość. Ta właściwość zapewnia użytkownikom większą kontrolę nad sposobem obsługi błędów podczas procesu tworzenia obrazu. Aby uzyskać więcej informacji, zobacz errorHandling
Wersja 2022-07-01
Ulepszenia
- Dodano obsługę używania najnowszej wersji obrazu przechowywanej w galerii obliczeń platformy Azure jako źródła szablonu obrazu
- Dodano
versioning
do obsługi generowania numerów wersji dla dystrybucji obrazów. Aby uzyskać więcej informacji, zobacz właściwości: przechowywanie wersji - Dodano obsługę konfiguracji dla poszczególnych regionów podczas dystrybucji do galerii obliczeń platformy Azure. Aby uzyskać więcej informacji, zobacz Distribute:targetRegions
- Dodano nowy typ weryfikacji "Plik". Aby uzyskać więcej informacji, zobacz weryfikowanie właściwości
- Dyski VHD można teraz dystrybuować do niestandardowego obiektu blob lub kontenera na niestandardowym koncie magazynu. Aby uzyskać więcej informacji, zobacz Distribute: VHD (Dystrybucja: wirtualny dysk twardy)
- Dodano obsługę używania obrazu z galerii udostępnionej bezpośrednio jako źródła szablonu obrazu
Zmiany
replicationRegions
jest teraz przestarzały dla dystrybucji galerii. Aby uzyskać więcej informacji, użyj regionów zreplikowanych w galerii- Dyski VHD można teraz dystrybuować do niestandardowego obiektu blob lub kontenera na niestandardowym koncie magazynu
targetRegions
tablica dodana i zastosowana tylko do rozkładu typu "SharedImage". Aby uzyskać więcej informacji na temattargetRegions
usługi , zobacz Azure Compute Gallery- Dodano obsługę używania obrazu z galerii udostępnionej bezpośrednio jako źródła szablonu obrazu. Bezpośrednia galeria udostępniona jest obecnie dostępna w wersji zapoznawczej.
- Wyzwalacze są teraz dostępne w publicznej wersji zapoznawczej w celu skonfigurowania automatycznych kompilacji obrazów. Aby uzyskać więcej informacji, zobacz Jak używać wyzwalaczy AIB
Wersja 2022-02-14
Ulepszenia
- Obsługa walidacji
- Powłoka (Linux): skrypt lub wbudowany
- PowerShell (Windows): skrypt lub wbudowany, uruchom podwyższony poziom uprawnień, uruchom jako system
- Tryb tylko do weryfikacji źródła
- Niestandardowa obsługa przejściowej grupy zasobów
Wersja 2021-10-01
Zmiana powodująca niezgodność
Interfejs API w wersji 2021-10-01 wprowadza zmianę schematu błędów, który będzie częścią każdej przyszłej wersji interfejsu API. Jeśli masz jakiekolwiek automatyzacje narzędzia Image Builder maszyny wirtualnej platformy Azure, pamiętaj o nowych danych wyjściowych błędów podczas przełączania się do interfejsu API w wersji 2021-10-01 lub nowszej. Zalecamy, aby po przełączeniu się do najnowszej wersji interfejsu API nie przywrócić starszej wersji, ponieważ konieczne będzie ponowne zmianę automatyzacji w celu utworzenia wcześniejszego schematu błędów. Nie przewidujemy ponownego zmiany schematu błędów w przyszłych wersjach.
Dane wyjściowe błędu dla wersji 2020-02-14 i starszych
{
"code": "ValidationFailed",
"message": "Validation failed: 'ImageTemplate.properties.source': Field 'imageId' has a bad value: '/subscriptions/subscriptionID/resourceGroups/resourceGroupName/providers/Microsoft.Compute/images/imageName'. Please review http://aka.ms/azvmimagebuildertmplref for details on fields requirements in the Image Builder Template."
}
Dane wyjściowe błędu dla wersji 2021-10-01 lub nowszej
{
"error": {
"code": "ValidationFailed",
"message": "Validation failed: 'ImageTemplate.properties.source': Field 'imageId' has a bad value: '/subscriptions/subscriptionID/resourceGroups/resourceGroupName/providers/Microsoft.Compute/images/imageName'. Please review http://aka.ms/azvmimagebuildertmplref for details on fields requirements in the Image Builder Template."
}
}
Ulepszenia
- Dodano obsługę interfejsów MSI kompilacji maszyn wirtualnych.
- Dodano obsługę dostosowywania rozmiaru maszyny wirtualnej serwera proxy.
Wersja 2020-02-14
Ulepszenia
- Dodano obsługę tworzenia obrazów z następujących źródeł:
- Obraz zarządzany
- Azure Compute Gallery
- Repozytorium obrazów platformy (w tym plan zakupu obrazu platformy)
- Dodano obsługę następujących dostosowań:
- Powłoka (Linux): skrypt lub wbudowany
- PowerShell (Windows): skrypt lub wbudowany, uruchom podwyższony poziom uprawnień, uruchom jako system
- Plik (Linux i Windows)
- Ponowne uruchamianie systemu Windows (Windows)
- Windows Update (Windows): kryteria wyszukiwania, filtry i limit aktualizacji
- Dodano obsługę następujących typów dystrybucji:
- Wirtualny dysk twardy (wirtualny dysk twardy)
- Obraz zarządzany
- Azure Compute Gallery
- Inne funkcje:
- Dodano obsługę klientów do korzystania z własnej sieci wirtualnej
- Dodano obsługę klientów w celu dostosowania maszyny wirtualnej kompilacji (rozmiar maszyny wirtualnej, rozmiar dysku systemu operacyjnego)
- Dodano obsługę przypisanego przez użytkownika Instalatora Microsoft Windows (MSI) (w przypadku kroków dostosowywania/dystrybucji)
- Dodano obsługę obrazów gen2
Interfejsy API w wersji zapoznawczej
Następujące interfejsy API są przestarzałe, ale nadal obsługiwane:
- Wersja 2019-05-01-preview
Następne kroki
Dowiedz się więcej o konstruktorze obrazów maszyn wirtualnych.