Azure kaynak sağlayıcıları ve türleri
Azure kaynak sağlayıcısı, belirli bir Azure hizmeti için işlevselliği etkinleştiren rest işlemleri kümesidir. Örneğin, Key Vault hizmeti Microsoft.KeyVault adlı bir kaynak sağlayıcısından oluşur. Kaynak sağlayıcısı kasaları, gizli dizileri, anahtarları ve sertifikaları yönetmek için REST işlemlerini tanımlar.
Kaynak sağlayıcısı, hesabınıza dağıtabileceğiniz Azure kaynaklarını tanımlar. Kaynak türünün adı şu biçimdedir: {resource-provider}/{resource-type}. Anahtar kasasının kaynak türü Microsoft.KeyVault/vaults'tur.
Bu makalede şunları öğreneceksiniz:
- Azure'daki tüm kaynak sağlayıcılarını görüntüleme
- Kaynak sağlayıcısının kayıt durumunu denetleme
- Kaynak sağlayıcısını kaydetme
- Kaynak sağlayıcısı için kaynak türlerini görüntüleme
- Kaynak türü için geçerli konumları görüntüleme
- Kaynak türü için geçerli API sürümlerini görüntüleme
Kaynak sağlayıcılarını Azure hizmetlerine eşleyen bir liste için bkz . Azure hizmetleri için kaynak sağlayıcıları.
Kaynak sağlayıcısını kaydetme
Kaynak sağlayıcısını kullanmadan önce Azure aboneliğinizin kaynak sağlayıcısına kayıtlı olduğundan emin olmanız gerekir. Kayıt, aboneliğinizi kaynak sağlayıcısıyla çalışacak şekilde yapılandırıyor.
Önemli
Bir kaynak sağlayıcısını yalnızca kullanmaya hazır olduğunuzda kaydedin. Bu kayıt adımı, aboneliğinizde en az ayrıcalıkların korunmasına yardımcı olur. Kötü amaçlı bir kullanıcı, kayıtlı olmayan kaynak sağlayıcılarını kullanamaz.
Gereksiz kaynak sağlayıcılarının kaydedilmesi, Microsoft Entra kiracınızda tanınmayan uygulamaların görünmesine neden olabilir. Microsoft, bir kaynak sağlayıcısını kaydettiğinizde uygulamayı ekler. Bu uygulamalar genellikle Windows Azure Hizmet Yönetimi API'si tarafından eklenir. Kiracınızdaki gereksiz uygulamaları önlemek için yalnızca gerekli kaynak sağlayıcılarını kaydedin.
Bazı kaynak sağlayıcıları varsayılan olarak kaydedilir. Varsayılan olarak kaydedilen kaynak sağlayıcılarının listesi için bkz . Azure hizmetleri için kaynak sağlayıcıları.
Belirli eylemleri gerçekleştirdiğinizde diğer kaynak sağlayıcıları otomatik olarak kaydedilir. Portal aracılığıyla bir kaynak oluşturduğunuzda, kaynak sağlayıcısı genellikle sizin için kaydedilir. Bir Azure Resource Manager şablonu veya Bicep dosyası dağıttığınızda, şablonda tanımlanan kaynak sağlayıcıları otomatik olarak kaydedilir. Bazen şablondaki bir kaynak, şablonda olmayan destekleyici kaynaklar gerektirir. yaygın örnekler izleme veya güvenlik kaynaklarıdır. Bu kaynak sağlayıcılarını el ile kaydetmeniz gerekir.
Diğer senaryolarda, bir kaynak sağlayıcısını el ile kaydetmeniz gerekebilir.
Önemli
Uygulama kodunuz, kayıt durumundaki bir kaynak sağlayıcısı için kaynak oluşturulmasını engellememelidir. Kaynak sağlayıcısını kaydettiğinizde, işlem desteklenen her bölge için ayrı ayrı gerçekleştirilir. Bir bölgede kaynak oluşturmak için kaydın yalnızca o bölgede tamamlanması gerekir. Kayıt durumundaki bir kaynak sağlayıcısını engellemeyerek, uygulamanız tüm bölgelerin tamamlanmasını beklemekten çok daha erken devam edebilir.
Kaynak sağlayıcısı için /register/action
işlemi yapma izniniz olmalıdır. İzin Katkıda Bulunan ve Sahip rollerine eklenir.
Aboneliğinizde bu kaynak sağlayıcısının kaynak türleri hala varken kaynak sağlayıcısının kaydını kaldıramazsınız.
Kaynak sağlayıcısı kullanmanız gereken yeni konumları desteklediğinde kaynak sağlayıcısını yeniden kaydedin.
Azure portal
Kaynak sağlayıcısını kaydetme
Tüm kaynak sağlayıcılarını ve aboneliğinizin kayıt durumunu görmek için:
Azure Portal’ında oturum açın.
Azure portal menüsünde Abonelikler için arama yapın. Kullanılabilir seçeneklerden bunu seçin.
Görüntülemek istediğiniz aboneliği seçin.
Sol menüdeki Ayarlar'ın altında Kaynak sağlayıcıları'nı seçin.
Kaydetmek istediğiniz kaynak sağlayıcısını bulun.
Kaynak sağlayıcısının ayrıntılarını görmek için kaynak sağlayıcısını seçin.
Kaynak sağlayıcısını seçin ve Kaydet'i seçin. Aboneliğinizdeki en düşük ayrıcalıkları korumak için yalnızca kullanmaya hazır olduğunuz kaynak sağlayıcılarını kaydedin.
Önemli
Daha önce belirtildiği gibi, kayıt durumundaki bir kaynak sağlayıcısı için kaynak oluşturulmasını engellemeyin. Kayıt durumundaki bir kaynak sağlayıcısını engellemeyerek, uygulamanız tüm bölgelerin tamamlanmasını beklemekten çok daha erken devam edebilir.
Önceki kayıt sonrasında eklenen konumları kullanmak için bir kaynak sağlayıcısını yeniden kaydedin .
Kaynak sağlayıcısını görüntüleme
Belirli bir kaynak sağlayıcısının bilgilerini görmek için:
Azure Portal’ında oturum açın.
Azure portalı menüsünde Tüm hizmetler’i seçin.
Tüm hizmetler kutusuna kaynak gezgini yazın ve Kaynak Gezgini'ni seçin.
Sağ oku seçerek Sağlayıcılar'ı genişletin.
Görüntülemek istediğiniz kaynak sağlayıcısını ve kaynak türünü genişletin.
Resource Manager tüm bölgelerde desteklenir, ancak dağıttığınız kaynaklar tüm bölgelerde desteklenmeyebilir. Ayrıca, aboneliğinizde kaynağı destekleyen bazı bölgeleri kullanmanızı engelleyen sınırlamalar olabilir. Kaynak gezgini, kaynak türü için geçerli konumları görüntüler.
API sürümü, kaynak sağlayıcısının REST API işlemlerinin bir sürümüne karşılık gelir. Kaynak sağlayıcısı yeni özellikleri etkinleştirdiğinden REST API'nin yeni bir sürümünü yayınlar. Kaynak gezgini, kaynak türü için geçerli API sürümlerini görüntüler.
Azure PowerShell
Azure'daki tüm kaynak sağlayıcılarını ve aboneliğinizin kayıt durumunu görmek için şunu kullanın:
Get-AzResourceProvider -ListAvailable | Select-Object ProviderNamespace, RegistrationState
Komut şunu döndürür:
ProviderNamespace RegistrationState
-------------------------------- ------------------
Microsoft.ClassicCompute Registered
Microsoft.ClassicNetwork Registered
Microsoft.ClassicStorage Registered
Microsoft.CognitiveServices Registered
...
Aboneliğinizin tüm kayıtlı kaynak sağlayıcılarını görmek için şunu kullanın:
Get-AzResourceProvider -ListAvailable | Where-Object RegistrationState -eq "Registered" | Select-Object ProviderNamespace, RegistrationState | Sort-Object ProviderNamespace
Aboneliğinizdeki en düşük ayrıcalıkları korumak için yalnızca kullanmaya hazır olduğunuz kaynak sağlayıcılarını kaydedin. Kaynak sağlayıcısını kaydetmek için şunu kullanın:
Register-AzResourceProvider -ProviderNamespace Microsoft.Batch
Komut şunu döndürür:
ProviderNamespace : Microsoft.Batch
RegistrationState : Registering
ResourceTypes : {batchAccounts, operations, locations, locations/quotas}
Locations : {West Europe, East US, East US 2, West US...}
Önemli
Daha önce belirtildiği gibi, kayıt durumundaki bir kaynak sağlayıcısı için kaynak oluşturulmasını engellemeyin. Kayıt durumundaki bir kaynak sağlayıcısını engellemeyerek, uygulamanız tüm bölgelerin tamamlanmasını beklemekten çok daha erken devam edebilir.
Önceki kayıt sonrasında eklenen konumları kullanmak için bir kaynak sağlayıcısının kaydını yeniden kaydedin. Kaydı yeniden kaydetmek için kayıt komutunu yeniden çalıştırın.
Belirli bir kaynak sağlayıcısının bilgilerini görmek için şunu kullanın:
Get-AzResourceProvider -ProviderNamespace Microsoft.Batch
Komut şunu döndürür:
{ProviderNamespace : Microsoft.Batch
RegistrationState : Registered
ResourceTypes : {batchAccounts}
Locations : {West Europe, East US, East US 2, West US...}
...
Bir kaynak sağlayıcısının kaynak türlerini görmek için şunu kullanın:
(Get-AzResourceProvider -ProviderNamespace Microsoft.Batch).ResourceTypes.ResourceTypeName
Komut şunu döndürür:
batchAccounts
operations
locations
locations/quotas
API sürümü, kaynak sağlayıcısının REST API işlemlerinin bir sürümüne karşılık gelir. Kaynak sağlayıcısı yeni özellikleri etkinleştirdiğinden REST API'nin yeni bir sürümünü yayınlar.
Bir kaynak türü için kullanılabilir API sürümlerini almak için şunu kullanın:
((Get-AzResourceProvider -ProviderNamespace Microsoft.Batch).ResourceTypes | Where-Object ResourceTypeName -eq batchAccounts).ApiVersions
Komut şunu döndürür:
2023-05-01
2022-10-01
2022-06-01
2022-01-01
2021-06-01
2021-01-01
...
Resource Manager tüm bölgelerde desteklenir, ancak dağıttığınız kaynaklar tüm bölgelerde desteklenmeyebilir. Ayrıca, aboneliğinizde kaynağı destekleyen bazı bölgeleri kullanmanızı engelleyen sınırlamalar olabilir.
Bir kaynak türü için desteklenen konumları almak için kullanın.
((Get-AzResourceProvider -ProviderNamespace Microsoft.Batch).ResourceTypes | Where-Object ResourceTypeName -eq batchAccounts).Locations
Komut şunu döndürür:
West Europe
East US
East US 2
West US
...
Azure CLI
Azure'daki tüm kaynak sağlayıcılarını ve aboneliğinizin kayıt durumunu görmek için şunu kullanın:
az provider list --query "[].{Provider:namespace, Status:registrationState}" --out table
Komut şunu döndürür:
Provider Status
-------------------------------- ----------------
Microsoft.ClassicCompute Registered
Microsoft.ClassicNetwork Registered
Microsoft.ClassicStorage Registered
Microsoft.CognitiveServices Registered
...
Aboneliğinizin tüm kayıtlı kaynak sağlayıcılarını görmek için şunu kullanın:
az provider list --query "sort_by([?registrationState=='Registered'].{Provider:namespace, Status:registrationState}, &Provider)" --out table
Aboneliğinizdeki en düşük ayrıcalıkları korumak için yalnızca kullanmaya hazır olduğunuz kaynak sağlayıcılarını kaydedin. Kaynak sağlayıcısını kaydetmek için şunu kullanın:
az provider register --namespace Microsoft.Batch
komutu, kaydın devam ettiğini belirten bir ileti döndürür.
Belirli bir kaynak sağlayıcısının bilgilerini görmek için şunu kullanın:
az provider show --namespace Microsoft.Batch
Komut şunu döndürür:
{
"id": "/subscriptions/####-####/providers/Microsoft.Batch",
"namespace": "Microsoft.Batch",
"registrationsState": "Registering",
"resourceTypes:" [
...
]
}
Önemli
Daha önce belirtildiği gibi, kayıt durumundaki bir kaynak sağlayıcısı için kaynak oluşturulmasını engellemeyin. Kayıt durumundaki bir kaynak sağlayıcısını engellemeyerek, uygulamanız tüm bölgelerin tamamlanmasını beklemekten çok daha erken devam edebilir.
Bir kaynak sağlayıcısının kaynak türlerini görmek için şunu kullanın:
az provider show --namespace Microsoft.Batch --query "resourceTypes[*].resourceType" --out table
Komut şunu döndürür:
Result
---------------
batchAccounts
operations
locations
locations/quotas
API sürümü, kaynak sağlayıcısının REST API işlemlerinin bir sürümüne karşılık gelir. Kaynak sağlayıcısı yeni özellikleri etkinleştirdiğinden REST API'nin yeni bir sürümünü yayınlar.
Bir kaynak türü için kullanılabilir API sürümlerini almak için şunu kullanın:
az provider show --namespace Microsoft.Batch --query "resourceTypes[?resourceType=='batchAccounts'].apiVersions | [0]" --out table
Komut şunu döndürür:
Result
---------------
2023-05-01
2022-10-01
2022-06-01
2022-01-01
...
Resource Manager tüm bölgelerde desteklenir, ancak dağıttığınız kaynaklar tüm bölgelerde desteklenmeyebilir. Ayrıca, aboneliğinizde kaynağı destekleyen bazı bölgeleri kullanmanızı engelleyen sınırlamalar olabilir.
Bir kaynak türü için desteklenen konumları almak için kullanın.
az provider show --namespace Microsoft.Batch --query "resourceTypes[?resourceType=='batchAccounts'].locations | [0]" --out table
Komut şunu döndürür:
Result
---------------
West Europe
East US
East US 2
West US
...
Python
Azure'daki tüm kaynak sağlayıcılarını ve aboneliğinizin kayıt durumunu görmek için şunu kullanın:
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}")
Komut şunu döndürür:
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
...
Aboneliğinizin tüm kayıtlı kaynak sağlayıcılarını görmek için şunu kullanın:
# 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}")
Aboneliğinizdeki en düşük ayrıcalıkları korumak için yalnızca kullanmaya hazır olduğunuz kaynak sağlayıcılarını kaydedin. Kaynak sağlayıcısını kaydetmek için şunu kullanın:
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}")
Komut şunu döndürür:
ProviderNamespace: Microsoft.Batch, RegistrationState: Registered
Önemli
Daha önce belirtildiği gibi, kayıt durumundaki bir kaynak sağlayıcısı için kaynak oluşturulmasını engellemeyin. Kayıt durumundaki bir kaynak sağlayıcısını engellemeyerek, uygulamanız tüm bölgelerin tamamlanmasını beklemekten çok daha erken devam edebilir.
Önceki kayıt sonrasında eklenen konumları kullanmak için bir kaynak sağlayıcısının kaydını yeniden kaydedin. Kaydı yeniden kaydetmek için kayıt komutunu yeniden çalıştırın.
Belirli bir kaynak sağlayıcısının bilgilerini görmek için şunu kullanın:
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")
Komut şunu döndürür:
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
...
Bir kaynak sağlayıcısının kaynak türlerini görmek için şunu kullanın:
# 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)
Komut şunu döndürür:
batchAccounts
batchAccounts/pools
batchAccounts/detectors
batchAccounts/certificates
operations
locations
locations/quotas
locations/checkNameAvailability
locations/accountOperationResults
locations/virtualMachineSkus
locations/cloudServiceSkus
API sürümü, kaynak sağlayıcısının REST API işlemlerinin bir sürümüne karşılık gelir. Kaynak sağlayıcısı yeni özellikleri etkinleştirdiğinden REST API'nin yeni bir sürümünü yayınlar.
Bir kaynak türü için kullanılabilir API sürümlerini almak için şunu kullanın:
# 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)
Komut şunu döndürür:
2023-05-01
2022-10-01
2022-06-01
2022-01-01
...
Resource Manager tüm bölgelerde desteklenir, ancak dağıttığınız kaynaklar tüm bölgelerde desteklenmeyebilir. Ayrıca, aboneliğinizde kaynağı destekleyen bazı bölgeleri kullanmanızı engelleyen sınırlamalar olabilir.
Bir kaynak türü için desteklenen konumları almak için kullanın.
# 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)
Komut şunu döndürür:
West Europe
East US
East US 2
West US
...
Sonraki adımlar
- Resource Manager şablonları oluşturma hakkında bilgi edinmek için bkz . Azure Resource Manager şablonları yazma.
- Kaynak sağlayıcısı şablon şemalarını görüntülemek için bkz . Şablon başvurusu.
- Kaynak sağlayıcılarını Azure hizmetlerine eşleyen bir liste için bkz . Azure hizmetleri için kaynak sağlayıcıları.
- Bir kaynak sağlayıcısının işlemlerini görüntülemek için bkz . Azure REST API.