- Azure Resource Manager Templates Quick Start Guide
- Ritesh Modi
- 518字
- 2021-07-02 12:59:35
Writing your first template
Now it's time to focus and create our first ARM template using Visual Studio 2017. Open Visual Studio 2017 and select File | New | Project | Cloud | Azure Resource Group. Provide a Name and Location in New Project dialog box and click on OK:

Select Blank Template and click on OK:

This should create a solution and the MyFirstTemplate project in Visual Studio. It will also create an ARM template file named azureDeploy.json and a template parameters file named azureDeploy.parameters.json. There is also a PowerShell file, Deploy-AzureResourceGroup.ps1, for both creating a resource group and deploying a template in it. We are not going to use it. Readers can go ahead and delete it:

The content of the azuredeploy.json file is the same as shown before; for simplicity's sake, it is shown again:
{
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {},
"variables": {},
"resources": [],
"outputs": {}
}
If readers try to deploy this template, it will successfully get deployed, however, it would not do anything meaningful at this stage.
Let's add a parameter, variable, resource, and an output to this template so it does something meaningful. It is possible that readers might not be able to understand many sections within this ARM template, but let me assure you that by the time you finish reading Chapter 5, IaaS Solutions Using Templates, everything will become crystal clear to you.
This template is responsible for provisioning a new storage account on Azure. The name of the storage account is available as a parameter, the SKU of the storage account is defined in the variables section, and the output consists of the storage name concatenated with the storage SKU.
The entire code listing is shown here:

Let's take a look at each of these elements:
- Line 2 declares the schema element.
- Line 3 defines the version of the template.
- Lines 4—8 define a single parameter named storageAccountName of the string type.
- Lines 9—11 define a single variable named storageType with the Standard_LRS value.
- Lines 12—23 define a single storage account resource within the resources array. The name for the resource gets its value from the parameters and syntax. [parameters('storageAccountName')] is an expression that is evaluated at runtime to get a value from the storageAccountName parameter. Similarly, the [variables('storageType')] syntax on line 19 is an expression that is evaluated at runtime to get a value from the strorageType variable. Line 17 has an expression that consists of an out-of-the-box ARM template function, resourceGroup, with the location as its property. It returns the Azure location for the resource group within which the resource is getting provisioned. ARM template expressions and functions will be covered in Chapter 3, Understanding Core Elements of ARM Templates.
- Lines 24—29 define the outputs section and it consist of single output named storageDetails of the string type. The value is generated at runtime using the concat function, which concatenates the storageAccountName parameter and the strorageType variable together.
- Social Media Mining with R
- Cybersecurity:Attack and Defense Strategies
- Linux實戰
- Windows Phone應用程序開發
- Windows 7中文版從入門到精通(修訂版)
- AutoCAD 2014中文版從入門到精通
- 操作系統分析
- Vim 8文本處理實戰
- Advanced Infrastructure Penetration Testing
- 鴻蒙操作系統設計原理與架構
- Raspberry Pi入門指南
- Linux內核修煉之道
- iOS Programming Cookbook
- Gradle Effective Implementations Guide(Second Edition)
- Linux應用大全 服務器架設