Poskytovatelé a typy prostředků Azure
Poskytovatel prostředků Azure je sada operací REST, které umožňují funkce pro konkrétní službu Azure. Například služba Key Vault se skládá z poskytovatele prostředků s názvem Microsoft.KeyVault. Poskytovatel prostředků definuje operace REST pro správu trezorů, tajných kódů, klíčů a certifikátů.
Poskytovatel prostředků definuje prostředky Azure, které můžete nasadit do svého účtu. Název typu prostředku se řídí formátem: {resource-provider}/{resource-type}. Typ prostředku trezoru klíčů je Microsoft.KeyVault/vaults.
V tomto článku získáte informace o těchto tématech:
- Zobrazení všech poskytovatelů prostředků v Azure
- Kontrola stavu registrace poskytovatele prostředků
- Registrace poskytovatele prostředků
- Zobrazení typů prostředků pro poskytovatele prostředků
- Zobrazení platných umístění pro typ prostředku
- Zobrazení platných verzí rozhraní API pro typ prostředku
Seznam, který mapuje poskytovatele prostředků na služby Azure, najdete v tématu Poskytovatelé prostředků pro služby Azure.
Registrace poskytovatele prostředků
Než použijete poskytovatele prostředků, musíte se ujistit, že je vaše předplatné Azure zaregistrované pro poskytovatele prostředků. Registrace nakonfiguruje vaše předplatné tak, aby fungovalo s poskytovatelem prostředků.
Důležité
Zaregistrujte poskytovatele prostředků jenom tehdy, když jste připravení ho použít. Tento krok registrace pomáhá udržovat nejnižší oprávnění v rámci vašeho předplatného. Uživatel se zlými úmysly nemůže používat neregistrované poskytovatele prostředků.
Registrace nepotřebných poskytovatelů prostředků může mít za následek zobrazení nerozpoznaných aplikací ve vašem tenantovi Microsoft Entra. Microsoft přidá aplikaci pro poskytovatele prostředků, když ji zaregistrujete. Tyto aplikace obvykle přidává rozhraní API pro správu služeb Windows Azure. Pokud chcete zabránit zbytečným aplikacím ve vašem tenantovi, zaregistrujte jenom potřebné poskytovatele prostředků.
Někteří poskytovatelé prostředků jsou ve výchozím nastavení zaregistrovaní. Seznam poskytovatelů prostředků zaregistrovaných ve výchozím nastavení najdete v tématu Poskytovatelé prostředků pro služby Azure.
Ostatní poskytovatelé prostředků se zaregistrují automaticky, když provedete určité akce. Když prostředek vytvoříte prostřednictvím portálu, poskytovatel prostředků je obvykle zaregistrovaný za vás. Když nasadíte šablonu Azure Resource Manageru nebo soubor Bicep, poskytovatelé prostředků definované v šabloně se zaregistrují automaticky. Někdy prostředek v šabloně vyžaduje podpůrné prostředky, které nejsou v šabloně. Mezi běžné příklady patří monitorování nebo prostředky zabezpečení. Tyto poskytovatele prostředků musíte zaregistrovat ručně.
V jiných scénářích možná budete muset poskytovatele prostředků zaregistrovat ručně.
Důležité
Kód aplikace by neměl blokovat vytváření prostředků pro poskytovatele prostředků, který je ve stavu registrace . Při registraci poskytovatele prostředků se operace provádí jednotlivě pro každou podporovanou oblast. Pokud chcete vytvořit prostředky v oblasti, musí být registrace dokončena pouze v této oblasti. Tím, že neblokujete poskytovatele prostředků ve stavu registrace, může vaše aplikace pokračovat mnohem dříve, než čeká na dokončení všech oblastí.
Musíte mít oprávnění k provedení /register/action
operace pro poskytovatele prostředků. Oprávnění je součástí rolí Přispěvatel a Vlastník.
Pokud stále máte v předplatném typy prostředků od tohoto poskytovatele prostředků, nemůžete zrušit registraci poskytovatele prostředků.
Znovu zaregistrujte poskytovatele prostředků, když poskytovatel prostředků podporuje nová umístění, která potřebujete použít.
portál Azure
Registrace poskytovatele prostředků
Pokud chcete zobrazit všechny poskytovatele prostředků a stav jejich registrace pro vaše předplatné:
Přihlaste se k portálu Azure.
V nabídce webu Azure Portal vyhledejte Předplatná. Vyberte ji z dostupných možností.
Vyberte předplatné, které chcete zobrazit.
V nabídce vlevo v části Nastavení vyberte Poskytovatelé prostředků.
Vyhledejte poskytovatele prostředků, kterého chcete zaregistrovat.
Výběrem poskytovatele prostředků zobrazíte podrobnosti o poskytovateli prostředků.
Vyberte poskytovatele prostředků a vyberte Zaregistrovat. V zájmu použití nejmenších nezbytných oprávnění ve vašem odběru registrujte pouze poskytovatele prostředků, které jste připraveni využívat.
Důležité
Jak už bylo zmíněno dříve, neblokujte vytváření prostředků pro poskytovatele prostředků, který je v registru . Tím, že neblokujete poskytovatele prostředků ve stavu registrace, může vaše aplikace pokračovat mnohem dříve, než čeká na dokončení všech oblastí.
Znovu zaregistrujte poskytovatele prostředků, aby používal umístění přidaná od předchozí registrace.
Zobrazení poskytovatele prostředků
Zobrazení informací pro konkrétního poskytovatele prostředků:
Přihlaste se k portálu Azure.
V nabídce webu Azure Portal vyberte Všechny služby.
Do pole Všechny služby zadejte Průzkumníka prostředků a pak vyberte Průzkumníka prostředků.
Rozbalte zprostředkovatele výběrem šipky doprava.
Rozbalte poskytovatele prostředků a typ prostředku, který chcete zobrazit.
Resource Manager je podporovaný ve všech oblastech, ale prostředky, které nasazujete, nemusí být podporované ve všech oblastech. Vaše předplatné může mít také určitá omezení, která vám brání v používání některých oblastí, které prostředek podporují. Průzkumník prostředků zobrazí platná umístění pro typ prostředku.
Verze rozhraní API odpovídá verzi operací REST API poskytovatele prostředků. Jako poskytovatel prostředků umožňuje nové funkce, vydává novou verzi rozhraní REST API. Průzkumník prostředků zobrazí platné verze rozhraní API pro daný typ prostředku.
Azure PowerShell
Pokud chcete zobrazit všechny poskytovatele prostředků v Azure a stav registrace pro vaše předplatné, použijte:
Get-AzResourceProvider -ListAvailable | Select-Object ProviderNamespace, RegistrationState
Příkaz vrátí:
ProviderNamespace RegistrationState
-------------------------------- ------------------
Microsoft.ClassicCompute Registered
Microsoft.ClassicNetwork Registered
Microsoft.ClassicStorage Registered
Microsoft.CognitiveServices Registered
...
Pokud chcete zobrazit všechny registrované poskytovatele prostředků pro vaše předplatné, použijte:
Get-AzResourceProvider -ListAvailable | Where-Object RegistrationState -eq "Registered" | Select-Object ProviderNamespace, RegistrationState | Sort-Object ProviderNamespace
V zájmu použití nejmenších nezbytných oprávnění ve vašem odběru registrujte pouze poskytovatele prostředků, které jste připraveni využívat. Pokud chcete zaregistrovat poskytovatele prostředků, použijte:
Register-AzResourceProvider -ProviderNamespace Microsoft.Batch
Příkaz vrátí:
ProviderNamespace : Microsoft.Batch
RegistrationState : Registering
ResourceTypes : {batchAccounts, operations, locations, locations/quotas}
Locations : {West Europe, East US, East US 2, West US...}
Důležité
Jak už bylo zmíněno dříve, neblokujte vytváření prostředků pro poskytovatele prostředků, který je v registru . Tím, že neblokujete poskytovatele prostředků ve stavu registrace, může vaše aplikace pokračovat mnohem dříve, než čeká na dokončení všech oblastí.
Znovu zaregistrujte poskytovatele prostředků, aby používal umístění přidaná od předchozí registrace. Pokud chcete registraci znovu zaregistrovat, spusťte znovu příkaz registrace.
Pokud chcete zobrazit informace pro konkrétního poskytovatele prostředků, použijte:
Get-AzResourceProvider -ProviderNamespace Microsoft.Batch
Příkaz vrátí:
{ProviderNamespace : Microsoft.Batch
RegistrationState : Registered
ResourceTypes : {batchAccounts}
Locations : {West Europe, East US, East US 2, West US...}
...
Pokud chcete zobrazit typy prostředků pro poskytovatele prostředků, použijte:
(Get-AzResourceProvider -ProviderNamespace Microsoft.Batch).ResourceTypes.ResourceTypeName
Příkaz vrátí:
batchAccounts
operations
locations
locations/quotas
Verze rozhraní API odpovídá verzi operací REST API poskytovatele prostředků. Jako poskytovatel prostředků umožňuje nové funkce, vydává novou verzi rozhraní REST API.
Pokud chcete získat dostupné verze rozhraní API pro typ prostředku, použijte:
((Get-AzResourceProvider -ProviderNamespace Microsoft.Batch).ResourceTypes | Where-Object ResourceTypeName -eq batchAccounts).ApiVersions
Příkaz vrátí:
2023-05-01
2022-10-01
2022-06-01
2022-01-01
2021-06-01
2021-01-01
...
Resource Manager je podporovaný ve všech oblastech, ale prostředky, které nasazujete, nemusí být podporované ve všech oblastech. Vaše předplatné může mít také určitá omezení, která vám brání v používání některých oblastí, které prostředek podporují.
Pokud chcete získat podporovaná umístění pro typ prostředku, použijte.
((Get-AzResourceProvider -ProviderNamespace Microsoft.Batch).ResourceTypes | Where-Object ResourceTypeName -eq batchAccounts).Locations
Příkaz vrátí:
West Europe
East US
East US 2
West US
...
Azure CLI
Pokud chcete zobrazit všechny poskytovatele prostředků v Azure a stav registrace pro vaše předplatné, použijte:
az provider list --query "[].{Provider:namespace, Status:registrationState}" --out table
Příkaz vrátí:
Provider Status
-------------------------------- ----------------
Microsoft.ClassicCompute Registered
Microsoft.ClassicNetwork Registered
Microsoft.ClassicStorage Registered
Microsoft.CognitiveServices Registered
...
Pokud chcete zobrazit všechny registrované poskytovatele prostředků pro vaše předplatné, použijte:
az provider list --query "sort_by([?registrationState=='Registered'].{Provider:namespace, Status:registrationState}, &Provider)" --out table
V zájmu použití nejmenších nezbytných oprávnění ve vašem odběru registrujte pouze poskytovatele prostředků, které jste připraveni využívat. Pokud chcete zaregistrovat poskytovatele prostředků, použijte:
az provider register --namespace Microsoft.Batch
Příkaz vrátí zprávu, že registrace probíhá.
Pokud chcete zobrazit informace pro konkrétního poskytovatele prostředků, použijte:
az provider show --namespace Microsoft.Batch
Příkaz vrátí:
{
"id": "/subscriptions/####-####/providers/Microsoft.Batch",
"namespace": "Microsoft.Batch",
"registrationsState": "Registering",
"resourceTypes:" [
...
]
}
Důležité
Jak už bylo zmíněno dříve, neblokujte vytváření prostředků pro poskytovatele prostředků, který je v registru . Tím, že neblokujete poskytovatele prostředků ve stavu registrace, může vaše aplikace pokračovat mnohem dříve, než čeká na dokončení všech oblastí.
Pokud chcete zobrazit typy prostředků pro poskytovatele prostředků, použijte:
az provider show --namespace Microsoft.Batch --query "resourceTypes[*].resourceType" --out table
Příkaz vrátí:
Result
---------------
batchAccounts
operations
locations
locations/quotas
Verze rozhraní API odpovídá verzi operací REST API poskytovatele prostředků. Jako poskytovatel prostředků umožňuje nové funkce, vydává novou verzi rozhraní REST API.
Pokud chcete získat dostupné verze rozhraní API pro typ prostředku, použijte:
az provider show --namespace Microsoft.Batch --query "resourceTypes[?resourceType=='batchAccounts'].apiVersions | [0]" --out table
Příkaz vrátí:
Result
---------------
2023-05-01
2022-10-01
2022-06-01
2022-01-01
...
Resource Manager je podporovaný ve všech oblastech, ale prostředky, které nasazujete, nemusí být podporované ve všech oblastech. Vaše předplatné může mít také určitá omezení, která vám brání v používání některých oblastí, které prostředek podporují.
Pokud chcete získat podporovaná umístění pro typ prostředku, použijte.
az provider show --namespace Microsoft.Batch --query "resourceTypes[?resourceType=='batchAccounts'].locations | [0]" --out table
Příkaz vrátí:
Result
---------------
West Europe
East US
East US 2
West US
...
Python
Pokud chcete zobrazit všechny poskytovatele prostředků v Azure a stav registrace pro vaše předplatné, použijte:
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}")
Příkaz vrátí:
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
...
Pokud chcete zobrazit všechny registrované poskytovatele prostředků pro vaše předplatné, použijte:
# 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}")
V zájmu použití nejmenších nezbytných oprávnění ve vašem odběru registrujte pouze poskytovatele prostředků, které jste připraveni využívat. Pokud chcete zaregistrovat poskytovatele prostředků, použijte:
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}")
Příkaz vrátí:
ProviderNamespace: Microsoft.Batch, RegistrationState: Registered
Důležité
Jak už bylo zmíněno dříve, neblokujte vytváření prostředků pro poskytovatele prostředků, který je v registru . Tím, že neblokujete poskytovatele prostředků ve stavu registrace, může vaše aplikace pokračovat mnohem dříve, než čeká na dokončení všech oblastí.
Znovu zaregistrujte poskytovatele prostředků, aby používal umístění přidaná od předchozí registrace. Pokud chcete registraci znovu zaregistrovat, spusťte znovu příkaz registrace.
Pokud chcete zobrazit informace pro konkrétního poskytovatele prostředků, použijte:
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")
Příkaz vrátí:
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
...
Pokud chcete zobrazit typy prostředků pro poskytovatele prostředků, použijte:
# 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)
Příkaz vrátí:
batchAccounts
batchAccounts/pools
batchAccounts/detectors
batchAccounts/certificates
operations
locations
locations/quotas
locations/checkNameAvailability
locations/accountOperationResults
locations/virtualMachineSkus
locations/cloudServiceSkus
Verze rozhraní API odpovídá verzi operací REST API poskytovatele prostředků. Jako poskytovatel prostředků umožňuje nové funkce, vydává novou verzi rozhraní REST API.
Pokud chcete získat dostupné verze rozhraní API pro typ prostředku, použijte:
# 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)
Příkaz vrátí:
2023-05-01
2022-10-01
2022-06-01
2022-01-01
...
Resource Manager je podporovaný ve všech oblastech, ale prostředky, které nasazujete, nemusí být podporované ve všech oblastech. Vaše předplatné může mít také určitá omezení, která vám brání v používání některých oblastí, které prostředek podporují.
Pokud chcete získat podporovaná umístění pro typ prostředku, použijte.
# 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)
Příkaz vrátí:
West Europe
East US
East US 2
West US
...
Další kroky
- Další informace o vytváření šablon Resource Manageru najdete v tématu Vytváření šablon Azure Resource Manageru.
- Pokud chcete zobrazit schémata šablony poskytovatele prostředků, přečtěte si referenční informace k šablonám.
- Seznam, který mapuje poskytovatele prostředků na služby Azure, najdete v tématu Poskytovatelé prostředků pro služby Azure.
- Pokud chcete zobrazit operace poskytovatele prostředků, přečtěte si téma Azure REST API.