Provider di risorse e tipi di risorse di Azure
Un provider di risorse di Azure è un set di operazioni REST che consentono la funzionalità per un servizio di Azure specifico. Ad esempio, il servizio Key Vault è costituito da un provider di risorse denominato Microsoft.KeyVault. Il provider di risorse definisce le operazioni REST per la gestione di insiemi di credenziali, segreti, chiavi e certificati.
Il provider di risorse definisce le risorse di Azure che è possibile distribuire nell'account. Il nome di un tipo di risorsa segue il formato {provider-risorse}/{tipo-risorsa}. Il tipo di risorsa per un insieme di credenziali delle chiavi è Microsoft.KeyVault/vaults.
In questo articolo vengono illustrate le operazioni seguenti:
- Visualizzare tutti i provider di risorse in Azure
- Controllare lo stato di registrazione di un provider di risorse
- Registrare un provider di risorse
- Visualizzare i tipi di risorse per un provider di risorse
- Visualizzare le località valide per un tipo di risorsa
- Visualizzare le versioni API valide per un tipo di risorsa
Per un elenco con il mapping dei provider di risorse ai servizi di Azure, vedere provider di risorse per i servizi di Azure.
Registrare il provider di risorse
Prima di usare un provider di risorse, è necessario assicurarsi che la sottoscrizione di Azure sia registrata per il provider. Con la registrazione, la sottoscrizione viene configurata per l'utilizzo del provider di risorse.
Importante
Registrare un provider di risorse solo quando si è pronti per usarlo. Questo passaggio di registrazione consente di mantenere i privilegi minimi all'interno della sottoscrizione. Un utente malintenzionato non può usare i provider di risorse non registrati.
La registrazione di provider di risorse non necessari può comportare la visualizzazione di app non riconosciute nel tenant di Microsoft Entra. Microsoft aggiunge l'app per un provider di risorse al momento della registrazione. Queste app vengono in genere aggiunte dall'API Gestione dei servizi di Microsoft Azure. Per evitare app non necessarie nel tenant, registrare solo i provider di risorse necessari.
Alcuni provider di risorse sono registrati per impostazione predefinita. Per un elenco dei provider di risorse registrati per impostazione predefinita, vedere Provider di risorse per i servizi di Azure.
Altri provider di risorse vengono registrati automaticamente quando si eseguono determinate azioni. Quando si crea una risorsa tramite il portale, il provider di risorse viene in genere registrato automaticamente. Quando si distribuisce un modello di Azure Resource Manager o un file Bicep, i provider di risorse definiti nel modello vengono registrati automaticamente. In alcuni casi, una risorsa nel modello richiede risorse di supporto che non si trovano nel modello. Esempi comuni sono il monitoraggio o le risorse di sicurezza. È necessario registrare manualmente tali provider di risorse.
Per altri scenari, potrebbe essere necessario registrare manualmente un provider di risorse.
Importante
Il codice dell'applicazione non deve bloccare la creazione di risorse per un provider di risorse nello di registrazione. Quando si registra il provider di risorse, l'operazione viene eseguita singolarmente per ogni area supportata. Per creare risorse in un'area, la registrazione deve essere completata solo in tale area. Non bloccando un provider di risorse nello stato di registrazione, l'applicazione può proseguire molto prima perché non deve attendere il completamento di tutte le aree.
È necessario avere l'autorizzazione per eseguire l'operazione /register/action
per il provider di risorse. Questa autorizzazione è inclusa nei ruoli Collaboratore e Proprietario.
Non è possibile annullare la registrazione di un provider di risorse quando nella sottoscrizione sono ancora presenti tipi di risorsa di tale provider.
Registrare nuovamente un provider di risorse quando supporta nuove posizioni che è necessario usare.
Azure portal
Registrare il provider di risorse
Per visualizzare tutti i provider di risorse e lo stato di registrazione della propria sottoscrizione:
Accedere al portale di Azure.
Nel menu del portale di Azure, cercare Sottoscrizioni. Selezionare il tag tra le opzioni disponibili.
Selezionare la sottoscrizione da visualizzare.
Nel menu sinistro, in Impostazioni, scegliere Provider di risorse.
Trovare il provider di risorse da registrare.
Selezionare il provider di risorse per visualizzarne i dettagli.
Selezionare il provider di risorse, poi Registra. Per mantenere i privilegi minimi nella sottoscrizione, registrare solo i provider di risorse pronti per l'uso.
Importante
Come indicato in precedenza, non bloccare la creazione di risorse per un provider di risorse nello stato di registrazione. Non bloccando un provider di risorse nello stato di registrazione, l'applicazione può proseguire molto prima perché non deve attendere il completamento di tutte le aree.
Registrare nuovamente un provider di risorse per usare le posizioni aggiunte dopo la registrazione precedente.
Visualizzare il provider di risorse
Per visualizzare le informazioni relative uno specifico provider di risorse:
Accedere al portale di Azure.
Selezionare Tutti i servizi nel menu del portale di Azure.
Nella casella Tutti i servizi immettere esplora risorse e quindi selezionare Esplora risorse.
Espandere Provider selezionando la freccia rivolta verso destra.
Espandere un provider di risorse e un tipo di risorsa da visualizzare.
Gestione risorse è supportato in tutte le aree, ma le risorse distribuite potrebbero non essere supportate in tutte le aree. Potrebbero essere anche presenti limitazioni sulla sottoscrizione che impediscono l'uso di alcune aree che supportano la risorsa. Resource Explorer visualizza le località valide per il tipo di risorsa.
La versione dell'API corrisponde a una versione delle operazioni API REST del provider di risorse. Poiché un provider di risorse abilita nuove funzionalità, rilascia una nuova versione dell'API REST. Resource Explorer visualizza le versioni API valide per il tipo di risorsa.
Azure PowerShell
Per visualizzare tutti i provider di risorse in Azure e lo stato di registrazione di una sottoscrizione, usare il comando seguente:
Get-AzResourceProvider -ListAvailable | Select-Object ProviderNamespace, RegistrationState
Il comando restituisce:
ProviderNamespace RegistrationState
-------------------------------- ------------------
Microsoft.ClassicCompute Registered
Microsoft.ClassicNetwork Registered
Microsoft.ClassicStorage Registered
Microsoft.CognitiveServices Registered
...
Per visualizzare tutti i provider di risorse registrati per la sottoscrizione, usare:
Get-AzResourceProvider -ListAvailable | Where-Object RegistrationState -eq "Registered" | Select-Object ProviderNamespace, RegistrationState | Sort-Object ProviderNamespace
Per mantenere i privilegi minimi nella sottoscrizione, registrare solo i provider di risorse pronti per l'uso. Per registrare un provider di risorse, usare:
Register-AzResourceProvider -ProviderNamespace Microsoft.Batch
Il comando restituisce:
ProviderNamespace : Microsoft.Batch
RegistrationState : Registering
ResourceTypes : {batchAccounts, operations, locations, locations/quotas}
Locations : {West Europe, East US, East US 2, West US...}
Importante
Come indicato in precedenza, non bloccare la creazione di risorse per un provider di risorse nello stato di registrazione. Non bloccando un provider di risorse nello stato di registrazione, l'applicazione può proseguire molto prima perché non deve attendere il completamento di tutte le aree.
Registrare nuovamente un provider di risorse per usare le posizioni aggiunte dopo la registrazione precedente. Per ripetere la registrazione, eseguire di nuovo il comando di registrazione.
Per visualizzare informazioni su un provider di risorse specifico, usare il comando seguente:
Get-AzResourceProvider -ProviderNamespace Microsoft.Batch
Il comando restituisce:
{ProviderNamespace : Microsoft.Batch
RegistrationState : Registered
ResourceTypes : {batchAccounts}
Locations : {West Europe, East US, East US 2, West US...}
...
Per visualizzare i tipi di risorse per un provider di risorse, usare il comando seguente:
(Get-AzResourceProvider -ProviderNamespace Microsoft.Batch).ResourceTypes.ResourceTypeName
Il comando restituisce:
batchAccounts
operations
locations
locations/quotas
La versione dell'API corrisponde a una versione delle operazioni API REST del provider di risorse. Poiché un provider di risorse abilita nuove funzionalità, rilascia una nuova versione dell'API REST.
Per ottenere le versioni dell'API disponibili per un tipo di risorsa, usare il comando seguente:
((Get-AzResourceProvider -ProviderNamespace Microsoft.Batch).ResourceTypes | Where-Object ResourceTypeName -eq batchAccounts).ApiVersions
Il comando restituisce:
2023-05-01
2022-10-01
2022-06-01
2022-01-01
2021-06-01
2021-01-01
...
Gestione risorse è supportato in tutte le aree, ma le risorse distribuite potrebbero non essere supportate in tutte le aree. Potrebbero essere anche presenti limitazioni sulla sottoscrizione che impediscono l'uso di alcune aree che supportano la risorsa.
Per ottenere le località supportate per un tipo di risorsa, usare il comando seguente:
((Get-AzResourceProvider -ProviderNamespace Microsoft.Batch).ResourceTypes | Where-Object ResourceTypeName -eq batchAccounts).Locations
Il comando restituisce:
West Europe
East US
East US 2
West US
...
Interfaccia della riga di comando di Azure
Per visualizzare tutti i provider di risorse in Azure e lo stato di registrazione di una sottoscrizione, usare il comando seguente:
az provider list --query "[].{Provider:namespace, Status:registrationState}" --out table
Il comando restituisce:
Provider Status
-------------------------------- ----------------
Microsoft.ClassicCompute Registered
Microsoft.ClassicNetwork Registered
Microsoft.ClassicStorage Registered
Microsoft.CognitiveServices Registered
...
Per visualizzare tutti i provider di risorse registrati per la sottoscrizione, usare:
az provider list --query "sort_by([?registrationState=='Registered'].{Provider:namespace, Status:registrationState}, &Provider)" --out table
Per mantenere i privilegi minimi nella sottoscrizione, registrare solo i provider di risorse pronti per l'uso. Per registrare un provider di risorse, usare:
az provider register --namespace Microsoft.Batch
Il comando restituisce un messaggio che indica che la registrazione è in corso.
Per visualizzare informazioni su un provider di risorse specifico, usare il comando seguente:
az provider show --namespace Microsoft.Batch
Il comando restituisce:
{
"id": "/subscriptions/####-####/providers/Microsoft.Batch",
"namespace": "Microsoft.Batch",
"registrationsState": "Registering",
"resourceTypes:" [
...
]
}
Importante
Come indicato in precedenza, non bloccare la creazione di risorse per un provider di risorse nello stato di registrazione. Non bloccando un provider di risorse nello stato di registrazione, l'applicazione può proseguire molto prima perché non deve attendere il completamento di tutte le aree.
Per visualizzare i tipi di risorse per un provider di risorse, usare il comando seguente:
az provider show --namespace Microsoft.Batch --query "resourceTypes[*].resourceType" --out table
Il comando restituisce:
Result
---------------
batchAccounts
operations
locations
locations/quotas
La versione dell'API corrisponde a una versione delle operazioni API REST del provider di risorse. Poiché un provider di risorse abilita nuove funzionalità, rilascia una nuova versione dell'API REST.
Per ottenere le versioni dell'API disponibili per un tipo di risorsa, usare il comando seguente:
az provider show --namespace Microsoft.Batch --query "resourceTypes[?resourceType=='batchAccounts'].apiVersions | [0]" --out table
Il comando restituisce:
Result
---------------
2023-05-01
2022-10-01
2022-06-01
2022-01-01
...
Gestione risorse è supportato in tutte le aree, ma le risorse distribuite potrebbero non essere supportate in tutte le aree. Potrebbero essere anche presenti limitazioni sulla sottoscrizione che impediscono l'uso di alcune aree che supportano la risorsa.
Per ottenere le località supportate per un tipo di risorsa, usare il comando seguente:
az provider show --namespace Microsoft.Batch --query "resourceTypes[?resourceType=='batchAccounts'].locations | [0]" --out table
Il comando restituisce:
Result
---------------
West Europe
East US
East US 2
West US
...
Python
Per visualizzare tutti i provider di risorse in Azure e lo stato di registrazione di una sottoscrizione, usare il comando seguente:
import os
from azure.identity import DefaultAzureCredential
from azure.mgmt.resource import ResourceManagementClient
# Authentication
credential = DefaultAzureCredential()
subscription_id = os.environ["AZURE_SUBSCRIPTION_ID"]
# Initialize Resource Management client
resource_management_client = ResourceManagementClient(credential, subscription_id)
# List available resource providers and select ProviderNamespace and RegistrationState
providers = resource_management_client.providers.list()
for provider in providers:
print(f"ProviderNamespace: {provider.namespace}, RegistrationState: {provider.registration_state}")
Il comando restituisce:
ProviderNamespace: Microsoft.AlertsManagement, RegistrationState: Registered
ProviderNamespace: Microsoft.AnalysisServices, RegistrationState: Registered
ProviderNamespace: Microsoft.ApiManagement, RegistrationState: Registered
ProviderNamespace: Microsoft.Authorization, RegistrationState: Registered
ProviderNamespace: Microsoft.Batch, RegistrationState: Registered
...
Per visualizzare tutti i provider di risorse registrati per la sottoscrizione, usare:
# List available resource providers with RegistrationState "Registered" and select ProviderNamespace and RegistrationState
providers = resource_management_client.providers.list()
registered_providers = [provider for provider in providers if provider.registration_state == "Registered"]
# Sort by ProviderNamespace
sorted_registered_providers = sorted(registered_providers, key=lambda x: x.namespace)
for provider in sorted_registered_providers:
print(f"ProviderNamespace: {provider.namespace}, RegistrationState: {provider.registration_state}")
Per mantenere i privilegi minimi nella sottoscrizione, registrare solo i provider di risorse pronti per l'uso. Per registrare un provider di risorse, usare:
import os
from azure.identity import DefaultAzureCredential
from azure.mgmt.resource import ResourceManagementClient
# Authentication
credential = DefaultAzureCredential()
subscription_id = os.environ["AZURE_SUBSCRIPTION_ID"]
# Initialize Resource Management client
resource_management_client = ResourceManagementClient(credential, subscription_id)
# Register resource provider
provider_namespace = "Microsoft.Batch"
registration_result = resource_management_client.providers.register(provider_namespace)
print(f"ProviderNamespace: {registration_result.namespace}, RegistrationState: {registration_result.registration_state}")
Il comando restituisce:
ProviderNamespace: Microsoft.Batch, RegistrationState: Registered
Importante
Come indicato in precedenza, non bloccare la creazione di risorse per un provider di risorse nello stato di registrazione. Non bloccando un provider di risorse nello stato di registrazione, l'applicazione può proseguire molto prima perché non deve attendere il completamento di tutte le aree.
Registrare nuovamente un provider di risorse per usare le posizioni aggiunte dopo la registrazione precedente. Per ripetere la registrazione, eseguire di nuovo il comando di registrazione.
Per visualizzare informazioni su un provider di risorse specifico, usare il comando seguente:
import os
from azure.identity import DefaultAzureCredential
from azure.mgmt.resource import ResourceManagementClient
# Authentication
credential = DefaultAzureCredential()
subscription_id = os.environ["AZURE_SUBSCRIPTION_ID"]
# Initialize Resource Management client
resource_management_client = ResourceManagementClient(credential, subscription_id)
# Get resource provider by ProviderNamespace
provider_namespace = "Microsoft.Batch"
provider = resource_management_client.providers.get(provider_namespace)
print(f"ProviderNamespace: {provider.namespace}, RegistrationState: {provider.registration_state}\n")
# Add resource types, locations, and API versions with new lines to separate results
for resource_type in provider.resource_types:
print(f"ResourceType: {resource_type.resource_type}\nLocations: {', '.join(resource_type.locations)}\nAPIVersions: {', '.join(resource_type.api_versions)}\n")
Il comando restituisce:
ProviderNamespace: Microsoft.Batch, RegistrationState: Registered
ResourceType: batchAccounts
Locations: West Europe, East US, East US 2, West US, North Central US, Brazil South, North Europe, Central US, East Asia, Japan East, Australia Southeast, Japan West, Korea South, Korea Central, Southeast Asia, South Central US, Australia East, Jio India West, South India, Central India, West India, Canada Central, Canada East, UK South, UK West, West Central US, West US 2, France Central, South Africa North, UAE North, Australia Central, Germany West Central, Switzerland North, Norway East, Brazil Southeast, West US 3, Sweden Central, Qatar Central, Poland Central, East US 2 EUAP, Central US EUAP
APIVersions: 2023-05-01, 2022-10-01, 2022-06-01, 2022-01-01, 2021-06-01, 2021-01-01, 2020-09-01, 2020-05-01, 2020-03-01-preview, 2020-03-01, 2019-08-01, 2019-04-01, 2018-12-01, 2017-09-01, 2017-05-01, 2017-01-01, 2015-12-01, 2015-09-01, 2015-07-01, 2014-05-01-privatepreview
...
Per visualizzare i tipi di risorse per un provider di risorse, usare il comando seguente:
# Get resource provider by ProviderNamespace
provider_namespace = "Microsoft.Batch"
provider = resource_management_client.providers.get(provider_namespace)
# Get ResourceTypeName of the resource types
resource_type_names = [resource_type.resource_type for resource_type in provider.resource_types]
for resource_type_name in resource_type_names:
print(resource_type_name)
Il comando restituisce:
batchAccounts
batchAccounts/pools
batchAccounts/detectors
batchAccounts/certificates
operations
locations
locations/quotas
locations/checkNameAvailability
locations/accountOperationResults
locations/virtualMachineSkus
locations/cloudServiceSkus
La versione dell'API corrisponde a una versione delle operazioni API REST del provider di risorse. Poiché un provider di risorse abilita nuove funzionalità, rilascia una nuova versione dell'API REST.
Per ottenere le versioni dell'API disponibili per un tipo di risorsa, usare il comando seguente:
# Get resource provider by ProviderNamespace
provider_namespace = "Microsoft.Batch"
provider = resource_management_client.providers.get(provider_namespace)
# Filter resource type by ResourceTypeName and get its ApiVersions
resource_type_name = "batchAccounts"
api_versions = [
resource_type.api_versions
for resource_type in provider.resource_types
if resource_type.resource_type == resource_type_name
]
for api_version in api_versions[0]:
print(api_version)
Il comando restituisce:
2023-05-01
2022-10-01
2022-06-01
2022-01-01
...
Gestione risorse è supportato in tutte le aree, ma le risorse distribuite potrebbero non essere supportate in tutte le aree. Potrebbero essere anche presenti limitazioni sulla sottoscrizione che impediscono l'uso di alcune aree che supportano la risorsa.
Per ottenere le località supportate per un tipo di risorsa, usare il comando seguente:
# Get resource provider by ProviderNamespace
provider_namespace = "Microsoft.Batch"
provider = resource_management_client.providers.get(provider_namespace)
# Filter resource type by ResourceTypeName and get its Locations
resource_type_name = "batchAccounts"
locations = [
resource_type.locations
for resource_type in provider.resource_types
if resource_type.resource_type == resource_type_name
]
for location in locations[0]:
print(location)
Il comando restituisce:
West Europe
East US
East US 2
West US
...
Passaggi successivi
- Per altre informazioni sulla creazione dei modelli, vedere Creazione di modelli di Gestione risorse di Azure.
- Per visualizzare gli schemi dei modelli dei provider di risorse, vedere le informazioni di riferimento sui modelli.
- Per un elenco con il mapping dei provider di risorse ai servizi di Azure, vedere provider di risorse per i servizi di Azure.
- Per visualizzare le operazioni di un provider di risorse, vedere Azure REST API (API REST di Azure).