نظرة عامة على إلحاق موارد Azure Custom Resource Providers

يعد إعداد موارد Azure Custom Resource Providers نموذجا للتوسعة بالنسبة إلى أنواع موارد Azure. يسمح لك بتطبيق العمليات أو الإدارة عبر موارد Azure الموجودة على نطاق واسع. لمزيد من المعلومات، راجع كيف يمكن لموفري الموارد المخصصة في Azure توسيع Azure. توضح هذه المقالة ما يلي:

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

هام

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

ما الذي يمكن أن تفعله عملية إلحاق الموارد؟

على غرار الموارد المخصصة لموفري الموارد المخصصة في Azure، يحدد إلحاق الموارد عقدا سيطلب "إلحاق" الوكيل بنقطة نهاية. على عكس الموارد المخصصة، لا يقوم إلحاق المورد بإنشاء نوع مورد جديد. بدلاً من ذلك، يسمح ذلك بملحق أنواع الموارد الموجودة. ويعمل إلحاق الموارد مع نهج Azure، بحيث يمكن إجراء إدارة الموارد وتكوينها على نطاق واسع. بعض الأمثلة على عمليات سير عمل إلحاق الموارد:

  • تثبيت ملحقات الجهاز الظاهري وإدارتها.
  • تحميل الإعدادات الافتراضية وتكوينها على حسابات تخزين Azure.
  • تمكين إعدادات تشخيص الأساس على نطاق واسع.

أساسيات إلحاق الموارد

يمكنك تكوين إلحاق الموارد من خلال موفري الموارد المخصصة Azure باستخدام أنواع موارد Microsoft.CustomProviders/resourceProviders وMicrosoft.CustomProviders/associations. لتمكين إلحاق الموارد لموفر موارد مخصص، أثناء عملية التكوين، قم بإنشاء resourceType يسمى "associations" باستخدام routingType يتضمن "Extension". لا يحتاج Microsoft.CustomProviders/associations وMicrosoft.CustomProviders/resourceProviders إلى الانتماء إلى مجموعة الموارد نفسها.

فيما يلي نموذج لموفر موارد Azure المخصص:

{
  "properties": {
    "resourceTypes": [
      {
        "name": "associations",
        "routingType": "Proxy,Cache,Extension",
        "endpoint": "https://microsoft.com/"
      }
    ]
  },
  "location": "eastus"
}
الخاصية مطلوب؟ الوصف
الاسم نعم اسم تعريف نقطة النهاية. لإلحاق المورد، يجب أن يكون الاسم "اقترانات".
routingType نعم تحديد نوع الاتفاق مع نقطة النهاية. لإلحاق المورد، يكون routingTypes هي "Proxy,Cache,Extension" و"Webhook,Cache,Extension".
نقطة النهاية نعم نقطة النهاية المطلوب توجيه الطلبات إليها. سوف يعمل ذلك على معالجة الاستجابة وأي آثار جانبية للطلب.

بعد إنشاء موفر الموارد المخصص بنوع مورد الاقترانات، يمكنك استهداف استخدام Microsoft.CustomProviders/associations. يُعد Microsoft.CustomProviders/associations هو مورد ملحق يمكنه أن يقوم بتوسيع أي مورد Azure آخر. عند إنشاء مثيل Microsoft.CustomProviders/associations، فإنه يحصل على خاصية targetResourceId، والتي يجب أن تكون معرف مورد Microsoft.CustomProviders/resourceProviders أو Microsoft.Solutions/applications صالحاً. في هذه الحالات، ستتم إعادة توجيه الطلب إلى نوع مورد الاقترانات على مثيل Microsoft.CustomProviders/resourceProviders الذي أنشأته.

ملاحظة

إذا تم توفير معرف مورد Microsoft.Solutions/applications بأنه targetResourceId، يجب أن يكون هناك Microsoft.CustomProviders/resourceProviders قد تم استخدامه في مجموعة الموارد المُدارة باسم "عام".

نموذج اقتران Azure Custom Resource Providers:

{
  "properties": {
    "targetResourceId": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomProviders/resourceProviders/{resourceProviderName}",
    ...
  }
}
الخاصية مطلوب؟ الوصف
targetResourceId نعم معرف المورد Microsoft.CustomProviders/resourceProviders أو Microsoft.Solutions/applications.

كيفية استخدام إلحاق الموارد

تعمل عملية إلحاق الموارد من خلال توسيع الموارد الأخرى بمورد ملحق Microsoft.CustomProviders/associations. في العينة التالية، يتم إجراء الطلب لجهاز ظاهري، ولكن يمكن توسيع أي مورد.

أولا، تحتاج إلى إنشاء مورد موفر موارد مخصص بنوع مورد اقترانات. سيؤدي ذلك إلى الإعلان عن عنوان URL لرد الاتصال الذي سيتم استخدامه عند إنشاء مورد Microsoft.CustomProviders/associations مطابق، والذي يستهدف موفر الموارد المخصص.

عينة من طلب إنشاء Microsoft.CustomProviders/resourceProviders:

PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomProviders/resourceProviders/{resourceProviderName}?api-version=2018-09-01-preview
Authorization: Bearer eyJ0e...
Content-Type: application/json

{
  "properties": {
    "resourceTypes": [
      {
        "name": "associations",
        "routingType": "Proxy,Cache,Extension",
        "endpoint": "https://{myCustomEndpoint}/"
      }
    ]
  },
  "location": "{location}"
}

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

عينة من طلب إنشاء Microsoft.CustomProviders/associations:

PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{virtualMachineName}/providers/Microsoft.CustomProviders/associations/{associationName}?api-version=2018-09-01-preview
Authorization: Bearer eyJ0e...
Content-Type: application/json

{
  "properties": {
    "targetResourceId": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomProviders/resourceProviders/{resourceProviderName}",
    "myProperty1": "myPropertyValue1",
    "myProperty2": {
        "myProperty3" : "myPropertyValue3"
    }
  }
}

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

PUT https://{endpointURL}/?api-version=2018-09-01-preview
Content-Type: application/json
X-MS-CustomProviders-RequestPath: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomProviders/resourceProviders/{resourceProviderName}/associations/{associationName}
X-MS-CustomProviders-ExtensionPath: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{virtualMachineName}/providers/Microsoft.CustomProviders/associations/{associationName}
X-MS-CustomProviders-ExtendedResource: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{virtualMachineName}

{
  "properties": {
    "myProperty1": "myPropertyValue1",
    "myProperty2": {
        "myProperty3" : "myPropertyValue3"
    }
  }
}

يجب أن تستجيب نقطة النهاية مع application/json Content-Type ونص استجابة JSON صالح. ستتم إضافة الحقول التي يتم إرجاعها ضمن الكائن properties الخاص بـ JSON إلى استجابة إرجاع الاقتران.

الحصول على المساعدة

إذا كانت لديك أسئلة حول موفري موارد Azure المخصصين، فجرب طرحها في تجاوز سعة مكدس الذاكرة المؤقتة. قد يكون قد تم بالفعل الإجابة عن سؤال مماثل؛ لذا تحقق أولاً قبل النشر. إضافة العلامة azure-custom-providers للحصول على استجابة سريعة!

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

في هذه المقالة، تعرفت على موفري الموارد المخصصين. اطلع على هذه المقالات لمعرفة المزيد: