c# - 无法使用 Web API 在 Azure ARM 上创建存储帐户

标签 c# asp.net-mvc azure web

我正在尝试使用 Web API 创建存储帐户,但它给了我一个异常(exception),即方法不允许,如下所示

Web Api Exception

下面是我的代码:

    string stAccName = "TCStorageAccount" + Guid.NewGuid().ToString().Substring(0, 8);
    stAccName = stAccName.ToLower();

    using (var client = new HttpClient())
    {
        client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token);

        using (var stream = new MemoryStream())
        using (var writer = new StreamWriter(stream))
        {
            var payloadText = JsonConvert.SerializeObject(parameters);

writer.Write(payloadText);
            writer.Flush();
            stream.Flush();
            stream.Position = 0;

            using (var content = new StreamContent(stream))
            {
                content.Headers.Add("Content-Type", "application/json");
                content.Headers.Add("x-ms-version", "2016-12-01");
                Uri uri = new Uri(String.Format("https://management.azure.com/subscriptions/{0}/resourceGroups/{1}/providers/Microsoft.Storage/storageAccounts/{2}?api-version=2016-12-01", "subid", "resource group name", stAccName));

var response = await client.PostAsync(uri, content);

                if (!response.IsSuccessStatusCode)
                {
                    throw new InvalidOperationException(response.ReasonPhrase);
                }
           }
       }
   }

我还尝试了此线程 Unable to create Storage account on Azure C# 中讨论的另一种方法但仍然无法创建存储帐户。

如有任何帮助,我们将不胜感激。谢谢

最佳答案

您收到此错误的原因是 Create Storage AccountPUT 请求,而不是 POST 请求。

请更改以下代码行:

var response = await client.PostAsync(uri, content);

var response = await client.PutAsync(uri, content);

并且您不应该收到此Method Not allowed (405) 错误。

关于c# - 无法使用 Web API 在 Azure ARM 上创建存储帐户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46078440/

相关文章:

c# - 如何在三个集合中进行 LINQ?

javascript - 使用 jQuery get 动态加载时,单击按钮后部分 View 未得到验证

c# - 实体的 MVC 模型设计

javascript - 如何显示 JQPLOT 图而不是长文本

azure - Azure 移动应用服务中的用户 ID

c# - 使用 MVC Controller 将 websocket 连接到 windows azure

c# - 迁移中的默认值不起作用

c# - MEF 是一件全有还是全无的事情吗?

c# - 如何使用 OpenXML 包自动调整 excel 列

azure - 企业库和 MS Azure 文章?