Compartir a través de


Novedades de Azure VM Image Builder

Se aplica a: ✔️ Máquinas virtuales Linux ✔️ Máquinas virtuales Windows ✔️ Conjuntos de escalado flexibles ✔️ Conjuntos de escalado uniformes

Este artículo contiene todos los principales cambios de API y actualizaciones de características para el servicio Azure VM Image Builder (AIB).

Actualizaciones

Mayo de 2024

Cambio importante: distinción entre mayúsculas y minúsculas

A partir del 21 de mayo de 2024, la API de Azure VM Image Builder versión 2024-02-01 y posteriores aplicará la distinción de mayúsculas y minúsculas para todos los campos. Esto significa que la mayúsculas de las letras de las solicitudes de API debe coincidir exactamente con el formato esperado.

Importante

Nota importante para los usuarios existentes de Azure Image Builder

Si es un usuario existente de Azure VM Image Builder, asegúrese de que este cambio no afectará a los recursos existentes. La aplicación de distinción entre mayúsculas y minúsculas solo se aplica a recursos recién creados mediante API versión 2024-02-01 y posteriores. Los recursos existentes seguirán funcionando según lo previsto sin cambios.

Si tiene algún problema relacionado con la distinción entre mayúsculas y minúsculas, consulte la documentación actualizada de la API de Azure Image Builder para obtener instrucciones.

Anteriormente, la API de Azure Image Builder era más perdonada en términos de caso, pero avanzar, la precisión es fundamental. Al realizar llamadas API, asegúrese de usar las mayúsculas y minúsculas correctas para los nombres de campo, los parámetros y los valores. Por ejemplo, si un campo se denomina “vmBoot,” debe usar “vmBoot” (no “VMBoot” o “vmboot”).

Si envía una solicitud de API a la versión 2024-02-01 de la API de Azure Image Builder y versiones posteriores con campos incorrectos o no reconocidos, el servicio lo rechazará. Recibirá una respuesta de error que indica que la solicitud no es válida. El error tendrá un aspecto similar al siguiente:

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.

El mensaje de error mencionará un "campo desconocido" y le dirigirá a la documentación oficial: Creación de un archivo Bicep de Azure Image Builder o una plantilla JSON de ARM.

Nota:

Referencia de Swagger de Azure Image Builder para llamadas API

Al realizar llamadas al servicio Azure Image Builder, haga referencia siempre a la documentación de Swagger, que sirve como origen definitivo de verdad para las especificaciones de API de Azure Image Builder. Aunque la documentación pública se ha actualizado para incluir los nombres de campo y mayúsculas adecuados antes de la versión de la API, la definición de Swagger contiene detalles precisos sobre cada API de AIB para asegurarse de que realiza llamadas al servicio correctamente.

A continuación se muestra una lista de los cambios de documentación realizados para que coincidan con los nombres de campo de la versión de API 2024-02-01:

En la documentación Creación de una plantilla JSON de Azure Image Builder o una plantilla de ARM:

Campos actualizados:

  • Se han reemplazado varias menciones de vmboot por vmBoot
  • Se ha reemplazado una mención de imageVersionID por imageVersionId

Campo quitado:

  • apiVersion: Se recomienda evitar la inclusión de este campo en las solicitudes porque no se especifica explícitamente en nuestra API, por lo que incluirlo en la plantilla JSON puede provocar errores en la compilación de imágenes.

En la documentación las opciones de red de Azure VM Image Builder:

Campo actualizado:

  • Se ha reemplazado una mención de VirtualNetworkConfig por vnetConfig

Campos quitados:

  • subnetName en la vnetConfig propiedad : este campo está en desuso y el nuevo campo está subnetId
  • resourceGroupName en la vnetConfig propiedad : este campo está en desuso y el nuevo campo está subnetId

Anclar a una versión anterior de Azure Image Builder API

Consideración importante para anclar a versiones anteriores de API

Anclar a una versión anterior de la API de Azure Image Builder puede proporcionar compatibilidad con las plantillas existentes, pero no se recomienda debido a los siguientes factores:

  • Riesgo de desuso: Las versiones anteriores de la API pueden quedar en desuso.

  • Características que faltan: Al anclar a una versión anterior de la API, se pierden las características y mejoras más recientes introducidas en las versiones más recientes. Estas mejoras suelen mejorar el rendimiento, la seguridad y la funcionalidad.

Si desea evitar realizar cambios en las propiedades de las plantillas de imagen debido a las nuevas reglas de confidencialidad de mayúsculas y minúsculas, tiene la opción de anclar las llamadas API de Azure VM Image Builder a una versión anterior de la API. Esto le permite seguir usando el comportamiento conocido sin modificaciones.

Para garantizar la compatibilidad con las plantillas existentes, al crear o actualizar una plantilla de imagen, especifique la versión de API deseada (por ejemplo, api-version=2022-07-01) mediante la inclusión del parámetro api-version en la llamada al servicio. Ejemplo:

PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.VirtualMachineImages/imageTemplates/{imageTemplateName}?api-version=2022-07-01

Probar el código

Después de anclar a la versión anterior de la API, pruebe el código para comprobar que se comporta según lo previsto. Asegúrese de que las plantillas existentes siguen funcionando correctamente.

noviembre de 2023

Azure Image Builder habilita compilaciones de imágenes aisladas mediante Azure Container Instances de forma por fases. Se espera que el lanzamiento se complete a principios de 2024. Las plantillas de imagen existentes seguirán funcionando y no habrá ningún cambio en la forma en que cree o compile nuevas plantillas de imagen.

Es posible que observe que un conjunto diferente de recursos transitorios de Azure aparece temporalmente en el grupo de recursos de almacenamiento provisional, pero eso no afecta a las compilaciones reales ni a la forma en que interactúa con Azure Image Builder. Para más información, consulte Compilaciones de imágenes aisladas.

Importante

Asegúrese de que la suscripción está registrada para el proveedor de Microsoft.ContainerInstance y de que no haya ninguna directiva que bloquee la implementación de recursos de Azure Container Instances. Asegúrese también de que la cuota está disponible para los recursos de Azure Container Instances.

abril de 2023

Se agregó una nueva funcionalidad de Azure Portal Image Builder. Busque "Plantillas de imagen" en el Azure Portal y, a continuación, haga clic en "Crear". También puede empezar aquí a crear y validar imágenes personalizadas dentro del portal.

Versiones de la API

Versión 2024-02-01

Mejoras

  • Nueva propiedad autoRun que permite ejecutar la compilación de la imagen en la creación o actualización de plantillas. Para obtener más información, vea Propiedades: autoRun.
  • Nueva propiedad managedResourceTags que permite aplicar etiquetas a los recursos que crea el servicio Azure Image Builder en el grupo de recursos de almacenamiento provisional durante la compilación de imágenes. Para obtener más información, vea Propiedades: managedResourceTags.
  • Nueva propiedad containerInstanceSubnetId que permite especificar una subred en la que se implementará Azure Container Instance para compilaciones aisladas. Este campo solo se puede especificar si también se especifica subnetId y debe estar en la misma red virtual que la subred especificada en subnetId. Para obtener más información, vea Traiga su propia subred de máquina virtual de compilación y traiga su propia subred de ACI.
  • Se ha agregado compatibilidad para actualizar la propiedad vmProfile, incluidos los campos siguientes:
    • vmSize
    • osDiskSizeGB
    • userAssignedIdentities
    • vnetConfig
      • subnetId
      • containerInstanceSubnetId Para obtener más información sobre la propiedad vmProfile, vea vmProfile.

Cambios API versión 2024-02-01 presenta un cambio importante que aplica la distinción entre mayúsculas y minúsculas para todos los campos. Esto significa que la mayúsculas de las letras de las solicitudes de API debe coincidir exactamente con el formato esperado. Si envía una solicitud de API a la versión 2024-02-01 de la API de Azure Image Builder y versiones posteriores con campos incorrectos o no reconocidos, el servicio lo rechazará. Recibirá una respuesta de error que indica que la solicitud no es válida. Para obtener más información, vea Cambio importante: Distinción entre mayúsculas y minúsculas.

Versión 2023-07-01

Próximamente

Compatibilidad con la actualización de destinos de distribución de Azure Compute Gallery.

Cambios

Nueva propiedad errorHandling. Esta propiedad proporciona a los usuarios más control sobre cómo se controlan los errores durante el proceso de creación de imágenes. Para obtener más información, consulte errorHandling

Versión 1-7-2022

Mejoras

  • Se ha agregado compatibilidad para usar la versión de imagen más reciente almacenada en Azure Compute Gallery como origen de la plantilla de imagen
  • Se ha agregado versioning para admitir la generación de números de versión para distribuciones de imágenes. Para obtener más información, vea propiedades: control de versiones
  • Se ha agregado compatibilidad con la configuración por región al distribuir a Azure Compute Gallery. Para obtener más información, consulte Distribute:targetRegions
  • Se ha agregado el nuevo tipo de validación "Archivo". Para obtener más información, vea validar propiedades
  • Los discos duros virtuales ahora se pueden distribuir a un blob o contenedor personalizados en una cuenta de almacenamiento personalizada. Para obtener más información, consulte Distribute:VHD
  • Se ha agregado compatibilidad con el uso de una imagen de la Galería compartida directa como origen de la plantilla de imagen

Cambios

  • replicationRegions ahora está en desuso para las distribuciones de la galería. Para más información, use gallery-replicated-regions
  • Los discos duros virtuales ahora se pueden distribuir a un blob o contenedor personalizados en una cuenta de almacenamiento personalizada
  • Matriz targetRegions agregada y aplicada solo al tipo distribute "SharedImage". Para más información sobre targetRegions, consulte Azure Compute Gallery
  • Se ha agregado compatibilidad con el uso de una imagen de la Galería compartida directa como origen de la plantilla de imagen. La Galería compartida directa se encuentra actualmente en versión preliminar.
  • Los desencadenadores ya están disponibles en versión preliminar pública para configurar compilaciones automáticas de imágenes. Para obtener más información, consulte Cómo usar desencadenadores de AIB

Versión 2022-02-14

Mejoras

Versión 2021-10-01

Cambio importante

La versión 2021-10-01 de la API presenta un cambio en el esquema de error que formará parte de cada versión futura de la API. Si tiene automatizaciones de Azure VM Image Builder, tenga en cuenta el nuevo error que se genera al cambiar a la versión 2021-10-01 de la API o posterior. Se recomienda, después de cambiar a la versión más reciente de la API, que no revierta a una versión anterior, ya que tendrá que cambiar la automatización de nuevo para generar el esquema de error anterior. No se prevé volver a cambiar el esquema de errores en futuras versiones.

Generación del error en la versión 2020-02-14 y versiones anteriores
{ 
  "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." 
} 
Generación del error en la versión 2021-10-01 y versiones posteriores
{ 
  "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." 
  }
}

Mejoras

  • Se ha agregado compatibilidad con MSI de VM de compilación.
  • Se ha agregado compatibilidad con la personalización del tamaño de VM de proxy.

Versión 2020-02-14

Mejoras

  • Se ha agregado compatibilidad para crear imágenes a partir de los siguientes orígenes:
    • Imagen administrada
    • Azure Compute Gallery
    • Repositorio de imágenes de plataforma (incluido plan de compra de imágenes de plataforma)
  • Se ha agregado compatibilidad con las siguientes personalizaciones:
    • Shell (Linux): script o insertado
    • PowerShell (Windows): script o insertado, ejecución con privilegios elevados, ejecución como sistema
    • Archivo (Linux y Windows)
    • Reiniciar Windows (Windows)
    • Windows Update (Windows): con criterios de búsqueda, filtros y límite de actualización
  • Se ha agregado compatibilidad con los siguientes tipos de distribución:
    • VHD (disco duro virtual)
    • Imagen administrada
    • Azure Compute Gallery
  • Otras características:
    • Se ha agregado compatibilidad para que los clientes usen su propia red virtual.
    • Se ha agregado compatibilidad para que los clientes personalicen la VM de compilación (tamaño de la VM, tamaño del disco del sistema operativo).
    • Se ha agregado compatibilidad con Microsoft Windows Installer (MSI) asignado por el usuario (para personalizar o distribuir pasos).
    • Se ha agregado compatibilidad con imágenes de Gen2.

API en versión preliminar

Las siguientes API están en desuso, pero todavía son compatibles:

  • Versión preliminar 2019-05-01

Pasos siguientes

Obtenga más información sobre VM Image Builder.