Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
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.
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 Armazenamento do Azure 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 CLI do Azure 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.