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:

  1. Azure Portal oturum açın.

  2. Azure portal menüsünde Abonelikler için arama yapın. Kullanılabilir seçeneklerden bunu seçin.

    Screenshot of searching for subscriptions in the Azure portal.

  3. Görüntülemek istediğiniz aboneliği seçin.

    Screenshot of selecting a subscription in the Azure portal.

  4. Sol menüdeki Ayarlar'ın altında Kaynak sağlayıcıları'nı seçin.

    Screenshot of selecting resource providers in the Azure portal.

  5. Kaydetmek istediğiniz kaynak sağlayıcısını bulun 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.

    Screenshot of registering a resource provider in the Azure portal.

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

  6. Önceki kayıt sonrasında eklenen konumları kullanmak için bir kaynak sağlayıcısını yeniden kaydedin .

    Screenshot of reregistering a resource provider in the Azure portal.

Kaynak sağlayıcısını görüntüleme

Belirli bir kaynak sağlayıcısının bilgilerini görmek için:

  1. Azure Portal oturum açın.

  2. Azure portalı menüsünde Tüm hizmetler’i seçin.

  3. Tüm hizmetler kutusuna kaynak gezgini yazın ve Kaynak Gezgini'ni seçin.

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

  4. Sağ oku seçerek Sağlayıcılar'ı genişletin.

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

  5. Görüntülemek istediğiniz kaynak sağlayıcısını ve kaynak türünü genişletin.

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

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

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

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

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

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

komut, 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