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:
Masuk ke portal Azure.
Pada menu portal Microsoft Azure, cari Langganan. Pilih dari opsi yang tersedia.
Pilih langganan yang ingin Anda tampilkan.
Di menu sebelah kiri, di bawah Pengaturan, pilih Penyedia sumber daya.
Temukan penyedia sumber daya yang ingin Anda daftarkan.
Pilih penyedia sumber daya untuk melihat detail penyedia sumber daya.
Pilih penyedia sumber daya, dan pilih Daftar. Untuk mempertahankan hak istimewa paling kecil dalam langganan Anda, hanya daftarkan penyedia sumber daya yang siap Anda gunakan.
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.
Tampilkan penyedia sumber daya
Untuk melihat informasi untuk penyedia sumber daya tertentu:
Masuk ke portal Azure.
Pada menu portal Microsoft Azure, pilih Semua layanan.
Dalam kotak Semua layanan, masukkan penjelajah sumber daya, lalu pilih Penjelajah Sumber Daya.
Perluas Penyedia dengan memilih panah kanan.
Luaskan penyedia sumber daya dan tipe sumber daya yang ingin Anda tampilkan.
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.
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.
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
- Untuk mempelajari tentang membuat template Resource Manager, lihat Penulisan template Azure Resource Manager.
- Untuk menampilkan skema template penyedia sumber, lihat Referensi template.
- Untuk daftar yang memetakan penyedia sumber daya ke layanan Azure, lihat Penyedia sumber daya untuk layanan Azure.
- Untuk melihat operasi untuk penyedia sumber, lihat Azure REST API.