我们如何使用我们的代码发布动态生成的应用服务
在我的代码中,动态创建了 Web 应用程序服务。引用
https://learn.microsoft.com/en-us/rest/api/appservice/webapps/createorupdate
但实际上 Web 服务是用空白数据发布的。在创建应用程序服务时,我们需要动态地发布带有代码详细信息的应用程序服务。我们怎样才能做到呢?
使用不同的网络应用程序为不同的用户发布相同的代码。当用户获取他/她的网站(动态创建)时,它不是空白的。可能吗?
最佳答案
Publish the same code for different users with different web app. When the user take his/her web(dynamically created) , it's not to be blank. Is it possible?
当您发布 Web 应用程序时,它有唯一的存储库来存储它。因此很难实现在一次发布中使用不同的 webapp 发布相同的代码。
此外,提供的文章字节将一个 zip 文件部署到您的 web 应用程序,该文件之前已生成为空白。所以我认为你想要实现它是不可能的。
您可以先发布空白数据,然后使用curl将您想要的代码部署到Web应用程序或powershell .
更新:
Deploy ZIP file with REST APIs
要进行部署,请将 POST 请求发送至 https://<app_name>.scm.azurewebsites.net/api/zipdeploy
。 POST request邮件正文中必须包含 .zip 文件。您的应用的部署凭据是通过使用 HTTP BASIC 身份验证在请求中提供的。
string userName = "$xxxx";
string userPassword = "xxxxxxxxxxxxxxxxx";
string webAppName = "xxxx";
var base64Auth = Convert.ToBase64String(Encoding.Default.GetBytes($"{userName}:{userPassword}"));
var file = File.ReadAllBytes(@"C:\Users\xxx.zip");//zip path
MemoryStream stream = new MemoryStream(file);
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Add("Authorization", "Basic " + base64Auth);
client.DefaultRequestHeaders.Add("ContentType", "application/zip");
var baseUrl = new Uri($"https://{webAppName}.scm.azurewebsites.net/");
var requestURl = baseUrl + "api/zipdeploy";
var httpContent = new StreamContent(stream);
var response2 = client.PostAsync(requestURl, httpContent).Result;
}
关于azure - 我们如何使用我们的代码发布动态生成的应用程序服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51744297/