Olá!
Sobre a mensagem "The content for this response was already consumed"
Essa mensagem é uma falha do próprio Azure CLI. Quando a implantação falha, a CLI tenta ler a resposta de erro mais de uma vez e acaba exibindo essa mensagem genérica no lugar do erro verdadeiro. Existem vários relatos idênticos no repositório do Azure CLI, inclusive de pessoas seguindo os laboratórios oficiais da Microsoft. Então você está certo: a causa real é o SkuNotAvailable.
o problema provavelmente vem de uma combinação de fatores:
- Mudança no Azure CLI (hipótese 4): o comando da aula não informa o tamanho da VM, então a CLI usa um tamanho padrão. Esse padrão era o
Standard_DS1_v2 e passou a ser o Standard_D2s_v5, um tamanho maior e bem mais disputado. Por isso o mesmo comando da aula se comporta de forma diferente hoje. - Capacidade da região (hipótese 1): o trecho "Capacity Restrictions" indica que, naquele momento, a região westus não tinha capacidade para esse tamanho. Isso varia ao longo do tempo e não depende de nada que você tenha feito.
- Limitações da subscription (hipóteses 2 e 3): assinaturas de avaliação gratuita costumam ter cota de processamento bem reduzida em várias regiões e não permitem solicitar aumento de cota. O fato de o
az vm list-skus não retornar nada e de o Portal dizer que a subscription não é válida reforça essa hipótese.
Passo 1: verificar o estado da subscription
A mensagem do Portal é a pista mais importante. Na conta gratuita do Azure, o crédito inicial vale por 30 dias. Quando ele acaba ou expira, a subscription é desabilitada até que seja feito o upgrade para o modelo de pagamento conforme o uso. Pra conferir, rode no Cloud Shell:
az account show --query "{nome:name, estado:state}" --output table
Se o estado aparecer como Enabled, a subscription está ativa e você pode seguir para o Passo 2. Se aparecer Disabled ou Warned, esse é o motivo do erro no Portal.
O nome "Azure Subscription 1" é genérico e não indica o tipo da assinatura. Para saber qual é, abra o Portal, vá em Assinaturas, selecione a sua e veja o campo Oferta: "Avaliação Gratuita" (Free Trial) ou "Pagamento conforme o uso" (Pay-As-You-Go).
Se ela estiver desabilitada, a documentação Reativar uma assinatura desabilitada explica o processo de upgrade. Depois do upgrade, os serviços gratuitos continuam valendo até completar 12 meses, mas o que passar desses limites é cobrado no seu cartão. Por isso, use tamanhos pequenos e apague os recursos ao final da aula.
Se você for estudante de uma instituição de ensino, também vale conhecer o Azure for Students, que oferece crédito sem precisar de cartão. Ele também tem restrições, porém: normalmente libera apenas algumas regiões.
Passo 2: descobrir quais tamanhos estão liberados para você
Por padrão, o az vm list-skus mostra apenas os tamanhos liberados para a sua subscription. Se ele não retornou nada, é um forte sinal de que nenhum tamanho daquela busca está liberado para você naquela região. Adicionando --all, você vê todos os tamanhos, junto com as restrições:
az vm list-skus --location eastus2 --size Standard_B --all --output table
Na coluna Restrictions, None significa que o tamanho está liberado. Já NotAvailableForSubscription indica que ele está bloqueado para a sua subscription naquela região. Você pode testar outras regiões trocando o valor de --location.
Também dá para conferir a sua cota de vCPUs na região:
az vm list-usage --location eastus2 --output table
Se o limite de "Total Regional vCPUs" estiver zerado, a restrição é da subscription, e trocar de tamanho não vai resolver naquela região.
Passo 3: criar a VM informando tamanho e região
Com uma região e um tamanho liberados, adapte o comando da aula deixando os dois explícitos:
az vm create -n MyFirstVM -g labazcli --image Ubuntu2204 --size Standard_B1s --location eastus2 --generate-ssh-keys
O Standard_B1s é um tamanho pequeno, suficiente para o laboratório e incluído nos serviços gratuitos da conta de avaliação. O --location pode ser diferente da região do grupo de recursos, então não é preciso recriar o labazcli. Se o erro de capacidade aparecer de novo, experimente outra região que tenha aparecido como liberada no Passo 2. Regiões menos procuradas costumam ter mais disponibilidade.
A documentação Resolver erros de SKU não disponível traz mais detalhes sobre esse diagnóstico.
Ao terminar a prática, apague o grupo de recursos para não consumir crédito à toa:
az group delete -n labazcli --yes --no-wait