管理Azure网站部署/备份/日志的指南

时间:2017-11-15 01:58:26

标签: c# azure azure-resource-manager azure-powershell azure-cli

负责创建自动Azure部署和交换'工具',我想使用C#和Azure资源管理器并将其添加到WebAPI服务器。 但是,文档似乎有限。

例如,以下是ARMs BeginSwapSlotWithProduction()

的链接

谷歌搜索该方法只返回7个结果!

我看到Azure PowerShell cmdlet有很好的文档记录。

Azure资源管理器和模板也是如此。 < - 不安全。

我考虑在C#中使用Powershell内联,例如记录here. 但似乎我在与系统作斗争。

试图让这个问题不再是基于意见的。还有其他我没有在此提及的替代方案。

  • Azure资源管理器(基于流利)
  • Azure资源管理器
  • Azure PowerShell
  • 带有(弱类型)资源管理器模板的Azure Resource Manager REST。

寻找一种记录良好,强类型的方式来与Azure进行交互。

1 个答案:

答案 0 :(得分:1)

如果要交换或部署WebApp,可以使用Microsoft.Azure.Management.FluentMicrosoft.Azure.Management.ResourceManager.Fluent。我们还可以从github Azure SDK获得更多演示代码。关于如何获取凭证文件,您可以参考Authentication in Azure Management Libraries for .NET

以下是演示代码。

var credentials = SdkContext.AzureCredentialsFactory.FromFile(@"Credential file path");
var azure = Azure
            .Configure()
            .WithLogLevel(HttpLoggingDelegatingHandler.Level.Basic)
            .Authenticate(credentials)
            .WithDefaultSubscription();

//create WebApp
var webApp = azure.WebApps.Define(appName)
.WithRegion(Region.USWest)
.WithNewResourceGroup(rgName)
.WithNewFreeAppServicePlan()
.Create();

//Deploy WebApp
 webApp .Deploy().WithPackageUri("packageUri");

//get WebApp
var webApp = azure.WebApps.GetByResourceGroup("rgName", "appName");

//swap WebApp
webApp.Swap("slotName");