Provider di risorse e tipi di risorse di Azure
Un provider di risorse di Azure è un set di operazioni REST che supportano la funzionalità per un servizio di Azure specifico. Ad esempio, il servizio Azure 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 posizioni valide per un tipo di risorsa.
- Visualizzare le versioni API valide per un tipo di risorsa.
Per un elenco che esegue il mapping dei provider di risorse ai servizi di Azure, vedere Provider e tipi di risorse di Azure.
Registrare il provider di risorse
Prima di usare un provider di risorse, assicurarsi che la sottoscrizione di Azure sia registrata per il provider di risorse. 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.
Quando si registra un provider di risorse, Microsoft aggiunge un'app per il provider di risorse. La registrazione di provider di risorse non necessari può causare la visualizzazione delle app non riconosciute nel tenant di Microsoft Entra. L'API gestione dei servizi di Windows Azure aggiunge in genere queste app. Per limitare le app non necessarie nel tenant, registrare solo i provider di risorse necessari.
Alcuni provider di risorse sono registrati per impostazione predefinita. Per un elenco di esempi, vedere Provider di risorse per i servizi di Azure.
Quando si eseguono determinate azioni, Azure registra automaticamente altri provider di risorse. Quando si crea una risorsa nella portale di Azure, il portale in genere registra automaticamente il provider di risorse. Quando si distribuisce un modello di Azure Resource Manager o un file Bicep, Azure registra automaticamente i provider di risorse definiti nel modello. 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.
Potrebbe essere necessario registrare manualmente un provider di risorse in altri scenari.
Importante
Il codice dell'applicazione non deve bloccare la creazione di risorse per un provider di risorse nello stato 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. Quando l'applicazione non blocca un provider di risorse nello stato di registrazione, può continuare prima dell'attesa del 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 a sinistra e in Impostazioni selezionare 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 che si è pronti per l'uso.
Importante
Come indicato in precedenza, non bloccare la creazione di risorse per un provider di risorse nello stato di registrazione . Quando l'applicazione non blocca un provider di risorse nello stato di registrazione, può continuare prima dell'attesa del 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 portale di Azure.
Nella casella Tutti i servizi immettere Esplora risorse e selezionare Esplora risorse.
Selezionare la freccia destra per espandere Provider.
Espandere il provider di risorse e il 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 inoltre esserci limitazioni nella sottoscrizione che impediscono di usare alcune aree che supportano la risorsa. Esplora risorse visualizza i percorsi validi 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. Esplora risorse 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 per la sottoscrizione, usare:
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 . Quando l'applicazione non blocca un provider di risorse nello stato di registrazione, può continuare prima dell'attesa del completamento di tutte le aree.
Per usare le posizioni aggiunte da Azure dopo la registrazione precedente, registrare di nuovo un provider di risorse. 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 inoltre esserci limitazioni nella sottoscrizione che impediscono di usare alcune aree che supportano la risorsa.
Per ottenere i percorsi supportati per un tipo di risorsa, usare:
((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 per la sottoscrizione, usare:
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 . Quando l'applicazione non blocca un provider di risorse nello stato di registrazione, può continuare prima dell'attesa del 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 inoltre esserci limitazioni nella sottoscrizione che impediscono di usare alcune aree che supportano la risorsa.
Per ottenere i percorsi supportati per un tipo di risorsa, usare:
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 per la sottoscrizione, 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)
# 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 . Quando l'applicazione non blocca un provider di risorse nello stato di registrazione, può continuare prima dell'attesa del completamento di tutte le aree.
Registrare nuovamente un provider di risorse per usare le posizioni aggiunte da Azure 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 inoltre esserci limitazioni nella sottoscrizione che impediscono di usare alcune aree che supportano la risorsa.
Per ottenere i percorsi supportati per un tipo di risorsa, usare:
# 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 informazioni sulla creazione di modelli di Resource Manager, vedi Comprendere la struttura e la sintassi dei modelli di ARM.
- Per visualizzare gli schemi dei modelli per i provider di risorse, vedere Definire le risorse con Bicep, i modelli arm e il provider AzAPI di Terraform.
- 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).