负责创建自动Azure部署和交换'工具',我想使用C#和Azure资源管理器并将其添加到WebAPI服务器。 但是,文档似乎有限。
例如,以下是ARMs BeginSwapSlotWithProduction()
的链接谷歌搜索该方法只返回7个结果!
我看到Azure PowerShell cmdlet有很好的文档记录。
Azure资源管理器和模板也是如此。 < - 不安全。
我考虑在C#中使用Powershell内联,例如记录here. 但似乎我在与系统作斗争。
试图让这个问题不再是基于意见的。还有其他我没有在此提及的替代方案。
寻找一种记录良好,强类型的方式来与Azure进行交互。
答案 0 :(得分:1)
如果要交换或部署WebApp,可以使用Microsoft.Azure.Management.Fluent和Microsoft.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");