Устранение ошибок регистрации поставщика ресурсовResolve errors for resource provider registration

В этой статье описываются ошибки, которые могут возникнуть при использовании поставщика ресурсов, который вы еще не использовали в своей подписке.This article describes the errors you may encounter when using a resource provider that you haven't previously used in your subscription.

Примечание

Эта статья была изменена и теперь содержит сведения о новом модуле Az для Azure PowerShell.This article has been updated to use the new Azure PowerShell Az module. Вы по-прежнему можете использовать модуль AzureRM, исправления ошибок для которого будут продолжать выпускаться как минимум до декабря 2020 г.You can still use the AzureRM module, which will continue to receive bug fixes until at least December 2020. Дополнительные сведения о совместимости модуля Az с AzureRM см. в статье Introducing the new Azure PowerShell Az module (Знакомство с новым модулем Az для Azure PowerShell).To learn more about the new Az module and AzureRM compatibility, see Introducing the new Azure PowerShell Az module. Инструкции по установке модуля Az см. в статье об установке Azure PowerShell.For Az module installation instructions, see Install Azure PowerShell.

СимптомSymptom

При развертывании ресурсов вы можете получить следующий код ошибки и сообщение об ошибке:When deploying resource, you may receive the following error code and message:

Code: NoRegisteredProviderFound
Message: No registered resource provider found for location {location}
and API version {api-version} for type {resource-type}.

Или может появиться похожее сообщение.Or, you may receive a similar message that states:

Code: MissingSubscriptionRegistration
Message: The subscription is not registered to use namespace {resource-provider-namespace}

В сообщении об ошибке должны быть указаны поддерживаемые расположения и версии API.The error message should give you suggestions for the supported locations and API versions. Вы можете изменить шаблон, используя одно из предложенных значений.You can change your template to one of the suggested values. Большинство поставщиков, но не все, регистрируются автоматически порталом Azure или интерфейсом командной строки, который вы используете.Most providers are registered automatically by the Azure portal or the command-line interface you're using, but not all. Если ранее вы не использовали конкретный поставщик ресурсов, возможно, потребуется зарегистрировать такой поставщик.If you haven't used a particular resource provider before, you may need to register that provider.

Или при выключении автоматического завершения работы для виртуальных машин может появиться похожее сообщение об ошибке:Or, when disabling auto-shutdown for virtual machines, you may receive an error message similar to:

Code: AuthorizationFailed
Message: The client '<identifier>' with object id '<identifier>' does not have authorization to perform action 'Microsoft.Compute/virtualMachines/read' over scope ...

Причина:Cause

Эти ошибки возникают по одной из следующих причин:You receive these errors for one of these reasons:

  • Для подписки не зарегистрирован необходимый поставщик ресурсов.The required resource provider hasn't been registered for your subscription
  • Версия API не поддерживается для выбранного типа ресурса.API version not supported for the resource type
  • Расположение не поддерживается для выбранного типа ресурса.Location not supported for the resource type
  • Для автоматического завершения работы виртуальных машин должен быть зарегистрирован поставщик ресурсов Microsoft.DevTestLab.For auto-shutdown of VMs, the Microsoft.DevTestLab resource provider must be registered.

Решение 1 — PowerShellSolution 1 - PowerShell

Чтобы просмотреть состояние регистрации, используйте командлет PowerShell Get-AzResourceProvider.For PowerShell, use Get-AzResourceProvider to see your registration status.

Get-AzResourceProvider -ListAvailable

Чтобы зарегистрировать поставщик, используйте командлет Register-AzResourceProvider и укажите имя поставщика ресурсов, который необходимо зарегистрировать.To register a provider, use Register-AzResourceProvider and provide the name of the resource provider you wish to register.

Register-AzResourceProvider -ProviderNamespace Microsoft.Cdn

Чтобы получить поддерживаемые расположения для определенного типа ресурсов, используйте следующую команду:To get the supported locations for a particular type of resource, use:

((Get-AzResourceProvider -ProviderNamespace Microsoft.Web).ResourceTypes | Where-Object ResourceTypeName -eq sites).Locations

Чтобы получить поддерживаемые версии API для определенного типа ресурсов, используйте следующую команду:To get the supported API versions for a particular type of resource, use:

((Get-AzResourceProvider -ProviderNamespace Microsoft.Web).ResourceTypes | Where-Object ResourceTypeName -eq sites).ApiVersions

Решение 2 — Azure CLISolution 2 - Azure CLI

Чтобы узнать, зарегистрирован ли поставщик, используйте команду az provider list .To see whether the provider is registered, use the az provider list command.

az provider list

Чтобы зарегистрировать поставщик ресурсов, используйте команду az provider register и укажите пространство имен , которое следует зарегистрировать.To register a resource provider, use the az provider register command, and specify the namespace to register.

az provider register --namespace Microsoft.Cdn

Чтобы просмотреть поддерживаемые расположения и версии API для типа ресурса, используйте следующую команду.To see the supported locations and API versions for a resource type, use:

az provider show -n Microsoft.Web --query "resourceTypes[?resourceType=='sites'].locations"

Решение 3 — портал AzureSolution 3 - Azure portal

Просмотреть состояние регистрации и зарегистрировать пространство имен поставщика ресурсов можно на портале.You can see the registration status and register a resource provider namespace through the portal.

  1. На портале щелкните Все службы.From the portal, select All services.

    Выбор всех служб

  2. Выберите Подписки.Select Subscriptions.

    Выбор пункта "Подписки"

  3. Из списка подписок выберите ту, которую вы хотите использовать для регистрации поставщика ресурсов.From the list of subscriptions, select the subscription you want to use for registering the resource provider.

    Выбор подписки для регистрации поставщика ресурсов.

  4. Для своей подписки выберите Поставщики ресурсов.For your subscription, select Resource providers.

    Выбор поставщика ресурсов

  5. Просмотрите список поставщиков ресурсов и, при необходимости, щелкните ссылку Зарегистрировать, чтобы зарегистрировать поставщик ресурсов типа, который вы пытаетесь развернуть.Look at the list of resource providers, and if necessary, select the Register link to register the resource provider of the type you're trying to deploy.

    Перечислить поставщиков ресурсов