إنشاء موفر موارد مخصص واستخدامه

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

إنشاء موفر مورد مخصص

ملاحظة

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

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

{
  "name": "myEndpointDefinition",
  "routingType": "Proxy",
  "endpoint": "https://<yourapp>.azurewebsites.net/api/<funcname>?code=<functionkey>"
}
الخاصية مطلوب الوصف
⁩الاسم⁧ نعم اسم تعريف نقطة النهاية. يعرض Azure هذا الاسم من خلال واجهة برمجة التطبيقات الخاصة به ضمن /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomProviders
/resourceProviders/{resourceProviderName}/{endpointDefinitionName}
⁩نوع التوجيه⁧ لا نوع عقد نقطة النهاية. إذا لم يتم تحديد القيمة، فسيتم تعيينها افتراضياً على "الوكيل".
⁩‏‏نقطة النهاية⁧ نعم نقطة النهاية المطلوب توجيه الطلبات إليها. تعالج نقطة النهاية هذه الاستجابة وأي آثار جانبية للطلب.

قيمة ⁧⁩نقطة النهاية⁧⁩ هي عنوان URL المشغل لتطبيق وظائف Azure. يجب استبدال العناصر النائبة ⁧<yourapp>⁩، و⁧<funcname>⁩، و⁧<functionkey>⁩ بقيم لتطبيق الوظائف الذي تم إنشاؤه.

تحديد الإجراءات والموارد المخصصة

يحتوي موفر الموارد المخصص على قائمة بتعريفات نقطة النهاية التي تم تصميمها ضمن خصائص actions و resourceTypes . يتم تعيين خاصية الإجراءات إلى الإجراءات المخصصة التي يعرضها موفر الموارد المخصص، وخاصية resourceTypes هي الموارد المخصصة. في هذا البرنامج التعليمي، يحتوي موفر الموارد المخصص على خاصية إجراءات تسمى myCustomAction وخاصية resourceTypes تسمى myCustomResources.

{
  "properties": {
    "actions": [
      {
        "name": "myCustomAction",
        "routingType": "Proxy",
        "endpoint": "https://<yourapp>.azurewebsites.net/api/<funcname>?code=<functionkey>"
      }
    ],
    "resourceTypes": [
      {
        "name": "myCustomResources",
        "routingType": "Proxy",
        "endpoint": "https://<yourapp>.azurewebsites.net/api/<funcname>?code=<functionkey>"
      }
    ]
  },
  "location": "eastus"
}

توزيع موفر الموارد المخصص

ملاحظة

يجب استبدال قيم ⁧⁩نقطة النهاية⁧⁩ بعنوان URL المشغل من تطبيق الوظائف الذي تم إنشاؤه في البرنامج التعليمي السابق.

يمكنك توزيع موفر الموارد المخصص السابق باستخدام قالب Azure Resource Manager:

{
    "$schema": "http://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "resources": [
        {
            "type": "Microsoft.CustomProviders/resourceProviders",
            "name": "myCustomProvider",
            "apiVersion": "2018-09-01-preview",
            "location": "eastus",
            "properties": {
                "actions": [
                    {
                        "name": "myCustomAction",
                        "routingType": "Proxy",
                        "endpoint": "https://<yourapp>.azurewebsites.net/api/<funcname>?code=<functionkey>"
                    }
                ],
                "resourceTypes": [
                    {
                        "name": "myCustomResources",
                        "routingType": "Proxy",
                        "endpoint": "https://<yourapp>.azurewebsites.net/api/<funcname>?code=<functionkey>"
                    }
                ]
            }
        }
    ]
}

استخدام الإجراءات والموارد المخصصة

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

الإجراءات المخصصة

Azure CLI

ملاحظة

يجب استبدال العناصر النائبة {subscriptionId} و {resourceGroupName} بالاشتراك ومجموعة الموارد حيث قمت بنشر موفر الموارد المخصص.

az resource invoke-action --action myCustomAction \
                          --ids /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomProviders/resourceProviders/myCustomProvider \
                          --request-body
                            '{
                                "hello": "world"
                            }'
المعلمة مطلوب الوصف
⁩إجراء⁧ نعم اسم الإجراء المحدد في موفر الموارد المخصص.
⁩معرفات⁧ نعم معرف المورد لموفر الموارد المخصص.
⁩نص الطلب⁧ لا نص الطلب الذي سيتم إرساله إلى نقطة النهاية.

الموارد المخصصة

ملاحظة

يجب استبدال العناصر النائبة {subscriptionId} و {resourceGroupName} بالاشتراك ومجموعة الموارد حيث قمت بنشر موفر الموارد المخصص.

إنشاء مورد مخصص

az resource create --is-full-object \
                   --id /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomProviders/resourceProviders/myCustomProvider/myCustomResources/myTestResourceName1 \
                   --properties
                    '{
                        "location": "eastus",
                        "properties": {
                            "hello" : "world"
                        }
                    }'
المعلمة مطلوب الوصف
⁩كائن كامل⁧ نعم يشير إلى ما إذا كان كائن الخصائص يتضمن خيارات أخرى مثل الموقع أو العلامات أو وحدة SKU أو الخطة.
⁩المُعرف⁧ نعم معرف المورد للمورد المخصص. هذا المعرف هو امتداد لمعرف مورد موفر الموارد المخصص.
⁩الخصائص⁧ نعم نص الطلب الذي سيتم إرساله إلى نقطة النهاية.

حذف مورد مخصص

az resource delete --id /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomProviders/resourceProviders/myCustomProvider/myCustomResources/myTestResourceName1
المعلمة مطلوب الوصف
⁩المُعرف⁧ نعم معرف المورد للمورد المخصص. هذا المعرف هو امتداد لمعرف مورد موفر الموارد المخصص.

استرداد مورد مخصص

az resource show --id /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomProviders/resourceProviders/myCustomProvider/myCustomResources/myTestResourceName1
المعلمة مطلوب الوصف
⁩المُعرف⁧ نعم معرف المورد للمورد المخصص. هذا المعرف هو امتداد لمعرف مورد موفر الموارد المخصص.

ملاحظة

بعد الانتهاء من نشر موفر الموارد المخصص واستخدامه، تذكر تنظيف جميع الموارد التي تم إنشاؤها بما في ذلك تطبيق وظائف Azure.

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

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