Azure 网站管理指南 Deployments/Backups/Logs

Guidance on Managing Azure Website Deployments/Backups/Logs

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

例如下面是link for ARMs BeginSwapSlotWithProduction()

谷歌搜索该方法returns 只有 7 个结果!

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

带有模板的 Azure 资源管理器也是如此。 <- 类型不安全。

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

试图避免这个问题是基于意见的。还有其他我没有在这里提到的选择吗?

寻找一种有据可查的强类型方式基本上与 Azure 进行交互。

如果您想交换或部署 WebApp,您可以使用 Microsoft.Azure.Management.Fluent and Microsoft.Azure.Management.ResourceManager.Fluent. We also could get more demo code from the github Azure SDK. About how to get the credential file you could refer to 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");