An Azure resource provider is a set of REST operations that support functionality for a specific Azure service. For example, the Azure Key Vault service consists of a resource provider named Microsoft.KeyVault. The resource provider defines REST operations for managing vaults, secrets, keys, and certificates.
The resource provider defines the Azure resources you can deploy to your account. A resource type's name follows the format: {resource-provider}/{resource-type}. The resource type for a key vault is Microsoft.KeyVault/vaults.
Before you use a resource provider, make sure your Azure subscription is registered for the resource provider. Registration configures your subscription to work with the resource provider.
Važno
Register a resource provider only when you're ready to use it. This registration step helps maintain least privileges within your subscription. A malicious user can't use unregistered resource providers.
When you register a resource provider, Microsoft adds an app for the resource provider. Registering unnecessary resource providers can cause apps that you don't recognize to appear in your Microsoft Entra tenant. The Windows Azure Service Management API typically adds these apps. To limit unnecessary apps in your tenant, only register the resource providers that you need.
When you take certain actions, Azure automatically registers other resource providers. When you create a resource in the Azure portal, the portal typically registers the resource provider for you. When you deploy an Azure Resource Manager template or Bicep file, Azure automatically registers the resource providers defined in the template. Sometimes, a resource in the template requires supporting resources that aren't in the template. Common examples are monitoring or security resources. You need to register those resource providers manually.
You might need to manually register a resource provider during other scenarios.
Važno
Your application code shouldn't block the creation of resources for a resource provider that's in the registering state. When you register the resource provider, the operation is done individually for each supported region. To create resources in a region, the registration only needs to be completed in that region. When your application doesn't block a resource provider in the registering state, it can continue sooner than waiting for all regions to complete.
You must have permission to do the /register/action operation for the resource provider. The permission is included in the Contributor and Owner roles.
You can't unregister a resource provider when you still have resource types from that resource provider in your subscription.
Reregister a resource provider when the resource provider supports new locations that you need to use.
Azure portal
Register resource provider
To see all resource providers and the registration status for your subscription:
On the Azure portal menu, search for Subscriptions. Select it from the available options.
Select the subscription you want to view.
On the left menu and under Settings, select Resource providers.
Find the resource provider you want to register.
Select the resource provider to see the details of the resource provider.
Select the resource provider, and select Register. To maintain least privileges in your subscription, only register the resource providers that you're ready to use.
Važno
As noted earlier, don't block the creation of resources for a resource provider that's in the registering state. When your application doesn't block a resource provider in the registering state, it can continue sooner than waiting for all regions to complete.
Re-register a resource provider to use locations that you added since the previous registration.
View resource provider
To see information for a particular resource provider:
In the All services box, enter resource explorer, and select Resource Explorer.
Select the right arrow to expand Providers.
Expand the resource provider and resource type that you want to view.
Resource Manager is supported in all regions, but the resources you deploy might not be supported in all regions. Also, there might be limitations on your subscription that prevent you from using some regions that support the resource. Resource Explorer displays valid locations for the resource type.
The API version corresponds to a version of the resource provider's REST API operations. As a resource provider enables new features, it releases a new version of the REST API. Resource Explorer displays valid API versions for the resource type.
Azure PowerShell
To see all resource providers in Azure and the registration status for your subscription, use:
To maintain least privileges in your subscription, only register those resource providers that you're ready to use. To register a resource provider, use:
ProviderNamespace : Microsoft.Batch
RegistrationState : Registering
ResourceTypes : {batchAccounts, operations, locations, locations/quotas}
Locations : {West Europe, East US, East US 2, West US...}
Važno
As noted earlier, don't block the creation of resources for a resource provider that's in the registering state. When your application doesn't block a resource provider in the registering state, it can continue sooner than waiting for all regions to complete.
To use locations that Azure added since the previous registration, register a resource provider again. To reregister, run the registration command again.
To see information for a particular resource provider, use:
The API version corresponds to a version of the resource provider's REST API operations. As a resource provider enables new features, it releases a new version of the REST API.
To get the available API versions for a resource type, use:
Resource Manager is supported in all regions, but the resources you deploy might not be supported in all regions. Also, there might be limitations on your subscription that prevent you from using some regions that support the resource.
To get the supported locations for a resource type, use:
To see all registered resource providers for your subscription, use:
Azure CLI
az provider list --query"sort_by([?registrationState=='Registered'].{Provider:namespace, Status:registrationState}, &Provider)"--out table
To maintain least privileges in your subscription, only register those resource providers that you're ready to use. To register a resource provider, use:
Azure CLI
az provider register --namespace Microsoft.Batch
The command returns a message that registration is ongoing.
To see information for a particular resource provider, use:
As noted earlier, don't block the creation of resources for a resource provider that's in the registering state. When your application doesn't block a resource provider in the registering state, it can continue sooner than waiting for all regions to complete.
To see the resource types for a resource provider, use:
Azure CLI
az provider show --namespace Microsoft.Batch --query"resourceTypes[*].resourceType"--out table
The command returns:
Output
Result
---------------
batchAccounts
operations
locations
locations/quotas
The API version corresponds to a version of the resource provider's REST API operations. As a resource provider enables new features, it releases a new version of the REST API.
To get the available API versions for a resource type, use:
Azure CLI
az provider show --namespace Microsoft.Batch --query"resourceTypes[?resourceType=='batchAccounts'].apiVersions | [0]"--out table
The command returns:
Output
Result
---------------
2023-05-01
2022-10-01
2022-06-01
2022-01-01
...
Resource Manager is supported in all regions, but the resources you deploy might not be supported in all regions. Also, there might be limitations on your subscription that prevent you from using some regions that support the resource.
To get the supported locations for a resource type, use:
Azure CLI
az provider show --namespace Microsoft.Batch --query"resourceTypes[?resourceType=='batchAccounts'].locations | [0]"--out table
The command returns:
Output
Result
---------------
West Europe
East US
East US 2
West US
...
Python
To see all resource providers in Azure and the registration status for your subscription, use:
Python
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}")
To see all registered resource providers for your subscription, use:
Python
# 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}")
To maintain least privileges in your subscription, only register those resource providers that you're ready to use. To register a resource provider, use:
As noted earlier, don't block the creation of resources for a resource provider that's in the registering state. When your application doesn't block a resource provider in the registering state, it can continue sooner than waiting for all regions to complete.
Reregister a resource provider to use locations that Azure added since the previous registration. To reregister, run the registration command again.
To see information for a particular resource provider, use:
Python
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")
The command returns:
Output
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
...
To see the resource types for a resource provider, use:
Python
# 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)
The API version corresponds to a version of the resource provider's REST API operations. As a resource provider enables new features, it releases a new version of the REST API.
To get the available API versions for a resource type, use:
Python
# 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)
The command returns:
Output
2023-05-01
2022-10-01
2022-06-01
2022-01-01
...
Resource Manager is supported in all regions, but the resources you deploy might not be supported in all regions. Also, there might be limitations on your subscription that prevent you from using some regions that support the resource.
To get the supported locations for a resource type, use:
Python
# 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)
Azure HPC è una funzionalità cloud appositamente realizzata per carichi di lavoro HPC e di intelligenza artificiale che si avvale di processori all'avanguardia e dell'interconnessione InfiniBand di classe HPC per offrire livelli ottimali di prestazioni, scalabilità e valore delle applicazioni. Azure HPC consente agli utenti di favorire l'innovazione, la produttività e l'agilità aziendale tramite una gamma a disponibilità elevata di tecnologie di intelligenza artificiale che possono essere allocate dinamicam