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 cambios importantes de api y actualizaciones de características para el servicio Azure VM Image Builder.

Actualizaciones

Septiembre de 2024

La creación automática de imágenes a través de desencadenadores se desactiva si se produce un error en la compilación de la plantilla de imagen varias veces consecutivamente. Esta desactivación evita errores de compilación innecesarios.

Todavía puede compilar manualmente la plantilla de imagen. Después de que una compilación manual se realice correctamente, se reactivan los desencadenadores automáticos.

Este comportamiento es el mismo independientemente de la versión de API que use para el recurso de plantilla de imagen.

Mayo de 2024

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

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

Importante

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

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

Anteriormente, la API de VM Image Builder era más permisiva en cuanto al uso de mayúsculas/minúsculas. Al 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 VM Image Builder API versión 2024-02-01 o posterior con campos incorrectos o no reconocidos, el servicio lo rechaza. Recibirá una respuesta de error que indica que la solicitud no es válida. El error tiene un aspecto similar al de este ejemplo:

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 menciona un "campo desconocido" y le dirige a la documentación oficial: Creación de una plantilla JSON de Azure VM Image Builder o Azure Resource Manager.

Nota:

Al realizar llamadas API al servicio VM Image Builder, haga referencia siempre a la documentación de Swagger. Esta documentación sirve como fuente definitiva de verdad para las especificaciones de VM Image Builder API. Aunque la documentación pública se actualizó para incluir la correcta capitalización y los nombres de campo adecuados antes de la versión de la API, la definición de Swagger contiene detalles específicos de cada API de VM Image Builder. Estos detalles ayudan a garantizar que realiza llamadas al servicio correctamente.

Se realizaron los siguientes cambios en la documentación para que coincidan con los nombres de campo de la versión de API 2024-02-01.

En la documentación Crear una plantilla JSON de Azure VM Image Builder o Azure Resource Manager:

  • 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 la API. Incluirlo en la plantilla JSON podría 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. El nuevo campo es subnetId.
    • resourceGroupName en la vnetConfig propiedad : este campo está en desuso. El nuevo campo es subnetId.

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

Si desea evitar realizar cambios en las propiedades de las plantillas de imagen debido a las nuevas reglas de distinción 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. Este anclaje le permite seguir usando el comportamiento conocido sin modificaciones.

Importante

Anclar a una versión anterior de la API de VM Image Builder puede proporcionar compatibilidad con sus plantillas existentes, pero no lo recomendamos debido a los siguientes factores:

  • Las versiones anteriores de la API podrían quedar en desuso.
  • 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.

Para garantizar la compatibilidad con las plantillas existentes al crear o actualizar una plantilla de imagen, especifique la versión de API deseada mediante la inclusión del api-version parámetro en la llamada al servicio. Por 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

VM Image Builder habilita compilaciones de imágenes aisladas a través de Azure Container Instances de forma por fases. Se espera que la implementación finalice a principios de 2024. Las plantillas de imagen existentes siguen funcionando y no hay ningún cambio en la forma de crear o crear nuevas plantillas de imagen.

Es posible que observe un conjunto diferente de recursos transitorios de Azure que aparecen temporalmente en el grupo de recursos de almacenamiento provisional. No afecta tus construcciones reales ni la manera en que interactúas con VM Image Builder. Para más información, consulte Compilaciones de imágenes aisladas.

Para usar compilaciones de imágenes aisladas, asegúrese de que:

  • La suscripción está registrada con el proveedor Microsoft.ContainerInstance.
  • No hay directivas que bloqueen la implementación de recursos de Azure Container Instances.
  • La cuota está disponible para los recursos de Azure Container Instances.

Abril de 2023

Se ha agregado una nueva funcionalidad del portal para VM Image Builder. Busque Plantillas de imagen en Azure Portal y, a continuación, seleccione Crear. También puede usar esta configuración de plantilla para empezar a crear y validar imágenes personalizadas dentro del portal.

Versiones de la API

Versión 2024-02-01

Mejoras

  • Puede usar la nueva autoRun propiedad para ejecutar la compilación de la imagen en la creación o actualización de la plantilla. Para obtener más información, vea Propiedades: autoRun.

  • Puede usar la nueva managedResourceTags propiedad para aplicar etiquetas a los recursos que crea el servicio Vm 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.

  • Puede usar la nueva containerInstanceSubnetId propiedad para especificar una subred en la que se implementarán Azure Container Instances para compilaciones de imágenes aisladas. Solo puede especificar este campo si especifica subnetId. Este campo debe estar en la misma red virtual que la subred especificada en subnetId. Para más información, consulte Traiga su propia subred de máquina virtual de compilación y traiga su propia subred de Container Instances.

  • Esta versión agrega compatibilidad para actualizar la vmProfile propiedad, incluidos los siguientes campos:

    • vmSize
    • osDiskSizeGB
    • userAssignedIdentities
    • vnetConfig
      • subnetId
      • containerInstanceSubnetId

    Para más información sobre la vmProfile propiedad, consulte vmProfile.

Cambios

La 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. La mayúscula de las letras de las solicitudes de API debe coincidir exactamente con el formato esperado. Si envía una solicitud de API a VM Image Builder API versión 2024-02-01 o posterior con un caso incorrecto o campos no reconocidos, el servicio lo rechaza. 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 en este artículo.

Versión 2023-07-01

Cambios

La nueva errorHandling propiedad proporciona 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

  • Esta versión agrega compatibilidad para usar la versión de imagen más reciente almacenada en Azure Compute Gallery como origen de la plantilla de imagen.
  • Esta versión agrega 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: versioning.
  • Esta versión agrega compatibilidad con la configuración por región cuando se distribuye a Azure Compute Gallery. Para obtener más información, consulte Distribute: targetRegions.
  • Esta versión agrega un nuevo File tipo de validación. Para obtener más información, vea Propiedades: validate.
  • Ahora puede distribuir discos duros virtuales (VHD) a un blob o contenedor personalizado en una cuenta de almacenamiento personalizada. Para obtener más información, vea Distribuir: VHD.
  • Esta versión agrega compatibilidad con el uso de una imagen de galería compartida directa como origen de la plantilla de imagen.

Cambios

Versión 2022-02-14

Mejoras

Versión 2021-10-01

Cambio disruptivo

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 de API más reciente, que no revierta a una versión anterior. Si decide revertir, tendrá que cambiar la automatización nuevamente para generar el esquema de error anterior. No esperamos que el esquema de error cambie de nuevo en futuras versiones.

Salida de error de la versión 2020-02-14 y 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." 
} 
Salida de error de la versión 2021-10-01 y 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

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 (Galería de Cómputo de Azure)
    • 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)
    • Reinicio de 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
    • Imagen administrada
    • Azure Compute Gallery (Galería de Cómputo de Azure)
  • Se ha agregado compatibilidad para que los clientes usen su propia red virtual.
  • Se ha agregado compatibilidad para que los clientes personalicen la máquina virtual de compilación (tamaño de máquina virtual, tamaño de disco del sistema operativo).
  • Se ha agregado compatibilidad con identidades administradas asignadas por el usuario (para personalizar o distribuir pasos).
  • Se ha agregado compatibilidad con imágenes de generación 2.

API de versión preliminar

La SIGUIENTE API está en desuso, pero sigue siendo compatible:

  • Versión preliminar 2019-05-01