C# 如何使用ARM和C将应用部署到azure?

C# 如何使用ARM和C将应用部署到azure?,c#,azure,asp.net-web-api2,azure-resource-manager,C#,Azure,Asp.net Web Api2,Azure Resource Manager,我已经看到了一些如何使用ARM和C创建存储资源的示例。我假设同样的情况也适用于应用程序。然而,我找不到一个有效的例子。 理想情况下,我希望有一个能够部署另一个应用程序的c#/WebAPI应用程序。这个过程应该完全自动化。 基本上,我想创建一个具有自己配置的同一应用程序的新实例——这个过程将由注册我的SaaS的新客户触发。 有人能就如何处理上述问题给出一些建议吗? 谢谢。您似乎希望以C代码编程方式将web应用程序(部署包)部署到Azure app service web app,您可以尝试使用它将

我已经看到了一些如何使用ARM和C创建存储资源的示例。我假设同样的情况也适用于应用程序。然而,我找不到一个有效的例子。 理想情况下,我希望有一个能够部署另一个应用程序的c#/WebAPI应用程序。这个过程应该完全自动化。 基本上,我想创建一个具有自己配置的同一应用程序的新实例——这个过程将由注册我的SaaS的新客户触发。 有人能就如何处理上述问题给出一些建议吗?
谢谢。

您似乎希望以C代码编程方式将web应用程序(部署包)部署到Azure app service web app,您可以尝试使用它将zip文件扩展到文件夹中。下面的示例代码对我来说很好,您可以参考它

//get username and password from publish profile on Azure portal
var username = "xxxxx";
var password = "xxxxxxxxxxxxxxxxxxxx";
var AppName = "{your_app_name}";

var base64Auth = Convert.ToBase64String(Encoding.Default.GetBytes($"{username}:{password}"));
var file = File.ReadAllBytes(@"C:\Users\xxx\xxx\WebApplication1.zip");
MemoryStream stream = new MemoryStream(file);

using (var client = new HttpClient())
{
    client.DefaultRequestHeaders.Add("Authorization", "Basic " + base64Auth);
    var baseUrl = new Uri($"https://{AppName}.scm.azurewebsites.net/");
    var requestURl = baseUrl + "api/zip/site/wwwroot";
    var httpContent = new StreamContent(stream);
    var response = client.PutAsync(requestURl, httpContent).Result;
}

此外,您可以使用。

您可以从Github获取.Net的Azure管理库。对Azure应用程序服务的支持从v1.2开始就在预览中。这可以实现非常直观的语法

var webApp = azure.WebApps.Define(appName)
    .WithRegion(Region.USWest)
    .WithNewResourceGroup(rgName)
    .WithNewFreeAppServicePlan()
    .Create();
这里显示了许多适用于Windows和Linux风格的Azure应用程序服务的代码示例:


还有一些关于如何在这种情况下处理数据的有价值的阅读材料;各种可能性和设计模式在

Hi@bdristan中有介绍,有更新吗?你现在能用C#代码管理Azure应用程序服务并将web应用程序(部署包)以编程方式部署到Azure应用程序服务web应用程序吗?嗨,Fred Han,我还没有开始。然而,我认为下面提供的解决方案将对我有效。我需要在大约两个月内解决这个问题。