Penyedia dan jenis sumber daya Azure

Penyedia sumber daya Azure adalah sekumpulan operasi REST yang memungkinkan fungsionalitas untuk layanan Azure tertentu. Misalnya, layanan Key Vault terdiri dari penyedia sumber daya bernama Microsoft.KeyVault. Penyedia sumber daya mendefinisikan operasi REST untuk mengelola vault, rahasia, kunci, dan sertifikat.

Penyedia sumber daya menentukan sumber daya Azure yang dapat Anda sebarkan ke akun Anda. Nama jenis sumber daya mengikuti format: {resource-provider}/{resource-type}. Jenis sumber daya untuk brankas kunci adalah Microsoft.KeyVault/vaults.

Dalam artikel ini, Anda akan mempelajari cara:

  • Menampilkan semua penyedia sumber daya di dalam Azure
  • Periksa status pendaftaran penyedia sumber daya
  • Mendaftarkan penyedia sumber daya
  • Menampilkan tipe sumber daya untuk penyedia sumber daya
  • Menampikan lokasi yang valid untuk tipe sumber daya
  • Menampikan versi API yang valid untuk tipe sumber daya

Untuk daftar yang memetakan penyedia sumber daya ke layanan Azure, lihat Penyedia sumber daya untuk layanan Azure.

Mendaftarkan penyedia sumber daya

Sebelum menggunakan penyedia sumber daya, Anda harus memastikan langganan Azure Anda terdaftar untuk penyedia sumber daya. Pendaftaran mengonfigurasi langganan Anda untuk bekerja dengan penyedia sumber daya.

Penting

Daftarkan penyedia sumber daya hanya saat Anda siap menggunakannya. Langkah pendaftaran ini membantu mempertahankan hak istimewa paling sedikit dalam langganan Anda. Pengguna berbahaya tidak dapat menggunakan penyedia sumber daya yang tidak terdaftar.

Mendaftarkan penyedia sumber daya yang tidak perlu dapat mengakibatkan aplikasi yang tidak dikenal muncul di penyewa Microsoft Entra Anda. Microsoft menambahkan aplikasi untuk penyedia sumber daya saat Anda mendaftarkannya. Aplikasi ini biasanya ditambahkan oleh Windows Azure Service Management API. Untuk mencegah aplikasi yang tidak perlu di penyewa Anda, hanya daftarkan penyedia sumber daya yang diperlukan.

Beberapa penyedia sumber daya didaftarkan secara default. Untuk daftar penyedia sumber daya yang terdaftar secara default, lihat Penyedia sumber daya untuk layanan Azure.

Penyedia sumber daya lain didaftarkan secara otomatis ketika Anda mengambil tindakan tertentu. Saat Anda membuat sumber daya melalui portal, penyedia sumber daya biasanya terdaftar untuk Anda. Saat Anda menerapkan templat Azure Resource Manager atau file Bicep, penyedia sumber daya yang didefinisikan dalam templat akan terdaftar secara otomatis. Terkadang, sumber daya dalam templat memerlukan sumber daya pendukung yang tidak ada dalam templat. Contoh umumnya adalah pemantauan atau sumber daya keamanan. Anda perlu mendaftarkan penyedia sumber daya tersebut secara manual.

Untuk skenario lain, Anda mungkin perlu mendaftarkan penyedia sumber daya secara manual.

Penting

Kode aplikasi Anda tidak boleh memblokir pembuatan sumber daya untuk penyedia sumber daya yang berada dalam status mendaftar. Saat Anda mendaftarkan penyedia sumber daya, operasi dilakukan satu per satu untuk setiap wilayah yang didukung. Untuk membuat sumber daya di suatu wilayah, pendaftaran hanya perlu diselesaikan di wilayah tersebut. Dengan tidak memblokir penyedia sumber daya dalam status pendaftaran, aplikasi Anda dapat melanjutkan lebih cepat daripada menunggu semua wilayah selesai.

Anda harus memiliki izin untuk melakukan /register/action operasi untuk penyedia sumber daya. Izin disertakan dalam peran Kontributor dan Pemilik.

Anda tidak bisa membatalkan pendaftaran penyedia sumber daya saat Anda masih memiliki tipe sumber daya dari penyedia sumber daya tersebut di langganan Anda.

Daftarkan ulang penyedia sumber daya saat penyedia sumber mendukung lokasi baru yang perlu Anda gunakan.

Portal Azure

Mendaftarkan penyedia sumber daya

Untuk melihat semua penyedia sumber daya, dan status pendaftaran untuk langganan Anda:

  1. Masuk ke portal Azure.

  2. Pada menu portal Microsoft Azure, cari Langganan. Pilih dari opsi yang tersedia.

    Screenshot of searching for subscriptions in the Azure portal.

  3. Pilih langganan yang ingin Anda tampilkan.

    Screenshot of selecting a subscription in the Azure portal.

  4. Di menu sebelah kiri, di bawah Pengaturan, pilih Penyedia sumber daya.

    Screenshot of selecting resource providers in the Azure portal.

  5. Temukan penyedia sumber daya yang ingin Anda daftarkan, dan pilih Daftar. Untuk mempertahankan hak istimewa paling kecil dalam langganan Anda, hanya daftarkan penyedia sumber daya yang siap Anda gunakan.

    Screenshot of registering a resource provider in the Azure portal.

    Penting

    Seperti yang dicatat sebelumnya, jangan blokir pembuatan sumber daya untuk penyedia sumber daya yang berstatus mendaftar. Dengan tidak memblokir penyedia sumber daya dalam status pendaftaran, aplikasi Anda dapat melanjutkan lebih cepat daripada menunggu semua wilayah selesai.

  6. Daftarkan ulang penyedia sumber daya untuk menggunakan lokasi yang telah ditambahkan sejak pendaftaran sebelumnya.

    Screenshot of reregistering a resource provider in the Azure portal.

Tampilkan penyedia sumber daya

Untuk melihat informasi untuk penyedia sumber daya tertentu:

  1. Masuk ke portal Azure.

  2. Pada menu portal Microsoft Azure, pilih Semua layanan.

  3. Dalam kotak Semua layanan, masukkan penjelajah sumber daya, lalu pilih Penjelajah Sumber Daya.

    Screenshot of selecting All services in the Azure portal to access Resource Explorer.

  4. Perluas Penyedia dengan memilih panah kanan.

    Screenshot of expanding the Providers section in the Azure Resource Explorer.

  5. Luaskan penyedia sumber daya dan tipe sumber daya yang ingin Anda tampilkan.

    Screenshot of expanding a resource provider and resource type in the Azure Resource Explorer.

  6. Resource Manager didukung di semua wilayah, tetapi sumber daya yang Anda terapkan mungkin tidak didukung di semua wilayah. Selain itu, mungkin ada batasan pada langganan Anda yang mencegah Anda menggunakan beberapa wilayah yang mendukung sumber daya. Penjelajah sumber daya menampilkan lokasi yang sahih untuk tipe sumber daya.

    Screenshot of displaying valid locations for a resource type in the Azure Resource Explorer.

  7. Versi API sesuai dengan versi operasi REST API penyedia sumber daya. Sebagai penyedia sumber yang memungkinkan fitur baru, versi baru REST API dirilis. Penjelajah sumber daya menampilkan versi API yang sahih untuk tipe sumber daya.

    Screenshot of displaying valid API versions for a resource type in the Azure Resource Explorer.

Azure PowerShell

Untuk melihat semua penyedia sumber, dan status pendaftaran untuk langganan Anda, gunakan:

Get-AzResourceProvider -ListAvailable | Select-Object ProviderNamespace, RegistrationState

Perintah kembali:

ProviderNamespace                RegistrationState
-------------------------------- ------------------
Microsoft.ClassicCompute         Registered
Microsoft.ClassicNetwork         Registered
Microsoft.ClassicStorage         Registered
Microsoft.CognitiveServices      Registered
...

Untuk melihat semua penyedia sumber yang terdaftar untuk langganan Anda, gunakan:

 Get-AzResourceProvider -ListAvailable | Where-Object RegistrationState -eq "Registered" | Select-Object ProviderNamespace, RegistrationState | Sort-Object ProviderNamespace

Untuk mempertahankan hak istimewa paling kecil dalam langganan Anda, hanya daftarkan penyedia sumber daya yang siap Anda gunakan. Untuk mendaftarkan penyedia sumber, gunakan:

Register-AzResourceProvider -ProviderNamespace Microsoft.Batch

Perintah kembali:

ProviderNamespace : Microsoft.Batch
RegistrationState : Registering
ResourceTypes     : {batchAccounts, operations, locations, locations/quotas}
Locations         : {West Europe, East US, East US 2, West US...}

Penting

Seperti yang dicatat sebelumnya, jangan blokir pembuatan sumber daya untuk penyedia sumber daya yang berstatus mendaftar. Dengan tidak memblokir penyedia sumber daya dalam status pendaftaran, aplikasi Anda dapat melanjutkan lebih cepat daripada menunggu semua wilayah selesai.

Daftarkan ulang penyedia sumber daya untuk menggunakan lokasi yang telah ditambahkan sejak pendaftaran sebelumnya. Untuk mendaftar ulang, jalankan perintah pendaftaran lagi.

Untuk melihat informasi untuk penyedia sumber tertentu, gunakan:

Get-AzResourceProvider -ProviderNamespace Microsoft.Batch

Perintah kembali:

{ProviderNamespace : Microsoft.Batch
RegistrationState : Registered
ResourceTypes     : {batchAccounts}
Locations         : {West Europe, East US, East US 2, West US...}

...

Untuk melihat tipe sumber daya untuk penyedia sumber, gunakan:

(Get-AzResourceProvider -ProviderNamespace Microsoft.Batch).ResourceTypes.ResourceTypeName

Perintah kembali:

batchAccounts
operations
locations
locations/quotas

Versi API sesuai dengan versi operasi REST API penyedia sumber daya. Sebagai penyedia sumber yang memungkinkan fitur baru, versi baru REST API dirilis.

Untuk mendapatkan versi API yang tersedia untuk jenis sumber daya, gunakan:

((Get-AzResourceProvider -ProviderNamespace Microsoft.Batch).ResourceTypes | Where-Object ResourceTypeName -eq batchAccounts).ApiVersions

Perintah kembali:

2023-05-01
2022-10-01
2022-06-01
2022-01-01
2021-06-01
2021-01-01
...

Resource Manager didukung di semua wilayah, tetapi sumber daya yang Anda terapkan mungkin tidak didukung di semua wilayah. Selain itu, mungkin ada batasan pada langganan Anda yang mencegah Anda menggunakan beberapa wilayah yang mendukung sumber daya.

Untuk mendapatkan lokasi yang didukung untuk tipe sumber daya, gunakan.

((Get-AzResourceProvider -ProviderNamespace Microsoft.Batch).ResourceTypes | Where-Object ResourceTypeName -eq batchAccounts).Locations

Perintah kembali:

West Europe
East US
East US 2
West US
...

Azure CLI

Untuk melihat semua penyedia sumber, dan status pendaftaran untuk langganan Anda, gunakan:

az provider list --query "[].{Provider:namespace, Status:registrationState}" --out table

Perintah kembali:

Provider                         Status
-------------------------------- ----------------
Microsoft.ClassicCompute         Registered
Microsoft.ClassicNetwork         Registered
Microsoft.ClassicStorage         Registered
Microsoft.CognitiveServices      Registered
...

Untuk melihat semua penyedia sumber yang terdaftar untuk langganan Anda, gunakan:

az provider list --query "sort_by([?registrationState=='Registered'].{Provider:namespace, Status:registrationState}, &Provider)" --out table

Untuk mempertahankan hak istimewa paling kecil dalam langganan Anda, hanya daftarkan penyedia sumber daya yang siap Anda gunakan. Untuk mendaftarkan penyedia sumber, gunakan:

az provider register --namespace Microsoft.Batch

Perintah mengembalikan pesan bahwa pendaftaran sedang berlangsung.

Untuk melihat informasi untuk penyedia sumber tertentu, gunakan:

az provider show --namespace Microsoft.Batch

Perintah kembali:

{
    "id": "/subscriptions/####-####/providers/Microsoft.Batch",
    "namespace": "Microsoft.Batch",
    "registrationsState": "Registering",
    "resourceTypes:" [
        ...
    ]
}

Penting

Seperti yang dicatat sebelumnya, jangan blokir pembuatan sumber daya untuk penyedia sumber daya yang berstatus mendaftar. Dengan tidak memblokir penyedia sumber daya dalam status pendaftaran, aplikasi Anda dapat melanjutkan lebih cepat daripada menunggu semua wilayah selesai.

Untuk melihat tipe sumber daya untuk penyedia sumber, gunakan:

az provider show --namespace Microsoft.Batch --query "resourceTypes[*].resourceType" --out table

Perintah kembali:

Result
---------------
batchAccounts
operations
locations
locations/quotas

Versi API sesuai dengan versi operasi REST API penyedia sumber daya. Sebagai penyedia sumber yang memungkinkan fitur baru, versi baru REST API dirilis.

Untuk mendapatkan versi API yang tersedia untuk jenis sumber daya, gunakan:

az provider show --namespace Microsoft.Batch --query "resourceTypes[?resourceType=='batchAccounts'].apiVersions | [0]" --out table

Perintah kembali:

Result
---------------
2023-05-01
2022-10-01
2022-06-01
2022-01-01
...

Resource Manager didukung di semua wilayah, tetapi sumber daya yang Anda terapkan mungkin tidak didukung di semua wilayah. Selain itu, mungkin ada batasan pada langganan Anda yang mencegah Anda menggunakan beberapa wilayah yang mendukung sumber daya.

Untuk mendapatkan lokasi yang didukung untuk tipe sumber daya, gunakan.

az provider show --namespace Microsoft.Batch --query "resourceTypes[?resourceType=='batchAccounts'].locations | [0]" --out table

Perintah kembali:

Result
---------------
West Europe
East US
East US 2
West US
...

Python

Untuk melihat semua penyedia sumber, dan status pendaftaran untuk langganan Anda, gunakan:

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}")  

Perintah kembali:

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
...

Untuk melihat semua penyedia sumber yang terdaftar untuk langganan Anda, gunakan:

# 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}")  

Untuk mempertahankan hak istimewa paling kecil dalam langganan Anda, hanya daftarkan penyedia sumber daya yang siap Anda gunakan. Untuk mendaftarkan penyedia sumber, gunakan:

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}")  

Perintah kembali:

ProviderNamespace: Microsoft.Batch, RegistrationState: Registered

Penting

Seperti yang dicatat sebelumnya, jangan blokir pembuatan sumber daya untuk penyedia sumber daya yang berstatus mendaftar. Dengan tidak memblokir penyedia sumber daya dalam status pendaftaran, aplikasi Anda dapat melanjutkan lebih cepat daripada menunggu semua wilayah selesai.

Daftarkan ulang penyedia sumber daya untuk menggunakan lokasi yang telah ditambahkan sejak pendaftaran sebelumnya. Untuk mendaftar ulang, jalankan perintah pendaftaran lagi.

Untuk melihat informasi untuk penyedia sumber tertentu, gunakan:

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")  

Perintah kembali:

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

...

Untuk melihat tipe sumber daya untuk penyedia sumber, gunakan:

# 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)  

Perintah kembali:

batchAccounts
batchAccounts/pools
batchAccounts/detectors
batchAccounts/certificates
operations
locations
locations/quotas
locations/checkNameAvailability
locations/accountOperationResults
locations/virtualMachineSkus
locations/cloudServiceSkus

Versi API sesuai dengan versi operasi REST API penyedia sumber daya. Sebagai penyedia sumber yang memungkinkan fitur baru, versi baru REST API dirilis.

Untuk mendapatkan versi API yang tersedia untuk jenis sumber daya, gunakan:

# 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)  

Perintah kembali:

2023-05-01
2022-10-01
2022-06-01
2022-01-01
...

Resource Manager didukung di semua wilayah, tetapi sumber daya yang Anda terapkan mungkin tidak didukung di semua wilayah. Selain itu, mungkin ada batasan pada langganan Anda yang mencegah Anda menggunakan beberapa wilayah yang mendukung sumber daya.

Untuk mendapatkan lokasi yang didukung untuk tipe sumber daya, gunakan.

# 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)  

Perintah kembali:

West Europe
East US
East US 2
West US
...

Langkah berikutnya