Résoudre les erreurs d’inscription de fournisseurs de ressources

Cet article décrit les erreurs que vous pouvez rencontrer quand vous utilisez un fournisseur de ressources que vous n’avez pas jamais utilisé auparavant dans votre abonnement.

Notes

Cet article a été mis à jour pour pouvoir utiliser le module Azure Az PowerShell. Le module Az PowerShell est le module PowerShell qui est recommandé pour interagir avec Azure. Pour démarrer avec le module Az PowerShell, consulter Installer Azure PowerShell. Pour savoir comment migrer vers le module Az PowerShell, consultez Migrer Azure PowerShell depuis AzureRM vers Az.

Symptôme

Lorsque vous déployez une ressource, vous pouvez recevoir le message et le code d’erreur suivants :

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

Vous pouvez sinon recevoir un message similaire indiquant :

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

Le message d’erreur doit fournir des suggestions pour les emplacements et les versions d’API pris en charge. Vous pouvez changer votre modèle en l’une des valeurs suggérées. La plupart des fournisseurs sont inscrits automatiquement par le portail Azure ou l’interface de ligne de commande que vous utilisez, mais pas tous. Si vous n’avez pas déjà utilisé un certain fournisseur de ressources, vous devrez peut-être l’inscrire.

Ou, lors de la désactivation de l’arrêt automatique pour les machines virtuelles, vous pouvez recevoir un message d’erreur semblable au suivant :

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

Cause

Ces erreurs apparaissent pour l’une des raisons suivantes :

  • Le fournisseur de ressources requis n’a pas été inscrit pour votre abonnement
  • La version de l’API n’est pas prise en charge pour le type de ressource.
  • L’emplacement n’est pas pris en charge pour le type de ressource.
  • Pour l’arrêt automatique des machines virtuelles, le fournisseur de ressources Microsoft.DevTestLab doit être inscrit.

Solution 1 : PowerShell

Pour PowerShell, utilisez Get-AzResourceProvider pour afficher l'état de votre inscription.

Get-AzResourceProvider -ListAvailable

Pour inscrire un fournisseur, utilisez Register-AzResourceProvider et indiquez le nom du fournisseur de ressources que vous souhaitez inscrire.

Register-AzResourceProvider -ProviderNamespace Microsoft.Cdn

Pour obtenir les emplacements pris en charge d’un type particulier de ressource, utilisez la commande suivante :

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

Pour obtenir les versions d’API prises en charge d’un type particulier de ressource, utilisez la commande suivante :

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

Solution 2 : Azure CLI

Pour voir si le fournisseur est inscrit, utilisez la commande az provider list .

az provider list

Pour inscrire un fournisseur de ressources, utilisez la commande az provider register et indiquez l’espace de noms à inscrire.

az provider register --namespace Microsoft.Cdn

Pour afficher les emplacements et les versions d’API pris en charge pour un type de ressources, utilisez la commande suivante :

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

Solution 3 : Portail Azure

Vous pouvez voir l’état de l’inscription et inscrire un espace de noms de fournisseur de ressources par le biais du portail.

  1. À partir du portail Azure, sélectionnez Tous les services.

    Sélectionner Tous les services

  2. Sélectionnez Abonnements.

    Sélectionner des abonnements

  3. Dans la liste des abonnements, sélectionnez l’abonnement que vous souhaitez utiliser pour inscrire le fournisseur de ressources.

    Sélectionner l’abonnement pour inscrire le fournisseur de ressources

  4. Sur votre abonnement, sélectionnez Fournisseurs de ressources.

    Sélectionner les fournisseurs de ressources

  5. Passez en revue la liste des fournisseurs de ressources et, si nécessaire, sélectionnez le lien Inscrire pour inscrire le fournisseur de ressources du type que vous voulez déployer.

    Répertorier les fournisseurs de ressources