Åtgärda fel vid registreringen av resursprovidern

Den här artikeln beskriver registreringsfel för resursprovidern som inträffar när du använder en resursprovider som du inte redan har använt i din Azure-prenumeration. Felen visas när du distribuerar resurser med en Bicep-fil eller Azure Resource Manager-mall (ARM-mall). Om Azure inte registrerar en resursprovider automatiskt kan du göra en manuell registrering.

Symptom

När en resurs distribueras kan du få följande felkod och meddelande:

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

Eller så kan du få ett liknande meddelande som anger:

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

Felmeddelandet bör ge dig förslag på de platser och API-versioner som stöds. Du kan ändra mallen så att den använder ett föreslaget värde. De flesta leverantörer registreras automatiskt av Microsoft Azure Portal eller kommandoradsgränssnittet, men inte alla. Om du inte har använt en viss resursprovider tidigare kan du behöva registrera providern.

När automatisk avstängning av virtuell dator (VM) är inaktiverad kan du få ett felmeddelande som liknar:

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

Ett oväntat fel kan inträffa för en resursprovider som inte finns i ARM-mallen eller Bicep-filen. Det här felet kan inträffa när en resurs distribueras som skapar andra stödresurser. Resursen i mallen lägger till exempel till övervaknings- eller säkerhetsresurser. Felmeddelandet anger att resursproviderns namnområde som du behöver registrera är för den stödjande resursen.

Orsak

Du får följande fel av någon av följande skäl:

  • Den nödvändiga resursprovidern har inte registrerats för din prenumeration.
  • API-versionen stöds inte för resurstypen.
  • Platsen stöds inte för resurstypen.
  • För automatisk avstängning av virtuella Microsoft.DevTestLab datorer måste resursprovidern vara registrerad.

Lösning

Du kan använda Azure CLI för att hämta information om en resursproviders registreringsstatus och registrera en resursprovider.

Använd az provider list för att visa registreringsstatus för din prenumerations resursprovidrar. Exemplen använder parametern --output table för att filtrera utdata för läsbarhet. Du kan utelämna parametern för att se alla egenskaper.

Följande kommando visar alla prenumerationens resursprovidrar och om de är Registered eller NotRegistered.

az provider list --output table

Du kan filtrera utdata efter registreringstillstånd. Ersätt frågevärdet med Registered eller NotRegistered.

az provider list --query "[?registrationState=='Registered']" --output table

Hämta registreringsstatus för en specifik resursprovider:

az provider list --query "[?namespace=='Microsoft.Compute']" --output table

Om du vill registrera en resursprovider använder du kommandot az provider register och anger namnområdet som ska registreras.

az provider register --namespace Microsoft.Cdn

Om du vill hämta en resurstyps platser som stöds använder du az provider show:

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

Hämta en resurstyps API-versioner som stöds:

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