{"id":5713,"date":"2014-11-26T00:00:00","date_gmt":"2014-11-26T00:00:00","guid":{"rendered":"https:\/\/azure.microsoft.com\/blog\/azure-resource-manager-2-5-for-visual-studio"},"modified":"2025-09-16T09:05:54","modified_gmt":"2025-09-16T16:05:54","slug":"azure-resource-manager-2-5-for-visual-studio","status":"publish","type":"post","link":"https:\/\/azure.microsoft.com\/en-us\/blog\/azure-resource-manager-2-5-for-visual-studio\/","title":{"rendered":"Azure Resource Group for Visual Studio"},"content":{"rendered":"\n<h3 class=\"wp-block-heading\" id=\"previously-known-as-azure-resource-manager-tooling-preview\">Previously known as Azure Resource Manager Tooling Preview<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">The Azure Resource Manager&nbsp;Tools&nbsp;in <a href=\"https:\/\/azure.microsoft.com\/en-us\/downloads\/\">Azure SDK 2.7 for&nbsp;.NET<\/a>&nbsp;enables you to:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li class=\"wp-block-list-item\">Create an application using the Azure Gallery templates.<\/li>\n\n\n\n<li class=\"wp-block-list-item\">Create and edit Azure Resource Manager deployment templates to provision resource including websites, database, virtual machines and more using the JSON Outline and Editor.<\/li>\n\n\n\n<li class=\"wp-block-list-item\">Create and edit Azure Resource Manager deployment templates\u00a0and parameter files\u00a0to\u00a0customize deployments for different environments, such as\u00a0development, staging and production.<\/li>\n\n\n\n<li class=\"wp-block-list-item\">Create resource groups and deploy templates into these to simplify the creation of resources.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">The Azure Resource Manager enables you to create reusable deployment templates that declaratively describe the resources that make up your application such as an Azure Website and a SQL Azure database. This simplifies the process of creating complex environments for development, testing and production in a repeatable manner. It also provides a unified way to manage and monitor the resources that make up an application from the <a href=\"https:\/\/portal.azure.com\/\">Azure Preview Portal<\/a>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">You are able to create an application using the Azure Gallery Templates and define and manage your Azure resources using JSON templates. This makes it easier for you to quickly setup the environment you need to Dev\/Test your application in Azure. The two key features are the Visual Studio integration with the Azure Gallery and the ability to create and edit Azure Resource Manager deployment templates.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">We will get started using this tooling by walking through a scenario. First, we will create a web site based on a Cloud Deployment project and we will look at what artifacts are added to your solution when you create your project. Then we are going to create and deploy the Azure resource group and resources we need for our application, which will include publishing of our application.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This tooling is available in the <a href=\"https:\/\/azure.microsoft.com\/en-us\/downloads\/\">Azure SDK 2.7 for .NET<\/a> [download for <a href=\"https:\/\/go.microsoft.com\/fwlink\/?linkid=518003&amp;clcid=0x409\">VS 2015<\/a> | <a href=\"https:\/\/go.microsoft.com\/fwlink\/p\/?linkid=323510&amp;clcid=0x409\">VS 2013<\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"create-an-azure-resource-group-project\">Create an Azure Resource Group project<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">This walkthrough will cover how to deploy a website to a resource group. If you don\u2019t have an ASP.NET 4.5.2 website already, create one now, by choose File -&gt; Project and selecting Visual C#\/Visual Basic -&gt; Cloud -&gt; ASP.NET Web Application.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">With the Azure Resource Manager Tooling, we have made it possible to create Visual Studio applications using the Azure Gallery templates. As mentioned previously, the Azure SDK 2.7 must be installed to see the cloud deployment project templates. You can find these templates by selecting File-&gt;New Project. Select Templates -&gt; Visual C#\/Visual Basic -&gt; Cloud-&gt; \u201cAzure Resource Group\u201d.<\/p>\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" src=\"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2014\/11\/NewProjectDlg-533x369-1.webp\" alt=\"graphical user interface, text, application\" class=\"wp-image-9056 webp-format\" data-orig-src=\"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2014\/11\/NewProjectDlg-533x369-1.webp\"><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Once you create a Cloud Deployment Project, you will find a list of the available templates. We\u2019ve made a couple of the more popular Azure Gallery templates available.<\/p>\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" src=\"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2014\/11\/SelectTemplate-492x369-1.webp\" alt=\"graphical user interface, application, Word\" class=\"wp-image-9058 webp-format\" data-orig-src=\"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2014\/11\/SelectTemplate-492x369-1.webp\"><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Templates include ability to create web apps,&nbsp;SQL databases and virtual machines (both Windows and Linux). A blank template is&nbsp;available for developers that want to build their template from the ground up using either the JSON&nbsp;Outline and&nbsp;editor or their own custom editor.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">For this walkthrough, we will select the <strong>Web app + SQL<\/strong> template. The template will create the Azure Resource Group project to create a sql server, create a website, but not deploy the website package. In earlier versions (Cloud Deployment project) the web site project was included with the deployment project. This was removed to more easily allow the deployment project to be added to an existing web project. So let\u2019s add the standard ASP .NET web application project to the solution, you do not need to check the \u201cHost in the cloud\u201d option as the deployment project will handle this.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Once you have added the web application project to the solution, add the web application project reference to the deployment project references.<\/p>\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" src=\"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2014\/11\/AddReference-538x369-1.webp\" alt=\"graphical user interface, text, application, Word\" class=\"wp-image-9060 webp-format\" data-orig-src=\"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2014\/11\/AddReference-538x369-1.webp\"><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Adding the reference does a couple of things in the background, it lets the deployment project know the web project that is linked to it and enables the web project to build a web deployment package (package.zip). The location of this package is needed later for the deployment parameters.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Let\u2019s add the JSON necessary to deploy the website itself. Open the WebSiteSQLDatabase.json file to add a WebDeploy resource. The easiest way to do that is right click the Website resource in the JSON Outline tool window and choose Add New Resource. Notice when you select the Website resource the appropriate JSON has been highlighted.<\/p>\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" src=\"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2014\/11\/JsonOutlineEditor.webp\" alt=\"graphical user interface, text, application\" class=\"wp-image-9062 webp-format\" data-orig-src=\"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2014\/11\/JsonOutlineEditor.webp\"><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Choosing Add New Resource will bring up the Add Resource dialog which will show not only some of the same resource templates as shown earlier in this article but also other resource snippets to allow customizations. This time choose Web Deploy for Web Apps. Notice that you must choose web app that is being deployed. This is the website being created by the Azure Resource Group project, which in this case is Website.<\/p>\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" src=\"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2014\/11\/AddWebDeployJSON.webp\" alt=\"graphical user interface, application\" class=\"wp-image-9064 webp-format\" data-orig-src=\"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2014\/11\/AddWebDeployJSON.webp\"><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"your-cloud-app-solution\">Your Cloud App Solution<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The Deployment project includes a deployment template file (<strong>WebSite.json<\/strong>), a template parameter definition (<strong>WebSite.param.dev.json<\/strong>), and a PowerShell script (<strong>Publish-AzureResourceGroup.ps1<\/strong>) that can be used to deploy your resources to Azure..<\/p>\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" src=\"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2014\/11\/SolnExpExpanded.webp\" alt=\"graphical user interface, text, application\" class=\"wp-image-9066 webp-format\" title=\"SolnExpExpanded\" data-orig-src=\"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2014\/11\/SolnExpExpanded.webp\"><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Let\u2019s take a look at each of these artifacts in your solution: In the Reference section, we have a reference to the MyWebsite project which we added to the Resource Group project. This is required to more easily use the MSDeploy extension.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The <strong>Deploy-AzureResourceGroup.ps1<\/strong> is the main script used for the deployment. It handles uploading deployment artifacts and calling New-AzureResourceGroup to provision the resources in Azure. The \u201cNew Deployment\u201d menu in the Visual Studio IDE uses this script for deployment, allowing the user to customize the deployment.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The <strong>WebSiteSQLDatabase.json<\/strong> file is the deployment template file where your resources are defined. This file contains all the resources that we are going to provision later. As you might imagine, since we selected the Website + SQL template, this file contains the definitions needed to create a website and a SQL Azure database as well as deploy the website package. We\u2019ll take a closer look at this later.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The <strong>WebSiteSQLDatabase.param.dev.json<\/strong> contains the values for the non-default parameters needed by the deployment template file. For example, the name of the website is a parameter and that value would go in this file.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"create-my-azure-resources-using-the-dialog\">Create My Azure Resources \u2013 Using the Dialog<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">There are a couple of ways to deploy your resources and resource group to Azure. The simplest method is to right click on the Deployment Project and select Deploy \/ New Deployment\u2026<\/p>\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" src=\"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2014\/11\/2014-11-13_13h08_13_thumb.webp\" alt=\"graphical user interface, application, Word\" class=\"wp-image-9068 webp-format\" title=\"2014-11-13_13h08_13\" data-orig-src=\"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2014\/11\/2014-11-13_13h08_13_thumb.webp\"><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Choose the account to use as well as the subscription.<\/p>\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" src=\"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2014\/11\/DeploytoRG.webp\" alt=\"graphical user interface, text, application, email\" class=\"wp-image-9070 webp-format\" data-orig-src=\"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2014\/11\/DeploytoRG.webp\"><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">We need to create an Azure Resource Group which will contain the logical grouping of all of the resources we need for our web application. To do that click on the Resource group combo box and select \u201cCreate New\u201d.<\/p>\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" src=\"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2014\/11\/CreateNewRG.webp\" alt=\"graphical user interface, text, application, email\" class=\"wp-image-9072 webp-format\" title=\"CreateNewRG\" data-orig-src=\"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2014\/11\/CreateNewRG.webp\"><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Name your Azure Resource Group whatever you want (I\u2019ve used the default which is based on the solution name \u201cMyAzureCloudApp\u201d) and give it a location. Click the Create button when you are ready and your Azure Resource Group will automatically be provisioned for you (but with no resources yet).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Make sure you\u2019ve selected a Deployment template (<strong>WebSiteDeploySQL.json<\/strong>), Template Parameter file (<strong>WebSiteDeploySQL.param.dev.json<\/strong>), and a storage account as I\u2019ve done above. If you don\u2019t already have a storage account, you will need to <a href=\"https:\/\/azure.microsoft.com\/en-us\/documentation\/articles\/storage-create-storage-account\/\" target=\"_blank\" rel=\"noopener\">create a storage account<\/a> before continuing.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Next click the \u201cEdit Parameters\u201d button. We are going to define our website name, web hosting plan name and website location so that it looks something like I\u2019ve done here:<\/p>\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" src=\"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2014\/11\/EditParameters.webp\" alt=\"graphical user interface, table\" class=\"wp-image-9074 webp-format\" data-orig-src=\"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2014\/11\/EditParameters.webp\"><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">The red exclamation marks are required parameters that we\u2019ll have to add. Below is a table with information on each parameter.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td>siteName<\/td><td>This parameter is the name of your website.<\/td><\/tr><tr><td>hostingPlanName<\/td><td>This is the <a href=\"https:\/\/azure.microsoft.com\/en-us\/documentation\/articles\/web-sites-web-hosting-plan-overview\/\">Web Hosting Plan<\/a> name. A hosting plan represents features and capacity settings that you can share out across more than one website.<\/td><\/tr><tr><td>siteLocation<\/td><td>The region where our website will reside, and will be something like \u201cWest US\u201d or \u201cCentral US\u201d or any of the valid website <a href=\"https:\/\/azure.microsoft.com\/en-us\/regions\/#services\">regions<\/a>.<\/td><\/tr><tr><td>sku<\/td><td>Default to \u201cFree\u201d, and this is the <a href=\"https:\/\/azure.microsoft.com\/blog\/2014\/04\/21\/azure-web-sites-new-basic-pricing-tier\/\">website\u2019s pricing tier<\/a> (other options are Shared, Basic, and Standard).<\/td><\/tr><tr><td>workerSize<\/td><td>Default to zero. This setting is used to describe the size of the virtual machine that runs your website (0=small, 1= medium, and 2=large). In this example, workerSize has no effect, since we choose a sku size of \u201cFree\u201d. For it to be applicable we would have to pick the sku size to be Basic or Standard and then you would need to select the appropriate workerSize.<\/td><\/tr><tr><td>serverName<\/td><td>The name of the Azure SQL Server.<\/td><\/tr><tr><td>serverLocation<\/td><td>The location of the Azure SQL Server.<\/td><\/tr><tr><td>administratorLogin<\/td><td>The administrator name for the SQL server.<\/td><\/tr><tr><td>administratorLoginPassword<\/td><td>The password for the administrator.<\/td><\/tr><tr><td>databaseName<\/td><td>The name of the database created in the server.<\/td><\/tr><tr><td>collation<\/td><td><a href=\"https:\/\/msdn.microsoft.com\/en-us\/library\/azure\/ee336245.aspx\">SQL Server Collation Support<\/a><\/td><\/tr><tr><td>edition<\/td><td><a href=\"https:\/\/msdn.microsoft.com\/en-us\/library\/azure\/dn741340.aspx\">Azure SQL Database Service Tiers<\/a><\/td><\/tr><tr><td>maxSizeBytes<\/td><td><a href=\"https:\/\/msdn.microsoft.com\/en-us\/library\/azure\/ee336245.aspx\">Database Size Limits<\/a><\/td><\/tr><tr><td>requestedServiceObjectiveId<\/td><td><a href=\"https:\/\/msdn.microsoft.com\/en-US\/library\/azure\/dn505701\">Edition Performance Levels<\/a><\/td><\/tr><tr><td>webSitePackage<\/td><td>Name and parent folder of deployment package<\/td><\/tr><tr><td>_artifactsLocation<\/td><td>An auto-generated location for the web deployment package. The _artifactsLocation is a folder in the Azure storage that was entered in the &#8220;Deploy to Resource Group&#8221; dialog where the webSitePackage will be copied to.<\/td><\/tr><tr><td>_artifactsLocationSASToken<\/td><td>An auto-generated security key.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">The \u201cSave Passwords\u201d check box will store the password into the JSON file, but it will be stored as plain text so you need to be extra diligent with this option.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">After you fill out these parameters click the \u201c<strong>Deploy<\/strong>\u201d button or if you have edited the parameters, as in this example, the \u201cSave\u201d and then \u201cDeploy\u201d and you\u2019ll have your resource group and resources deployed to Azure! In this case we have deployed a website with your custom web application inside of an Azure resource group (check it out on the new and enhanced <a href=\"https:\/\/portal.azure.com\/\" target=\"_blank\" rel=\"noopener\">Azure Portal<\/a>):<\/p>\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" src=\"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2014\/11\/AzurePortal.webp\" alt=\"graphical user interface, application\" class=\"wp-image-9076 webp-format\" data-orig-src=\"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2014\/11\/AzurePortal.webp\"><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">After you have deployed your resources, you\u2019ll see that it has written the parameter values back to the <strong>WebSiteDeploySQL.param.dev.json<\/strong> file like so:<\/p>\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" src=\"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2014\/11\/ParamDevFull.webp\" alt=\"text\" class=\"wp-image-9078 webp-format\" title=\"ParamDevFull\" data-orig-src=\"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2014\/11\/ParamDevFull.webp\"><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Save the JSON file so that the changes are persisted. The <strong>WebSiteDeploySQL.param.dev.json<\/strong> will have \u201cnull\u201d for the parameter values if you haven\u2019t deployed the resource group or edited the parameters.<\/p>\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" src=\"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2014\/11\/ParamDevEmpty.webp\" alt=\"text, application\" class=\"wp-image-9080 webp-format\" data-orig-src=\"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2014\/11\/ParamDevEmpty.webp\"><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">The deployment output is sent to the Azure Provisioning windows.<\/p>\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" src=\"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2014\/11\/DeployOutputWindow.webp\" alt=\"text\" class=\"wp-image-9082 webp-format\" title=\"DeployOutputWindow\" data-orig-src=\"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2014\/11\/DeployOutputWindow.webp\"><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">So now that we\u2019ve published, let\u2019s take a look at another way that you can create an Azure Resource Group and deploy Azure resources.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"deploy-my-azure-resources-using-powershell\">Deploy My Azure Resources \u2013 Using PowerShell<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The second way to create a resource group in Azure is to run the PowerShell script provided as part of the Deployment project (<strong>Publish-AzureResourceGroup.ps1<\/strong>). The script leverages the latest <a href=\"https:\/\/azure.microsoft.com\/en-us\/documentation\/articles\/powershell-azure-resource-manager\/\" target=\"_blank\" rel=\"noopener\">Azure PowerShell<\/a> (at least version 0.8.3 or later).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The script we give you uses the <a href=\"https:\/\/msdn.microsoft.com\/en-us\/library\/dn654594.aspx\" target=\"_blank\" rel=\"noopener\">Azure PowerShell<\/a> cmdlets to create an Azure Resource Group if one does not exist (which is specified by the \u2013Name parameter in the script). The script passes along the <strong>WebSiteDeploySQL.json<\/strong> and WebSiteDeploySQL.param.dev.json files to the Azure Resource Manager service which figures out exactly what Azure resources need to be deployed.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Before running, you\u2019ll need to ensure that the <strong>WebsiteDeploySQL.param.dev.json<\/strong> file contains the correct name of your website, hosting plan, web site location, and SQL parameters. Make sure you save your changes.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Notice below I\u2019ve changed the website name to \u201cmattsAwesomeSite\u201d. You\u2019ll want to change your website name as well. I did this so to make sure that it creates a new website for me.<\/p>\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" src=\"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2014\/11\/ParamDevFull.webp\" alt=\"text\" class=\"wp-image-9078 webp-format\" title=\"ParamDevFull\" data-orig-src=\"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2014\/11\/ParamDevFull.webp\"><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Just to show something off here, go ahead and double click on the <strong>Publish-AzureResourceGroup.ps1<\/strong> file to bring it up in the document window in Visual Studio (in case you haven\u2019t seen yet, we\u2019ve added coloring for PowerShell scripts). After that, you can right click on the<strong> Publish-AzureResourceGroup.ps1<\/strong> file, select \u201cOpen with PowerShell ISE\u201d.<\/p>\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" src=\"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2014\/11\/OpenPSISE.webp\" alt=\"graphical user interface, application\" class=\"wp-image-9084 webp-format\" title=\"OpenPSISE\" data-orig-src=\"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2014\/11\/OpenPSISE.webp\"><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This will launch the PowerShell ISE. You can run the PowerShell script at this point. But just to make sure you have an error free experience, double check a few things:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li class=\"wp-block-list-item\">Have you installed <a href=\"https:\/\/go.microsoft.com\/?linkid=9811175\" target=\"_blank\" rel=\"noopener\">Azure PowerShell<\/a> yet (at least version 0.8.3)?\n<ul class=\"wp-block-list\">\n<li class=\"wp-block-list-item\">You can install using <a href=\"https:\/\/www.microsoft.com\/web\/downloads\/platform.aspx\" target=\"_blank\" rel=\"noopener\">Web Platform Installer<\/a>.\u00a0 Just select \u201cMicrosoft Azure PowerShell\u201d.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" src=\"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2014\/11\/WPIPowerShell.webp\" alt=\"text\" class=\"wp-image-9086 webp-format\" title=\"WPIPowerShell\" data-orig-src=\"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2014\/11\/WPIPowerShell.webp\"><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li class=\"wp-block-list-item\">If you haven\u2019t done much with PowerShell before, then you probably need to set the execution policy to allow PowerShell scripts to run. To do this you need to run \u201c<a href=\"https:\/\/technet.microsoft.com\/en-us\/library\/ee176961.aspx\" target=\"_blank\" rel=\"noopener\">Set-ExecutionPolicy RemoteSigned<\/a>\u201d from the PowerShell ISE to allow remote signed scripts like ours to execute (note: you must run this command as an administrator). You\u2019ll be prompted with a dialog to confirm that you want to change your policy settings.<\/li>\n\n\n\n<li class=\"wp-block-list-item\">Make sure you\u2019ve run the Azure PowerShell command \u201c<a href=\"https:\/\/msdn.microsoft.com\/en-us\/library\/dn495128.aspx\" target=\"_blank\" rel=\"noopener\">Add-AzureAccount<\/a>\u201d to login your Azure account to the current PowerShell session. A dialog will display and you\u2019ll be prompted to enter in your Azure credentials.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Go ahead and run the PowerShell Script now: \u201c&gt; .Deploy-AzureResourceGroup.ps1 -ResourceGroupLocation &#8216;West US&#8217; -TemplateFile ..TemplatesWebSiteSQLDatabase.json -TemplateParametersFile ..TemplatesWebSiteSQLDatabase.param.dev.json -StorageAccountName myStorageAccount -UploadArtifacts true\u201d<br>You will be prompted for the storage location and the location of the resource group, which is any valid region (I\u2019ve picked \u201cWest US\u201d).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">After a few seconds, the PowerShell script should complete. The script also provides some great verbose output, so you can clearly see what resources were made, and what errors (if any) were encountered:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">When the script is complete, you\u2019ll find that your Azure resource group and the Azure resources you specified have been created for you (just as we did in the previous example) and you can view these in the <a href=\"https:\/\/portal.azure.com\/\" target=\"_blank\" rel=\"noopener\">Azure Portal<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"wrapping-it-up\">Wrapping it up<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">After all this we\u2019ve now introduced you to the&nbsp;Azure&nbsp;Resource Group&nbsp;Project. We\u2019ve shown you how you can create projects in Visual Studio based off of the Azure Gallery Templates.&nbsp; How you can define and deploy your Azure resource groups and resources using our tooling. Azure Resource Groups really are a great way to setup the environment you need to host your application.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The Azure Resource Manager enables you to create reusable deployment templates that declaratively describe the resources that make up your application.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"ms_queue_id":[],"ep_exclude_from_search":false,"_classifai_error":"","_classifai_text_to_speech_error":"","_alt_title":"","footnotes":"","msx_community_cta_settings":[]},"categories":[1551,1482],"tags":[],"audience":[3054,3055,3053],"content-type":[],"product":[1534,1552],"tech-community":[],"topic":[],"coauthors":[1376],"class_list":["post-5713","post","type-post","status-publish","format-standard","hentry","category-developer-tools","category-management-and-governance","audience-business-decision-makers","audience-developers","audience-it-decision-makers","product-azure-resource-manager","product-visual-studio","review-flag-1680286581-295","review-flag-1680286581-364","review-flag-1-1680286581-825","review-flag-2-1680286581-601","review-flag-3-1680286581-173","review-flag-4-1680286581-250","review-flag-5-1680286581-950","review-flag-7-1680286581-146","review-flag-8-1680286581-263","review-flag-free-1680286579-836","review-flag-new-1680286579-546"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.2 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Azure Resource Group for Visual Studio | Microsoft Azure Blog<\/title>\n<meta name=\"description\" content=\"The Azure Resource Manager enables you to create reusable deployment templates that declaratively describe the resources that make up your application.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/azure.microsoft.com\/en-us\/blog\/azure-resource-manager-2-5-for-visual-studio\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Azure Resource Group for Visual Studio | Microsoft Azure Blog\" \/>\n<meta property=\"og:description\" content=\"The Azure Resource Manager enables you to create reusable deployment templates that declaratively describe the resources that make up your application.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/azure.microsoft.com\/en-us\/blog\/azure-resource-manager-2-5-for-visual-studio\/\" \/>\n<meta property=\"og:site_name\" content=\"Microsoft Azure Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/microsoftazure\" \/>\n<meta property=\"article:published_time\" content=\"2014-11-26T00:00:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-09-16T16:05:54+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2014\/11\/NewProjectDlg-533x369-1.png\" \/>\n<meta name=\"author\" content=\"Roger Best\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@azure\" \/>\n<meta name=\"twitter:site\" content=\"@azure\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Roger Best\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"14 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/azure-resource-manager-2-5-for-visual-studio\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/azure-resource-manager-2-5-for-visual-studio\/\"},\"author\":[{\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/author\/roger-best\/\",\"@type\":\"Person\",\"@name\":\"Roger Best\"}],\"headline\":\"Azure Resource Group for Visual Studio\",\"datePublished\":\"2014-11-26T00:00:00+00:00\",\"dateModified\":\"2025-09-16T16:05:54+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/azure-resource-manager-2-5-for-visual-studio\/\"},\"wordCount\":2318,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/azure-resource-manager-2-5-for-visual-studio\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2014\/11\/NewProjectDlg-533x369-1.png\",\"articleSection\":[\"Developer tools\",\"Management and governance\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/azure.microsoft.com\/en-us\/blog\/azure-resource-manager-2-5-for-visual-studio\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/azure-resource-manager-2-5-for-visual-studio\/\",\"url\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/azure-resource-manager-2-5-for-visual-studio\/\",\"name\":\"Azure Resource Group for Visual Studio | Microsoft Azure Blog\",\"isPartOf\":{\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/azure-resource-manager-2-5-for-visual-studio\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/azure-resource-manager-2-5-for-visual-studio\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2014\/11\/NewProjectDlg-533x369-1.png\",\"datePublished\":\"2014-11-26T00:00:00+00:00\",\"dateModified\":\"2025-09-16T16:05:54+00:00\",\"description\":\"The Azure Resource Manager enables you to create reusable deployment templates that declaratively describe the resources that make up your application.\",\"breadcrumb\":{\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/azure-resource-manager-2-5-for-visual-studio\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/azure.microsoft.com\/en-us\/blog\/azure-resource-manager-2-5-for-visual-studio\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/azure-resource-manager-2-5-for-visual-studio\/#primaryimage\",\"url\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2014\/11\/NewProjectDlg-533x369-1.webp\",\"contentUrl\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2014\/11\/NewProjectDlg-533x369-1.webp\",\"width\":533,\"height\":369,\"caption\":\"graphical user interface, text, application\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/azure-resource-manager-2-5-for-visual-studio\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Blog home\",\"item\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Developer tools\",\"item\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/category\/developer-tools\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Azure Resource Group for Visual Studio\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/#website\",\"url\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/\",\"name\":\"Microsoft Azure Blog\",\"description\":\"Get the latest Azure news, updates, and announcements from the Azure blog. From product updates to hot topics, hear from the Azure experts.\",\"publisher\":{\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/#organization\",\"name\":\"Microsoft Azure Blog\",\"url\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2024\/06\/microsoft_logo.webp\",\"contentUrl\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2024\/06\/microsoft_logo.webp\",\"width\":512,\"height\":512,\"caption\":\"Microsoft Azure Blog\"},\"image\":{\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/microsoftazure\",\"https:\/\/x.com\/azure\",\"https:\/\/www.instagram.com\/microsoftdeveloper\/\",\"https:\/\/www.linkedin.com\/company\/16188386\",\"https:\/\/www.youtube.com\/user\/windowsazure\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/#\/schema\/person\/c702e5edd662b328b49b7e1180cab117\",\"name\":\"shakir\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/secure.gravatar.com\/avatar\/9342c7c05bb16548741bc5cd3a3e3b7ee0c8e746844ad2cc582db5beb5514c6f?s=96&d=mm&r=g7664e653ea371ce16eaf75e9fa8952c4\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/9342c7c05bb16548741bc5cd3a3e3b7ee0c8e746844ad2cc582db5beb5514c6f?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/9342c7c05bb16548741bc5cd3a3e3b7ee0c8e746844ad2cc582db5beb5514c6f?s=96&d=mm&r=g\",\"caption\":\"shakir\"},\"sameAs\":[\"https:\/\/azure.microsoft.com\"],\"url\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/author\/shakir\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Azure Resource Group for Visual Studio | Microsoft Azure Blog","description":"The Azure Resource Manager enables you to create reusable deployment templates that declaratively describe the resources that make up your application.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/azure.microsoft.com\/en-us\/blog\/azure-resource-manager-2-5-for-visual-studio\/","og_locale":"en_US","og_type":"article","og_title":"Azure Resource Group for Visual Studio | Microsoft Azure Blog","og_description":"The Azure Resource Manager enables you to create reusable deployment templates that declaratively describe the resources that make up your application.","og_url":"https:\/\/azure.microsoft.com\/en-us\/blog\/azure-resource-manager-2-5-for-visual-studio\/","og_site_name":"Microsoft Azure Blog","article_publisher":"https:\/\/www.facebook.com\/microsoftazure","article_published_time":"2014-11-26T00:00:00+00:00","article_modified_time":"2025-09-16T16:05:54+00:00","og_image":[{"url":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2014\/11\/NewProjectDlg-533x369-1.png","type":"","width":"","height":""}],"author":"Roger Best","twitter_card":"summary_large_image","twitter_creator":"@azure","twitter_site":"@azure","twitter_misc":{"Written by":"Roger Best","Est. reading time":"14 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/azure-resource-manager-2-5-for-visual-studio\/#article","isPartOf":{"@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/azure-resource-manager-2-5-for-visual-studio\/"},"author":[{"@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/author\/roger-best\/","@type":"Person","@name":"Roger Best"}],"headline":"Azure Resource Group for Visual Studio","datePublished":"2014-11-26T00:00:00+00:00","dateModified":"2025-09-16T16:05:54+00:00","mainEntityOfPage":{"@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/azure-resource-manager-2-5-for-visual-studio\/"},"wordCount":2318,"commentCount":0,"publisher":{"@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/#organization"},"image":{"@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/azure-resource-manager-2-5-for-visual-studio\/#primaryimage"},"thumbnailUrl":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2014\/11\/NewProjectDlg-533x369-1.png","articleSection":["Developer tools","Management and governance"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/azure.microsoft.com\/en-us\/blog\/azure-resource-manager-2-5-for-visual-studio\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/azure-resource-manager-2-5-for-visual-studio\/","url":"https:\/\/azure.microsoft.com\/en-us\/blog\/azure-resource-manager-2-5-for-visual-studio\/","name":"Azure Resource Group for Visual Studio | Microsoft Azure Blog","isPartOf":{"@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/azure-resource-manager-2-5-for-visual-studio\/#primaryimage"},"image":{"@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/azure-resource-manager-2-5-for-visual-studio\/#primaryimage"},"thumbnailUrl":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2014\/11\/NewProjectDlg-533x369-1.png","datePublished":"2014-11-26T00:00:00+00:00","dateModified":"2025-09-16T16:05:54+00:00","description":"The Azure Resource Manager enables you to create reusable deployment templates that declaratively describe the resources that make up your application.","breadcrumb":{"@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/azure-resource-manager-2-5-for-visual-studio\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/azure.microsoft.com\/en-us\/blog\/azure-resource-manager-2-5-for-visual-studio\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/azure-resource-manager-2-5-for-visual-studio\/#primaryimage","url":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2014\/11\/NewProjectDlg-533x369-1.webp","contentUrl":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2014\/11\/NewProjectDlg-533x369-1.webp","width":533,"height":369,"caption":"graphical user interface, text, application"},{"@type":"BreadcrumbList","@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/azure-resource-manager-2-5-for-visual-studio\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Blog home","item":"https:\/\/azure.microsoft.com\/en-us\/blog\/"},{"@type":"ListItem","position":2,"name":"Developer tools","item":"https:\/\/azure.microsoft.com\/en-us\/blog\/category\/developer-tools\/"},{"@type":"ListItem","position":3,"name":"Azure Resource Group for Visual Studio"}]},{"@type":"WebSite","@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/#website","url":"https:\/\/azure.microsoft.com\/en-us\/blog\/","name":"Microsoft Azure Blog","description":"Get the latest Azure news, updates, and announcements from the Azure blog. From product updates to hot topics, hear from the Azure experts.","publisher":{"@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/azure.microsoft.com\/en-us\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/#organization","name":"Microsoft Azure Blog","url":"https:\/\/azure.microsoft.com\/en-us\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2024\/06\/microsoft_logo.webp","contentUrl":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2024\/06\/microsoft_logo.webp","width":512,"height":512,"caption":"Microsoft Azure Blog"},"image":{"@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/microsoftazure","https:\/\/x.com\/azure","https:\/\/www.instagram.com\/microsoftdeveloper\/","https:\/\/www.linkedin.com\/company\/16188386","https:\/\/www.youtube.com\/user\/windowsazure"]},{"@type":"Person","@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/#\/schema\/person\/c702e5edd662b328b49b7e1180cab117","name":"shakir","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/9342c7c05bb16548741bc5cd3a3e3b7ee0c8e746844ad2cc582db5beb5514c6f?s=96&d=mm&r=g7664e653ea371ce16eaf75e9fa8952c4","url":"https:\/\/secure.gravatar.com\/avatar\/9342c7c05bb16548741bc5cd3a3e3b7ee0c8e746844ad2cc582db5beb5514c6f?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/9342c7c05bb16548741bc5cd3a3e3b7ee0c8e746844ad2cc582db5beb5514c6f?s=96&d=mm&r=g","caption":"shakir"},"sameAs":["https:\/\/azure.microsoft.com"],"url":"https:\/\/azure.microsoft.com\/en-us\/blog\/author\/shakir\/"}]}},"msxcm_display_generated_audio":false,"msxcm_animated_featured_image":null,"distributor_meta":false,"distributor_terms":false,"distributor_media":false,"distributor_original_site_name":"Microsoft Azure Blog","distributor_original_site_url":"https:\/\/azure.microsoft.com\/en-us\/blog","push-errors":false,"_links":{"self":[{"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/posts\/5713","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/comments?post=5713"}],"version-history":[{"count":1,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/posts\/5713\/revisions"}],"predecessor-version":[{"id":46318,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/posts\/5713\/revisions\/46318"}],"wp:attachment":[{"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/media?parent=5713"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/categories?post=5713"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/tags?post=5713"},{"taxonomy":"audience","embeddable":true,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/audience?post=5713"},{"taxonomy":"content-type","embeddable":true,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/content-type?post=5713"},{"taxonomy":"product","embeddable":true,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/product?post=5713"},{"taxonomy":"tech-community","embeddable":true,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/tech-community?post=5713"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/topic?post=5713"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/coauthors?post=5713"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}