Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何从Web API创建Azure应用程序服务?_C#_Azure_Azure Web App Service_Azure Api Management - Fatal编程技术网

C# 如何从Web API创建Azure应用程序服务?

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

我正在创建一个.Net Core(v3.1)web应用程序,我必须从Azure管理API创建一个新的.Net Core(v3.1)应用程序服务。我可以检查可用性,但当我尝试查找时,我无法找到可用性,但我可以创建应用程序服务计划,但无法创建应用程序服务

创建应用程序服务计划的链接:

Rest API文档链接:

生成访问令牌的代码

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是什么阻止了你?你需要为人们提供足够的信息来帮助你。