Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Um ambiente Azure DevTest Labs consiste em múltiplas máquinas virtuais de infraestrutura como serviço (IaaS) com recursos de plataforma como serviço (PaaS) instalados. Pode provisionar e implementar ambientes DevTest Labs usando templates Azure Resource Manager (ARM).
Para implementar soluções complexas como ambientes, pode dividir um template em templates secundários e implementar esses templates através de um template principal. Este artigo descreve a utilização de modelos aninhados para implementar um ambiente DevTest Labs. Utilizar um conjunto de modelos direcionados e específicos para um propósito para implementar um ambiente promove o teste, a reutilização e a legibilidade.
Para informações gerais sobre templates aninhados, incluindo exemplos de código, veja Usar templates ligados e aninhados ao implementar recursos Azure.
Nota
Se precisar de gerir recursos, políticas e definições de segurança PaaS em toda a empresa, ou integração CI/CD entre fases de implementação e aplicações, considere usar Ambientes de Implementação Azure (ADE) para criar ambientes. A ADE permite aos programadores implementar rapidamente infraestruturas de aplicações usando modelos baseados em projetos, garantindo ambientes consistentes e seguros para as suas equipas de desenvolvimento. Para mais informações, consulte a documentação dos Ambientes de Implementação do Azure.
Implementação de modelos aninhados
Nos DevTest Labs, podes armazenar templates ARM num repositório Git ligado a um laboratório. Quando usas templates de repositório para criar um ambiente, o DevTest Labs copia todos os ficheiros de templates e artefactos, incluindo ficheiros de templates aninhados, para o contentor Azure Storage do laboratório.
O ficheiro principal azuredeploy.json para uma implementação de modelos aninhados utiliza objetos Microsoft.Resources/deployments para invocar modelos secundários ligados. Forneces valores URI para os templates ligados e geras um token de Assinatura de Acesso Partilhado (SaS) para a implementação.
A implementação utiliza Azure PowerShell New-AzResourceGroupDeployment ou Azure CLI az deployment group create, especificando o URI principal do template e o token SaS. Para mais informações, consulte Tutorial: Implementar um modelo ligado.
Exemplo de modelo aninhado
O seguinte exemplo do ficheiro de modelo principal azuredeploy.json mostra o código para uma implementação aninhada. O ficheiro de template principal define ligações para o template aninhado.
A URI do link para o modelo secundário concatena a localização dos artefactos, a pasta do modelo aninhado, o nome do ficheiro do modelo aninhado e a localização do token SaS (Shared Access Signature) dos artefactos. A URI para o ficheiro de parâmetros secundários utiliza a localização dos artefactos, a pasta de modelos aninhados, o nome do ficheiro de parâmetros aninhados e a localização do token SaS dos artefactos.
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"_artifactsLocation": {
"type": "string"
},
"_artifactsLocationSasToken": {
"type": "securestring"
}},
"variables": {
"NestOneTemplateFolder": "nestedtemplates",
"NestOneTemplateFileName": "NestOne.json",
"NestOneTemplateParametersFileName": "NestOne.parameters.json"},
"resources": [
{
"name": "NestOne",
"type": "Microsoft.Resources/deployments",
"apiVersion": "2016-09-01",
"dependsOn": [ ],
"properties": {
"mode": "Incremental",
"templateLink": {
"uri": "[concat(parameters('_artifactsLocation'), '/', variables('NestOneTemplateFolder'), '/', variables('NestOneTemplateFileName'), parameters('_artifactsLocationSasToken'))]",
"contentVersion": "1.0.0.0"
},
"parametersLink": {
"uri": "[concat(parameters('_artifactsLocation'), '/', variables('NestOneTemplateFolder'), '/', variables('NestOneTemplateParametersFileName'), parameters('_artifactsLocationSasToken'))]",
"contentVersion": "1.0.0.0"
}
}
}],
"outputs": {}
Conteúdo relacionado
- Para obter mais informações sobre ambientes DevTest Labs, consulte Usar modelos ARM para criar ambientes DevTest Labs.
- Para mais informações sobre a utilização do modelo de projeto Visual Studio Azure Resource Group, incluindo exemplos de código, consulte Criar e implementar grupos de recursos Azure através do Visual Studio.