Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
En este artículo se describen los errores de registro del proveedor de recursos que se producen al usar un proveedor de recursos que aún no ha usado en la suscripción de Azure. Los errores se muestran al implementar recursos con un archivo de Bicep o una plantilla de Azure Resource Manager (plantilla de ARM). Si Azure no registra automáticamente un proveedor de recursos, puede realizar un registro manual.
Síntoma
Cuando se implementa un recurso, es posible que reciba el siguiente código y mensaje de error:
Code: NoRegisteredProviderFound
Message: No registered resource provider found for ___location {___location}
and API version {api-version} for type {resource-type}.
O bien, es posible que reciba un mensaje similar que indique:
Code: MissingSubscriptionRegistration
Message: The subscription is not registered to use namespace {resource-provider-namespace}
El mensaje de error debería darle sugerencias para las ubicaciones admitidas y las versiones de API. Puede cambiar la plantilla para utilizar un valor sugerido. La mayoría de los proveedores se registran automáticamente mediante el portal de Microsoft Azure o la interfaz de línea de comandos, pero no todos. Si no ha usado un proveedor de recursos determinado antes, es posible que deba registrar ese proveedor.
Cuando el apagado automático de la máquina virtual (VM) está deshabilitado, es posible que reciba un mensaje de error similar al siguiente:
Code: AuthorizationFailed
Message: The client '<identifier>' with object id '<identifier>' does not have authorization to perform
action 'Microsoft.Compute/virtualMachines/read' over scope ...
Se puede producir un error inesperado para un proveedor de recursos que no esté en la plantilla de ARM o en el archivo de Bicep. Este error puede producirse cuando se implementa un recurso que crea otros recursos auxiliares. Por ejemplo, el recurso de la plantilla agrega recursos de supervisión o seguridad. El mensaje de error indica que el espacio de nombres del proveedor de recursos que debe registrar es para el recurso auxiliar.
Causa
Recibe estos errores por uno de estos motivos:
- El proveedor de recursos necesario no se ha registrado para la suscripción.
- La versión de la API no es compatible con el tipo de recurso.
- Ubicación no admitida para el tipo de recurso.
- Para el apagado automático de la máquina virtual, el proveedor de
Microsoft.DevTestLab
recursos debe estar registrado.
Solución
Puede usar la CLI de Azure para obtener información sobre el estado de registro de un proveedor de recursos y registrar un proveedor de recursos.
Use az provider list para mostrar el estado de registro de los proveedores de recursos de la suscripción. En los ejemplos se utiliza el --output table
parámetro para filtrar la salida en función de la legibilidad. Puede omitir el parámetro para ver todas las propiedades.
El siguiente comando enumera todos los proveedores de recursos de la suscripción y si son Registered
o NotRegistered
.
az provider list --output table
Puede filtrar la salida por estado de registro. Reemplace el valor de la consulta por Registered
o NotRegistered
.
az provider list --query "[?registrationState=='Registered']" --output table
Obtenga el estado de registro de un proveedor de recursos específico:
az provider list --query "[?namespace=='Microsoft.Compute']" --output table
Para registrar un proveedor de recursos, use el comando az provider register y especifique el espacio de nombres que desea registrar.
az provider register --namespace Microsoft.Cdn
Para obtener las ubicaciones admitidas de un tipo de recurso, use az provider show:
az provider show --namespace Microsoft.Web --query "resourceTypes[?resourceType=='sites'].locations"
Obtenga las versiones de API compatibles de un tipo de recurso:
az provider show --namespace Microsoft.Web --query "resourceTypes[?resourceType=='sites'].apiVersions"