موفرو موارد Azure وأنواعها

موفر موارد Azure هو مجموعة من عمليات REST التي تدعم وظائف خدمة Azure معينة. على سبيل المثال، تتكون خدمة Azure Key Vault من موفر موارد يسمى Microsoft.KeyVault. يحدد موفر الموارد عمليات REST لإدارة المخازن والأسرار والمفاتيح والشهادات.

يحدد موفر الموارد موارد Azure التي يمكنك نشرها إلى حسابك. يتبع اسم نوع المورد التنسيق: {resource-provider}/{resource-type}. نوع المورد لخزنة المفاتيح هو Microsoft.KeyVault/vaults.

في هذه المقالة، ستتعرف على كيفية:

  • عرض جميع موفري الموارد في Azure.
  • تحقق من حالة تسجيل موفر الموارد.
  • تسجيل موفر موارد.
  • عرض أنواع الموارد لموفر الموارد.
  • عرض مواقع صالحة لنوع مورد.
  • عرض إصدارات API صالحة لنوع مورد.

للحصول على قائمة تعين موفري الموارد إلى خدمات Azure، راجع أنواع وموفري موارد Azure.

سجل موفر الموارد

قبل استخدام موفر موارد، تأكد من تسجيل اشتراك Azure لموفر الموارد. يقوم التسجيل بتكوين اشتراكك للعمل مع موفر الموارد.

هام

سجل موفر موارد فقط عندما تكون مستعدا لاستخدامه. تساعد خطوة التسجيل هذه في الحفاظ على أقل الامتيازات ضمن اشتراكك. لا يمكن للمستخدم الضار استخدام موفري الموارد غير المسجلين.

عند تسجيل موفر موارد، تضيف Microsoft تطبيقا لموفر الموارد. يمكن أن يؤدي تسجيل موفري الموارد غير الضروريين إلى ظهور التطبيقات التي لا تتعرف عليها في مستأجر Microsoft Entra. عادة ما تضيف واجهة برمجة تطبيقات إدارة خدمة Windows Azure هذه التطبيقات. للحد من التطبيقات غير الضرورية في المستأجر الخاص بك، قم بتسجيل موفري الموارد الذين تحتاجهم فقط.

يتم تسجيل بعض موفري الموارد بشكل افتراضي. للحصول على قائمة من الأمثلة، راجع موفري الموارد لخدمات Azure.

عند اتخاذ إجراءات معينة، يقوم Azure تلقائيا بتسجيل موفري الموارد الآخرين. عند إنشاء مورد في مدخل Microsoft Azure، يسجل المدخل عادة موفر الموارد نيابة عنك. عند نشر قالب Azure Resource Manager أو ملف Bicep، يسجل Azure تلقائيا موفري الموارد المحددين في القالب. في بعض الأحيان، يتطلب مورد في القالب موارد داعمة غير موجودة في القالب. الأمثلة الشائعة هي المراقبة أو موارد الأمان. تحتاج إلى تسجيل موفري الموارد هؤلاء يدويا.

قد تحتاج إلى تسجيل موفر موارد يدويا أثناء سيناريوهات أخرى.

هام

يجب ألا تمنع التعليمات البرمجية للتطبيق إنشاء موارد لموفر موارد في حالة التسجيل . عند تسجيل موفر المورد، تتم العملية بشكل فردي لكل منطقة مدعومة. لإنشاء موارد في منطقة ما، يجب إكمال التسجيل فقط في تلك المنطقة. عندما لا يمنع تطبيقك موفر موارد في حالة التسجيل، يمكن أن يستمر في وقت أقرب من انتظار اكتمال جميع المناطق.

يجب أن يكون لديك إذن للقيام بالعملية /register/action لموفر الموارد. يتم تضمين الإذن في دور المساهم والمالك.

لا يمكنك إلغاء تسجيل موفر المورد عندما لا يزال لديك أنواع موارد من موفر المورد هذا في اشتراكك.

أعد تسجيل موفر موارد عندما يدعم موفر الموارد المواقع الجديدة التي تحتاج إلى استخدامها.

مدخل Azure

سجل موفر الموارد

للاطلاع على جميع موفري الموارد وحالة التسجيل لاشتراكك:

  1. قم بتسجيل الدخول إلى بوابة Azure.

  2. في قائمة مدخل Microsoft Azure، ابحث عن Subscriptions. حددها من الخيارات المتوفرة.

    لقطة شاشة للبحث عن الاشتراكات في مدخل Microsoft Azure.

  3. حدد الاشتراك الذي تريد عرضه.

  4. في القائمة اليسرى وضمن Settings، حدد Resource providers.

    لقطة شاشة لتحديد موفري الموارد في مدخل Microsoft Azure.

  5. ابحث عن موفر الموارد الذي تريد تسجيله.

    لقطة شاشة للعثور على موفري الموارد في مدخل Microsoft Azure.

  6. حدد موفر الموارد للاطلاع على تفاصيل موفر الموارد.

    لقطة شاشة توضح تفاصيل موفر الموارد في مدخل Microsoft Azure.

  7. حدد موفر الموارد، وحدد Register. للحفاظ على أقل الامتيازات في اشتراكك، قم بتسجيل موفري الموارد الجاهزين للاستخدام فقط.

    لقطة شاشة لتسجيل موفر موارد في مدخل Microsoft Azure.

    هام

    كما هو ملاحظ سابقا، لا تمنع إنشاء موارد لموفر موارد في حالة التسجيل . عندما لا يمنع تطبيقك موفر موارد في حالة التسجيل، يمكن أن يستمر في وقت أقرب من انتظار اكتمال جميع المناطق.

  8. أعد تسجيل موفر موارد لاستخدام المواقع التي أضفتها منذ التسجيل السابق.

    لقطة شاشة لإعادة تسجيل موفر موارد في مدخل Microsoft Azure.

عرض موفر الموارد

للاطلاع على معلومات لموفر موارد معين:

  1. قم بتسجيل الدخول إلى بوابة Azure.

  2. حدد All services في قائمة مدخل Microsoft Azure.

  3. في المربع All services ، أدخل resource explorer، وحدد Resource Explorer.

    لقطة شاشة لتحديد All services في مدخل Microsoft Azure للوصول إلى Azure Resource Explorer.

  4. حدد السهم الأيمن لتوسيع Providers.

    لقطة شاشة لتوسيع قسم Providers في Resource Explorer.

  5. قم بتوسيع موفر الموارد ونوع المورد الذي تريد عرضه.

  6. يتم دعم إدارة الموارد في جميع المناطق، لكن الموارد التي تنشرها قد لا تكون مدعومة في جميع المناطق. أيضا، قد تكون هناك قيود على اشتراكك تمنعك من استخدام بعض المناطق التي تدعم المورد. يعرض Resource Explorer مواقع صالحة لنوع المورد.

    لقطة شاشة لعرض مواقع صالحة لنوع مورد في Resource Explorer.

  7. يتوافق إصدار واجهة برمجة التطبيقات مع إصدار من عمليات REST API لموفر المورد. نظراً لأن موفر الموارد يتيح ميزات جديدة، فإنه يطلق إصداراً جديداً من REST API. يعرض Resource Explorer إصدارات API صالحة لنوع المورد.

    لقطة شاشة لعرض إصدارات API صالحة لنوع مورد في Resource Explorer.

Azure PowerShell

لمشاهدة جميع موفري الموارد في Azure وحالة التسجيل لاشتراكك، استخدم:

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

يعود الأمر:

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

لمشاهدة جميع موفري الموارد المسجلين لاشتراكك، استخدم:

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

للاحتفاظ بالامتيازات الأقل في اشتراكك، قم فقط بتسجيل موفري الموارد الذين تكون على استعداد لاستخدامهم. لتسجيل موفر الموارد، استخدم:

Register-AzResourceProvider -ProviderNamespace Microsoft.Batch

يعود الأمر:

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

هام

كما هو ملاحظ سابقا، لا تمنع إنشاء موارد لموفر موارد في حالة التسجيل . عندما لا يمنع تطبيقك موفر موارد في حالة التسجيل، يمكن أن يستمر في وقت أقرب من انتظار اكتمال جميع المناطق.

لاستخدام المواقع التي أضافها Azure منذ التسجيل السابق، قم بتسجيل موفر موارد مرة أخرى. لإعادة التسجيل، قم بتشغيل أمر التسجيل مرة أخرى.

للاطلاع على معلومات لموفر موارد معين، استخدم:

Get-AzResourceProvider -ProviderNamespace Microsoft.Batch

يعود الأمر:

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

...

لمعرفة أنواع الموارد لموفر الموارد، استخدم:

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

يعود الأمر:

batchAccounts
operations
locations
locations/quotas

يتوافق إصدار واجهة برمجة التطبيقات مع إصدار من عمليات REST API لموفر المورد. نظراً لأن موفر الموارد يتيح ميزات جديدة، فإنه يطلق إصداراً جديداً من REST API.

للحصول على إصدارات واجهة برمجة التطبيقات المتوفرة لنوع مورد، استخدم:

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

يعود الأمر:

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

يتم دعم إدارة الموارد في جميع المناطق، لكن الموارد التي تنشرها قد لا تكون مدعومة في جميع المناطق. أيضا، قد تكون هناك قيود على اشتراكك تمنعك من استخدام بعض المناطق التي تدعم المورد.

للحصول على المواقع المدعومة لنوع مورد، استخدم:

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

يعود الأمر:

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

Azure CLI

لمشاهدة جميع موفري الموارد في Azure وحالة التسجيل لاشتراكك، استخدم:

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

يعود الأمر:

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

لمشاهدة جميع موفري الموارد المسجلين لاشتراكك، استخدم:

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

للاحتفاظ بالامتيازات الأقل في اشتراكك، قم فقط بتسجيل موفري الموارد الذين تكون على استعداد لاستخدامهم. لتسجيل موفر الموارد، استخدم:

az provider register --namespace Microsoft.Batch

يقوم الأمر بإرجاع رسالة تفيد بأن التسجيل مستمر.

للاطلاع على معلومات لموفر موارد معين، استخدم:

az provider show --namespace Microsoft.Batch

يعود الأمر:

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

هام

كما هو ملاحظ سابقا، لا تمنع إنشاء موارد لموفر موارد في حالة التسجيل . عندما لا يمنع تطبيقك موفر موارد في حالة التسجيل، يمكن أن يستمر في وقت أقرب من انتظار اكتمال جميع المناطق.

لمعرفة أنواع الموارد لموفر الموارد، استخدم:

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

يعود الأمر:

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

يتوافق إصدار واجهة برمجة التطبيقات مع إصدار من عمليات REST API لموفر المورد. نظراً لأن موفر الموارد يتيح ميزات جديدة، فإنه يطلق إصداراً جديداً من REST API.

للحصول على إصدارات واجهة برمجة التطبيقات المتوفرة لنوع مورد، استخدم:

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

يعود الأمر:

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

يتم دعم إدارة الموارد في جميع المناطق، لكن الموارد التي تنشرها قد لا تكون مدعومة في جميع المناطق. أيضا، قد تكون هناك قيود على اشتراكك تمنعك من استخدام بعض المناطق التي تدعم المورد.

للحصول على المواقع المدعومة لنوع مورد، استخدم:

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

يعود الأمر:

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

Python

لمشاهدة جميع موفري الموارد في Azure وحالة التسجيل لاشتراكك، استخدم:

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

يعود الأمر:

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

لمشاهدة جميع موفري الموارد المسجلين لاشتراكك، استخدم:

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

للاحتفاظ بالامتيازات الأقل في اشتراكك، قم فقط بتسجيل موفري الموارد الذين تكون على استعداد لاستخدامهم. لتسجيل موفر الموارد، استخدم:

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

يعود الأمر:

ProviderNamespace: Microsoft.Batch, RegistrationState: Registered

هام

كما هو ملاحظ سابقا، لا تمنع إنشاء موارد لموفر موارد في حالة التسجيل . عندما لا يمنع تطبيقك موفر موارد في حالة التسجيل، يمكن أن يستمر في وقت أقرب من انتظار اكتمال جميع المناطق.

أعد تسجيل موفر موارد لاستخدام المواقع التي أضافها Azure منذ التسجيل السابق. لإعادة التسجيل، قم بتشغيل أمر التسجيل مرة أخرى.

للاطلاع على معلومات لموفر موارد معين، استخدم:

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

يعود الأمر:

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

...

لمعرفة أنواع الموارد لموفر الموارد، استخدم:

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

يعود الأمر:

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

يتوافق إصدار واجهة برمجة التطبيقات مع إصدار من عمليات REST API لموفر المورد. نظراً لأن موفر الموارد يتيح ميزات جديدة، فإنه يطلق إصداراً جديداً من REST API.

للحصول على إصدارات واجهة برمجة التطبيقات المتوفرة لنوع مورد، استخدم:

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

يعود الأمر:

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

يتم دعم إدارة الموارد في جميع المناطق، لكن الموارد التي تنشرها قد لا تكون مدعومة في جميع المناطق. أيضا، قد تكون هناك قيود على اشتراكك تمنعك من استخدام بعض المناطق التي تدعم المورد.

للحصول على المواقع المدعومة لنوع مورد، استخدم:

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

يعود الأمر:

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

الخطوات التالية