Erőforrás-szolgáltató regisztrációjával kapcsolatos hibák elhárítása
Ez a cikk olyan erőforrás-szolgáltató regisztrációs hibáit ismerteti, amelyek akkor fordulnak elő, ha olyan erőforrás-szolgáltatót használ, amelyet még nem használt az Azure-előfizetésében. A hibák akkor jelennek meg, ha bicep-fájllal vagy Azure Resource Manager-sablonnal (ARM-sablonnal) helyez üzembe erőforrásokat. Ha az Azure nem regisztrál automatikusan egy erőforrás-szolgáltatót, manuálisan is regisztrálhat.
Hibajelenség
Az erőforrás üzembe helyezésekor a következő hibakód és üzenet jelenhet meg:
Code: NoRegisteredProviderFound
Message: No registered resource provider found for location {location}
and API version {api-version} for type {resource-type}.
Vagy a következőhöz hasonló üzenetet kaphat:
Code: MissingSubscriptionRegistration
Message: The subscription is not registered to use namespace {resource-provider-namespace}
A hibaüzenetnek javaslatokat kell adnia a támogatott helyekre és API-verziókra vonatkozóan. Módosíthatja a sablont, hogy egy javasolt értéket használjon. A legtöbb szolgáltatót automatikusan regisztrálja a Microsoft Azure Portal vagy a parancssori felület, de nem mindegyik. Ha még nem használt egy adott erőforrás-szolgáltatót, előfordulhat, hogy regisztrálnia kell ezt a szolgáltatót.
Ha a virtuális gép (VM) automatikus leállítása le van tiltva, a következőhöz hasonló hibaüzenet jelenhet meg:
Code: AuthorizationFailed
Message: The client '<identifier>' with object id '<identifier>' does not have authorization to perform
action 'Microsoft.Compute/virtualMachines/read' over scope ...
Váratlan hiba történhet olyan erőforrás-szolgáltatónál, amely nem szerepel az ARM-sablonban vagy a Bicep-fájlban. Ez a hiba akkor fordulhat elő, ha olyan erőforrás van üzembe helyezve, amely más támogató erőforrásokat hoz létre. A sablonban található erőforrás például figyelési vagy biztonsági erőforrásokat ad hozzá. A hibaüzenet azt jelzi, hogy a regisztrálandó erőforrás-szolgáltatói névtér a támogató erőforráshoz tartozik.
Ok
Ezeket a hibákat az alábbi okok valamelyike miatt kapja meg:
- A szükséges erőforrás-szolgáltató nincs regisztrálva az előfizetéshez.
- Az API-verzió nem támogatott az erőforrástípushoz.
- Az erőforrás típusa nem támogatja a helyet.
- A virtuális gép automatikus leállításához az
Microsoft.DevTestLab
erőforrás-szolgáltatót regisztrálni kell.
Megoldás
Az Azure CLI használatával információkat kérhet le egy erőforrás-szolgáltató regisztrációs állapotáról, és regisztrálhat egy erőforrás-szolgáltatót.
Az az provider list használatával megjelenítheti az előfizetés erőforrás-szolgáltatóinak regisztrációs állapotát. A példák a paraméter használatával --output table
szűrik a kimenetet az olvashatóság érdekében. Az összes tulajdonság megtekintéséhez kihagyhatja a paramétert.
Az alábbi parancs felsorolja az előfizetés összes erőforrás-szolgáltatóját, és azt is, hogy azok Registered
vagy NotRegistered
.
az provider list --output table
A kimenetet a regisztrációs állapot alapján szűrheti. Cserélje le a lekérdezés értékét a vagy NotRegistered
értékreRegistered
.
az provider list --query "[?registrationState=='Registered']" --output table
Egy adott erőforrás-szolgáltató regisztrációs állapotának lekérése:
az provider list --query "[?namespace=='Microsoft.Compute']" --output table
Erőforrás-szolgáltató regisztrálásához használja az az provider register parancsot, és adja meg a regisztrálandó névteret .
az provider register --namespace Microsoft.Cdn
Egy erőforrástípus támogatott helyeinek lekéréséhez használja az az provider show (az provider show) lehetőséget:
az provider show --namespace Microsoft.Web --query "resourceTypes[?resourceType=='sites'].locations"
Erőforrástípus támogatott API-verzióinak lekérése:
az provider show --namespace Microsoft.Web --query "resourceTypes[?resourceType=='sites'].apiVersions"