Azure:MissingRegistrationForLocation:未在“YYYY”

时间:2016-01-29 09:12:50

标签: c# azure azure-resource-manager

这最初是SubscriptionNotFound错误。

var dnsClient = new DnsManagementClient(new Microsoft.Azure.TokenCloudCredentials(result.AccessToken));

var zone = dnsClient.Zones.CreateOrUpdate("someresourcegroup", "mydomain.com", new Microsoft.Azure.Management.Dns.Models.ZoneCreateOrUpdateParameters {
        IfNoneMatch = "*",
        Zone = new Microsoft.Azure.Management.Dns.Models.Zone {
            Name = "mydomain.com",
            Location = "northeurope"
        }
    });

现在我已经解决了这个问题,感谢对原始问题的回复。它仍然是相同的代码,我使用以下powershell命令重新注册了功能/提供程序:

Register-AzurermresourceProvider -ProviderNamespace Microsoft.Network

但是这不需要位置参数,错误是关于位置中的资源。是什么赋予了? 而且我试过“北欧”而不是“东北欧”,同样的结果。

那我错过了什么?似乎无法找到有关此问题的任何数据,不在此处,也不在Google上。

完整的错误消息是:

  

MissingRegistrationForLocation:未在“northeurope”位置为资源类型“dnszones”注册订阅。请重新注册此提供商以访问此位置。

3 个答案:

答案 0 :(得分:8)

尝试通过Visual Studio 2015进行部署时收到此错误消息。升级到最新的Azure SDK v2.9.6修复了问题。

答案 1 :(得分:3)

Azure DNS是一项全球服务。请尝试将您的位置从northeurope更改为global。这应该可以解决错误。

var zone = dnsClient.Zones.CreateOrUpdate("someresourcegroup", "mydomain.com", new Microsoft.Azure.Management.Dns.Models.ZoneCreateOrUpdateParameters {
        IfNoneMatch = "*",
        Zone = new Microsoft.Azure.Management.Dns.Models.Zone {
            Name = "mydomain.com",
            Location = "global"
        }
    });

答案 2 :(得分:0)

请参阅:https://azure.microsoft.com/en-us/documentation/articles/resource-group-move-resources/

“必须为要移动的资源的资源提供程序注册目标订阅。如果没有,您将收到一条错误,指出订阅未注册资源类型。在将资源移动到资源时可能会遇到此问题新订阅,但该订阅从未与该资源类型一起使用。要了解如何检查注册状态并注册资源提供者,请参阅Resource providers and types.

扩展:

虽然问题特定于DNS配置和有效位置(区域),但此答案实际上解决了标题中的错误消息。此错误的根本原因是在资源提供程序尚未注册(或支持)的位置创建资源。

就我而言,我发现我只能在特定区域创建 Application Insights 资源。 resource providers的链接让我找到了这个位置限制。如果您在标题中看到此错误消息,请确保您尝试创建的资源在给定位置有效。