Partilhar via


Novidades do Azure VM Image Builder

Aplica-se a: ✔️ VMs ✔️ Linux VMs ✔️ do Windows Conjuntos ✔️ de escala flexíveis Conjuntos de balanças uniformes

Este artigo contém todas as principais alterações de API e atualizações de recursos para o serviço Azure VM Image Builder.

Atualizações

Setembro de 2024

A criação automática de imagens por meio de gatilhos é desativada se a compilação do modelo de imagem falhar várias vezes consecutivas. Essa desativação evita falhas de compilação desnecessárias.

Você ainda pode criar manualmente o modelo de imagem. Depois que uma compilação manual é bem-sucedida, os gatilhos automáticos são reativados.

Esse comportamento é o mesmo, independentemente da versão da API usada para o recurso de modelo de imagem.

maio de 2024

Alteração de rutura: sensibilidade a maiúsculas e minúsculas

A partir de 21 de maio de 2024, a API do VM Image Builder versão 2024-02-01 e posterior impõe a diferenciação de maiúsculas e minúsculas para todos os campos. A capitalização de letras em suas solicitações de API deve corresponder exatamente ao formato esperado.

Importante

Se você for um usuário existente do Construtor de Imagens de VM, essa alteração não afetará seus recursos existentes. A imposição da diferenciação de maiúsculas e minúsculas aplica-se apenas a recursos recém-criados que usam a versão da API 2024-02-01 e posterior. Os recursos existentes continuam a funcionar como esperado, sem alterações.

Se você encontrar algum problema relacionado à diferenciação de maiúsculas e minúsculas, consulte a documentação atualizada da API do VM Image Builder para obter orientações.

Anteriormente, a API do VM Image Builder era mais tolerante quanto ao uso de maiúsculas e minúsculas. No futuro, a precisão é crucial. Ao fazer chamadas de API, certifique-se de usar a maiúscula correta para nomes de campos, parâmetros e valores. Por exemplo, se um campo for nomeado vmBoot, você deverá usar vmBoot (não VMBoot ou vmboot).

Se você enviar uma solicitação de API para a API do VM Image Builder versão 2024-02-01 ou posterior com maiúsculas e minúsculas incorretas ou campos não reconhecidos, o serviço a rejeitará. Você recebe uma resposta de erro indicando que a solicitação é inválida. O erro é semelhante a este exemplo:

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.

A mensagem de erro menciona um "campo desconhecido" e direciona você para a documentação oficial: Criar um modelo JSON do Azure VM Image Builder Bicep ou Azure Resource Manager.

Nota

Quando você estiver fazendo chamadas de API para o serviço VM Image Builder, sempre consulte a documentação do Swagger. Esta documentação serve como a fonte definitiva da verdade para as especificações da API do VM Image Builder. Embora a documentação pública tenha sido atualizada para incluir a capitalização adequada e os nomes de campo antes do lançamento da API, a definição do Swagger contém detalhes precisos sobre cada API do VM Image Builder. Esses detalhes ajudam a garantir que você está fazendo chamadas para o serviço corretamente.

As seguintes alterações na documentação foram feitas para corresponder aos nomes de campo na versão da API 2024-02-01.

Na documentação Criar um modelo Bicep ou JSON do Azure Resource Manager para o Construtor de Imagens de VM do Azure:

  • Campos atualizados:

    • Substituídas várias menções de vmboot por vmBoot.
    • Substituída uma menção de imageVersionID por imageVersionId.
  • Campo removido:

    • apiVersion: Recomendamos evitar a inclusão desse campo em suas solicitações porque ele não está explicitamente especificado na API. Incluí-lo em seu modelo JSON pode levar a erros na compilação da imagem.

Na documentação de opções de rede do Azure VM Image Builder:

  • Campo atualizado:

    • Substituída uma menção de VirtualNetworkConfig por vnetConfig.
  • Campos removidos:

    • subnetName vnetConfig na propriedade: Este campo foi preterido. O novo campo é subnetId.
    • resourceGroupName vnetConfig na propriedade: Este campo foi preterido. O novo campo é subnetId.

Fixação a uma versão mais antiga da API do Construtor de Imagens de VM

Se quiser evitar fazer alterações nas propriedades nos seus modelos de imagem devido às novas regras de diferenciação de maiúsculas e minúsculas, tem a opção de fixar as suas chamadas de API do Construtor de Imagens de VM do Azure numa versão anterior da API. Essa fixação permite que você continue usando o comportamento familiar sem modificações.

Importante

A fixação a uma versão mais antiga da API do Construtor de Imagens de VM pode fornecer compatibilidade com seus modelos existentes, mas não recomendamos isso devido aos seguintes fatores:

  • Versões mais antigas da API podem eventualmente ser preteridas.
  • Ao fixar em uma versão mais antiga da API, você perde os recursos e melhorias mais recentes introduzidos nas versões mais recentes. Esses aprimoramentos geralmente melhoram o desempenho, a segurança e a funcionalidade.

Para garantir a compatibilidade com seus modelos existentes ao criar ou atualizar um modelo de imagem, especifique a versão desejada da API incluindo o api-version parâmetro em sua chamada para o serviço. Por exemplo:

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

Testando seu código

Depois de fixar na versão mais antiga da API, teste seu código para verificar se ele se comporta conforme o esperado. Certifique-se de que os modelos existentes continuam a funcionar corretamente.

Novembro de 2023

O Construtor de Imagens de VM está habilitando Compilações de Imagem Isoladas por meio de Instâncias de Contêiner do Azure de maneira faseada. Espera-se que o lançamento termine no início de 2024. Seus modelos de imagem existentes continuam a funcionar e não há nenhuma alteração na maneira como você cria ou cria novos modelos de imagem.

Você pode observar um conjunto diferente de recursos transitórios do Azure aparecendo temporariamente no grupo de recursos de preparação. Isso não afeta suas compilações reais ou a maneira como você interage com o VM Image Builder. Para obter mais informações, consulte Compilações de imagens isoladas.

Para usar compilações de imagem isoladas, certifique-se de que:

  • A sua subscrição está registada para o Microsoft.ContainerInstance fornecedor.
  • Não há políticas que bloqueiem a implantação de recursos de Instâncias de Contêiner do Azure.
  • A cota está disponível para recursos de Instâncias de Contêiner do Azure.

Abril de 2023

Nova funcionalidade de portal foi adicionada para o VM Image Builder. Procure Modelos de Imagem no portal do Azure e, em seguida, selecione Criar. Você também pode usar essa configuração de modelo para começar a criar e validar imagens personalizadas dentro do portal.

Versões da API

Versão 2024-02-01

Melhorias

  • Você pode usar a nova autoRun propriedade para executar a geração da imagem durante a criação ou atualização do modelo. Para obter mais informações, consulte Propriedades: autoRun.

  • Você pode usar a nova managedResourceTags propriedade para aplicar etiquetas aos recursos que o serviço Construtor de Imagens de VM cria no grupo de recursos de preparação durante a construção da imagem. Para obter mais informações, consulte Propriedades: managedResourceTags.

  • Você pode usar a nova containerInstanceSubnetId propriedade para especificar uma sub-rede na qual as Instâncias de Contêiner do Azure serão implantadas para Compilações de Imagem Isoladas. Você pode especificar este campo somente se especificar subnetId. Este campo deve estar na mesma rede virtual que a sub-rede especificada em subnetId. Para obter mais informações, consulte Trazer sua própria sub-rede de VM de compilação e trazer sua própria sub-rede de instâncias de contêiner.

  • Esta versão adiciona suporte para atualizar a vmProfile propriedade, incluindo os seguintes campos:

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

    Para obter mais informações sobre a vmProfile propriedade, consulte vmProfile.

Alterações

A versão da API 2024-02-01 introduz uma modificação crítica que impõe sensibilidade ao caso para todos os campos. A capitalização de letras em suas solicitações de API deve corresponder exatamente ao formato esperado. Se você enviar uma solicitação de API para a API do VM Image Builder versão 2024-02-01 ou posterior com um caso incorreto ou campos não reconhecidos, o serviço a rejeitará. Você recebe uma resposta de erro indicando que a solicitação é inválida. Para obter mais informações, consulte Alteração importante: sensibilidade a maiúsculas e minúsculas neste artigo.

Versão 2023-07-01

Alterações

A nova errorHandling propriedade oferece mais controle sobre como os erros são tratados durante o processo de criação da imagem. Para obter mais informações, consulte errorHandling.

Versão 2022-07-01

Melhorias

  • Esta versão adiciona suporte para usar a versão de imagem mais recente armazenada na Galeria de Computação do Azure como a fonte para o modelo de imagem.
  • Esta versão adiciona versioning para suportar a geração de números de versão para distribuições de imagem. Para obter mais informações, consulte Propriedades: versioning.
  • Esta versão adiciona suporte para configuração por região quando você está distribuindo para a Galeria de Computação do Azure. Para obter mais informações, consulte Distribute: targetRegions.
  • Esta versão adiciona um novo File tipo de validação. Para obter mais informações, consulte Propriedades: validate.
  • Agora você pode distribuir discos rígidos virtuais (VHDs) para um blob ou contêiner personalizado em uma conta de armazenamento personalizada. Para obter mais informações, consulte Distribuir: VHD.
  • Esta versão adiciona suporte para usar uma imagem de galeria compartilhada direta como a fonte para o modelo de imagem.

Alterações

Versão 2022-02-14

Melhorias

Versão 2021-10-01

Quebrando a mudança

A versão da API 2021-10-01 introduz uma alteração no esquema de erro que fará parte de todas as versões futuras da API. Se você tiver qualquer automação do Construtor de Imagens de VM do Azure, esteja ciente da nova saída de erro quando alternar para a versão da API 2021-10-01 ou posterior.

Recomendamos que, depois de mudar para a versão mais recente da API, não reverta para uma versão anterior. Se reverter, terá de alterar a sua automação novamente para produzir o esquema de erro anterior. Não esperamos que o esquema de erro seja alterado novamente em versões futuras.

Saída de erro para a versão 2020-02-14 e anterior
{ 
  "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." 
} 
Saída de erro para a versão 2021-10-01 e posterior
{ 
  "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." 
  }
}

Melhorias

Versão 2020-02-14

Melhorias

  • Adicionado suporte para a criação de imagens a partir das seguintes fontes:
    • Imagem gerenciada
    • Azure Compute Gallery
    • Repositório de imagens da plataforma (incluindo o plano de compra de imagens da plataforma)
  • Adicionado suporte para as seguintes personalizações:
    • Shell (Linux): Script ou inline
    • PowerShell (Windows): Script ou inline, executar elevado, executar como sistema
    • Arquivo (Linux e Windows)
    • Reiniciar o Windows (Windows)
    • Windows Update (Windows): critérios de pesquisa, filtros e limite de atualização
  • Adicionado suporte para os seguintes tipos de distribuição:
    • VHD
    • Imagem gerenciada
    • Azure Compute Gallery
  • Adicionado suporte para os clientes usarem sua própria rede virtual.
  • Adicionado suporte para os clientes personalizarem a VM de compilação (tamanho da VM, tamanho do disco do sistema operacional).
  • Adicionado suporte para identidades gerenciadas atribuídas pelo usuário (para etapas de personalização/distribuição).
  • Adicionado suporte para imagens de Geração 2.

API de pré-visualização

A API a seguir foi preterida, mas ainda é suportada:

  • Versão 2019-05-01-preview