C# 如何从Web API创建Azure应用程序服务?
我正在创建一个.Net Core(v3.1)web应用程序,我必须从Azure管理API创建一个新的.Net Core(v3.1)应用程序服务。我可以检查可用性,但当我尝试查找时,我无法找到可用性,但我可以创建应用程序服务计划,但无法创建应用程序服务 创建应用程序服务计划的链接: Rest API文档链接: 生成访问令牌的代码C# 如何从Web API创建Azure应用程序服务?,c#,azure,azure-web-app-service,azure-api-management,C#,Azure,Azure Web App Service,Azure Api Management,我正在创建一个.Net Core(v3.1)web应用程序,我必须从Azure管理API创建一个新的.Net Core(v3.1)应用程序服务。我可以检查可用性,但当我尝试查找时,我无法找到可用性,但我可以创建应用程序服务计划,但无法创建应用程序服务 创建应用程序服务计划的链接: Rest API文档链接: 生成访问令牌的代码 var client = new RestClient("https://login.microsoftonline.com/<SubscriptionI
var client = new RestClient("https://login.microsoftonline.com/<SubscriptionID>/oauth2/token");
client.Timeout = -1;
var request = new RestRequest(Method.POST);
request.AddHeader("Content-Type", "application/x-www-form-urlencoded");
request.AddParameter("grant_type", "client_credentials");
request.AddParameter("client_id", "<ClientID>");
request.AddParameter("client_secret", "<ClientSecret>");
request.AddParameter("resource", "https://management.azure.com/");
IRestResponse Iresponse = client.Execute(request);
Token token = JsonConvert.DeserializeObject<Token>(Iresponse.Content);
var client=new RestClient(“https://login.microsoftonline.com//oauth2/token");
client.Timeout=-1;
var请求=新的重新请求(Method.POST);
request.AddHeader(“内容类型”、“应用程序/x-www-form-urlencoded”);
AddParameter(“授权类型”、“客户端凭据”);
AddParameter(“client_id”,”);
AddParameter(“client_secret”,”);
request.AddParameter(“资源”https://management.azure.com/");
Iresponse Iresponse=client.Execute(请求);
Token Token=JsonConvert.DeserializeObject(Iresponse.Content);
检查可用性的代码
using (var Httpclient = new HttpClient())
{
Httpclient.DefaultRequestHeaders.Add("Authorization", "Bearer " + token.access_token);
var baseUrl = new Uri($"https://management.azure.com/");
var requestURl = baseUrl + @"/subscriptions/<SubscriptionID>/providers/Microsoft.Web/checknameavailability?api-version=2019-08-01";
string body = "{\"name\":\"AvaiableCheck\",\"type\":\"slot\"}";
var stringContent = new StringContent(body, Encoding.UTF8, "application/json");
var response = Httpclient.PostAsync(requestURl, stringContent).Result;
var a = await response.Content.ReadAsStringAsync();
}
使用(var Httpclient=new Httpclient())
{
Httpclient.DefaultRequestHeaders.Add(“授权”、“承载人”+令牌.access\u令牌);
var baseUrl=新Uri($”https://management.azure.com/");
var requestURl=baseUrl+@“/订阅//提供商/Microsoft.Web/checknameavability?api版本=2019-08-01”;
字符串正文=“{\”名称\“:\”可用性检查\“,\”类型\“:\”插槽\“}”;
var stringContent=newstringcontent(body,Encoding.UTF8,“application/json”);
var response=Httpclient.PostAsync(requestURl,stringContent).Result;
var a=await response.Content.ReadAsStringAsync();
}
如果我得到可用的响应,我必须在Azure app service中创建一个新的应用程序服务
我正在调用PUT调用的以下API
var requestURl = baseUrl + @"/subscriptions/<SubscriptionGUID>/resourceGroups/<ResourceGroupName>/providers/Microsoft.Web/sites/<SiteName>?api-version=2021-04-01";
var requestURl=baseUrl+@”/subscriptions//resourceGroups//providers/Microsoft.Web/sites/?api version=2021-04-01”;
作为响应,我得到以下错误:
{
"error": {
"code": "MismatchingResourceName",
"message": "The provided resource name 'TestAPIFromResource' did not match the name in the Url '<ResourceName>'."
}
}
{
“错误”:{
“代码”:“不匹配的ChingResourceName”,
“消息”:“提供的资源名称'TestAPIFromResource'与Url“”中的名称不匹配。”
}
}
如果有人对此有想法,请告诉我,这对我很有帮助。你提到过吗?请解释你所说的“无法”是什么意思。@TomW我无法在特定的资源组下创建新的应用程序服务。@JimXu是的,我提到过,但我必须创建新的应用程序服务,而不是Web应用程序。@DeepSoni是什么阻止了你?你需要为人们提供足够的信息来帮助你。