是否可以从代码中在我的Azure帐户上创建新的Web应用程序和数据库?

时间:2016-06-20 21:51:43

标签: .net azure

我正在编写一个应用程序,需要在单个企业帐户上抽象在Azure上设置Web应用程序和SQL数据库实例的业务,以便非技术利益相关者可以在Web上创建托管的微应用程序。

为我们的企业用户提供此功能的Web应用程序是用.NET MVC(C#)编写的,并将在Azure上的同一公司帐户下运行。

是否有任何类型的API可以让我从代码创建新的Web应用程序和SQL实例?

2 个答案:

答案 0 :(得分:1)

我认为您正在寻找Azure资源管理器以实用方式配置资源。

https://msdn.microsoft.com/en-us/library/azure/dn790568.aspx?f=255&MSPPError=-2147217396

对于样本模板,您可以从示例github存储库

中引用

e.g https://github.com/Azure/azure-quickstart-templates/tree/master/201-web-app-sql-database

答案 1 :(得分:1)

Azure资源管理器模板是一种JSON格式文件,它定义特定资源组或部署的所有Azure基础结构资源。可以使用单个PowerShell命令或通过Visual Studio部署任务部署模板,例如:

New-AzureRmResourceGroupDeployment -Name ((Get-ChildItem $TemplateFile).BaseName + '-' + ((Get-Date).ToUniversalTime()).ToString('MMdd-HHmm'))
  -ResourceGroupName $ResourceGroupName -TemplateFile $TemplateFile 
  -TemplateParameterFile $TemplateParametersFile @OptionalParameter -Force -Verbose

上面的命令使用模板参数文件来定义将用于命名和定位要创建的资源的输入,以及要部署到的实际资源组的名称。必须已使用命令

创建此资源组
New-AzureRmResourceGroup -Name $ResourceGroupName -Location $ResourceGroupLocation -Verbose -Force -ErrorAction Stop

ARM模板是幂等的,这意味着如果资源已经存在,则再次部署模板不会造成任何损害。执行部署的资源管理器将能够确定资源是否已经存在,以及它们是否处于所需状态(根据提供的模板和参数),并且不会执行任何操作来更改或部署资源是一致的。 ARM模板可以包含操作参数和变量的函数,例如,它们在整个EHI模板中被广泛使用以遵守命名约定。可以在此处找到模板支持的功能的完整列表:

https://azure.microsoft.com/en-us/documentation/articles/resource-group-template-functions/

我已经在博客中介绍了如何使用ARM模板构建使用VSTS到Azure的持续部署流程 - 我的演练中的模板用于网站+ SQL数据库,这是随机提供的“开箱即用”模板之一视觉工作室。您不必使用VS来执行此操作,只是使过程更容易一些。如果您愿意,可以使用记事本和命令行,也可以直接在天蓝色门户网站的“模板”my.gallery中编辑模板。

Continuous Deployment process of Infrastructure as code to an Azure Resource Group