التشغيل السريع: إنشاء موفر موارد مخصصة من Azure واستخدام الموارد المخصصة

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

المتطلبات الأساسية

تحضير البيئة الخاصة بك لـAzure CLI.

أمثلة على استخدام Azure CLI az rest لطلبات REST. لمزيد من المعلومات، راجع az rest.

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

لإعداد موفر الموارد المخصص، انشر قالب مثال على اشتراك Azure الخاص بك.

ينشر القالب الموارد التالية إلى اشتراكك:

  • تطبيق الوظائف مع عمليات الموارد والإجراءات.
  • حساب التخزين لتخزين المستخدمين الذين تم إنشاؤهم من خلال موفر الموارد المخصص.
  • موفر الموارد المخصص الذي يحدد أنواع الموارد المخصصة والإجراءات. ويستخدم نقطة نهاية تطبيق الدالة لإرسال الطلبات.
  • مورد مخصص من موفر الموارد المخصص.

لنشر موفر الموارد المخصص، استخدم Azure CLI أو PowerShell أو مدخل Microsoft Azure.

يطالبك هذا المثال بإدخال اسم تطبيق دالة لمجموعة موارد وموقع وموفر. يتم تخزين الأسماء في المتغيرات المستخدمة في الأوامر الأخرى. الأوامر az group create وaz deployment group create تنشر الموارد.

read -p "Enter a resource group name:" rgName &&
read -p "Enter the location (i.e. eastus):" location &&
read -p "Enter the provider's function app name:" funcName &&
templateUri="https://raw.githubusercontent.com/Azure/azure-docs-json-samples/master/custom-providers/customprovider.json" &&
az group create --name $rgName --location "$location" &&
az deployment group create --resource-group $rgName --template-uri $templateUri --parameters funcName=$funcName &&
echo "Press [ENTER] to continue ..." &&
read

لنشر القالب من مدخل Microsoft Azure، حدد الزر Deploy to Azure .

Button to deploy the Resource Manager template to Azure.

عرض موفر الموارد المخصصة والمورد

في المدخل، موفر الموارد المخصص هو نوع مورد مخفي. للتأكد من نشر موفر الموارد، انتقل إلى مجموعة الموارد وحدد إظهار الأنواع المخفية.

Screenshot of Azure portal displaying hidden resource types and resources deployed in a resource group.

لمشاهدة المورد المخصص الذي قمت بنشره، استخدم العملية على GET نوع المورد الخاص بك. يتضمن نوع Microsoft.CustomProviders/resourceProviders/users المورد الموضح في استجابة JSON المورد الذي تم إنشاؤه بواسطة القالب.

GET https://management.azure.com/subscriptions/<sub-id>/resourceGroups/<rg-name>/providers/Microsoft.CustomProviders/resourceProviders/<provider-name>/users?api-version=2018-09-01-preview
subID=$(az account show --query id --output tsv)
requestURI="https://management.azure.com/subscriptions/$subID/resourceGroups/$rgName/providers/Microsoft.CustomProviders/resourceProviders/$funcName/users?api-version=2018-09-01-preview"
az rest --method get --uri $requestURI

تتلقى الاستجابة:

{
  "value": [
    {
      "id": "/subscriptions/<sub-id>/resourceGroups/<rg-name>/providers/Microsoft.CustomProviders/resourceProviders/<provider-name>/users/ana",
      "name": "ana",
      "properties": {
        "FullName": "Ana Bowman",
        "Location": "Moon",
        "provisioningState": "Succeeded"
      },
      "type": "Microsoft.CustomProviders/resourceProviders/users"
    }
  ]
}

إجراء استدعاء

يحتوي موفر الموارد المخصص أيضا على إجراء يسمى ping. يتم تطبيق التعليمات البرمجية التي تعالج الطلب في تطبيق الدالة. يرد الإجراء ping بتحية.

لإرسال ping طلب، استخدم العملية على POST الإجراء الخاص بك.

POST https://management.azure.com/subscriptions/<sub-id>/resourceGroups/<rg-name>/providers/Microsoft.CustomProviders/resourceProviders/<provider-name>/ping?api-version=2018-09-01-preview
pingURI="https://management.azure.com/subscriptions/$subID/resourceGroups/$rgName/providers/Microsoft.CustomProviders/resourceProviders/$funcName/ping?api-version=2018-09-01-preview"
az rest --method post --uri $pingURI

تتلقى الاستجابة:

{
  "message": "hello <function-name>.azurewebsites.net",
  "pingcontent": {
    "source": "<function-name>.azurewebsites.net"
  }
}

استخدام PUT لإنشاء مورد

في هذا التشغيل السريع، استخدم القالب نوع Microsoft.CustomProviders/resourceProviders/users المورد لنشر مورد. يمكنك أيضا استخدام PUT عملية لإنشاء مورد. على سبيل المثال، إذا لم يتم نشر مورد مع القالب، PUT فستنشئ العملية موردا.

في هذا المثال، لأن القالب نشر موردا بالفعل، تنشئ PUT العملية موردا جديدا.

PUT https://management.azure.com/subscriptions/<sub-id>/resourceGroups/<rg-name>/providers/Microsoft.CustomProviders/resourceProviders/<provider-name>/users/<resource-name>?api-version=2018-09-01-preview

{"properties":{"FullName": "Test User", "Location": "Earth"}}
addURI="https://management.azure.com/subscriptions/$subID/resourceGroups/$rgName/providers/Microsoft.CustomProviders/resourceProviders/$funcName/users/testuser?api-version=2018-09-01-preview"
az rest --method put --uri $addURI --body "{'properties':{'FullName': 'Test User', 'Location': 'Earth'}}"

تتلقى الاستجابة:

{
  "id": "/subscriptions/<sub-ID>/resourceGroups/<rg-name>/providers/Microsoft.CustomProviders/resourceProviders/<provider-name>/users/testuser",
  "name": "testuser",
  "properties": {
    "FullName": "Test User",
    "Location": "Earth",
    "provisioningState": "Succeeded"
  },
  "type": "Microsoft.CustomProviders/resourceProviders/users"
}

يمكنك إعادة تشغيل GET العملية من عرض موفر الموارد المخصص وقسم الموارد لإظهار الموردين اللذين تم إنشاؤها. يوضح هذا المثال الإخراج من أمر Azure CLI.

{
  "value": [
    {
      "id": "/subscriptions/<sub-id>/resourceGroups/<rg-name>/providers/Microsoft.CustomProviders/resourceProviders/<provider-name>/users/ana",
      "name": "ana",
      "properties": {
        "FullName": "Ana Bowman",
        "Location": "Moon",
        "provisioningState": "Succeeded"
      },
      "type": "Microsoft.CustomProviders/resourceProviders/users"
    },
    {
      "id": "/subscriptions/<sub-id>/resourceGroups/<rg-name>/providers/Microsoft.CustomProviders/resourceProviders/<provider-name>/users/testuser",
      "name": "testuser",
      "properties": {
        "FullName": "Test User",
        "Location": "Earth",
        "provisioningState": "Succeeded"
      },
      "type": "Microsoft.CustomProviders/resourceProviders/users"
    }
  ]
}

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

استخدم أوامر الموفرون المخصصون للعمل مع موفر الموارد المخصصة.

سرد موفري الموارد المخصصين

استخدم الأمر list لعرض كافة موفري الموارد المخصصة في اشتراك. يسرد الإعداد الافتراضي موفري الموارد المخصصة للاشتراك الحالي أو يمكنك تحديد المعلمة --subscription. لسرد مجموعة موارد، استخدم المعلمة --resource-group.

az custom-providers resource-provider list --subscription $subID
[
  {
    "actions": [
      {
        "endpoint": "https://<provider-name>.azurewebsites.net/api/{requestPath}",
        "name": "ping",
        "routingType": "Proxy"
      }
    ],
    "id": "/subscriptions/<sub-id>/resourceGroups/<rg-name>/providers/Microsoft.CustomProviders/resourceproviders/<provider-name>",
    "location": "eastus",
    "name": "<provider-name>",
    "provisioningState": "Succeeded",
    "resourceGroup": "<rg-name>",
    "resourceTypes": [
      {
        "endpoint": "https://<provider-name>.azurewebsites.net/api/{requestPath}",
        "name": "users",
        "routingType": "Proxy, Cache"
      }
    ],
    "tags": {},
    "type": "Microsoft.CustomProviders/resourceproviders",
    "validations": null
  }
]

إظهار الخصائص

استخدم الأمر show لعرض خصائص موفر الموارد المخصصة. تنسيق الإخراج يشبه الإخراج list.

az custom-providers resource-provider show --resource-group $rgName --name $funcName

Create a new resource

استخدم الأمر create لإنشاء موفر موارد مخصص أو تحديثه. يقوم هذا المثال بتحديث actions وresourceTypes.

az custom-providers resource-provider create --resource-group $rgName --name $funcName \
--action name=ping endpoint=https://myTestSite.azurewebsites.net/api/{requestPath} routing_type=Proxy \
--resource-type name=users endpoint=https://myTestSite.azurewebsites.net/api/{requestPath} routing_type="Proxy, Cache"
"actions": [
  {
    "endpoint": "https://myTestSite.azurewebsites.net/api/{requestPath}",
    "name": "ping",
    "routingType": "Proxy"
  }
],

"resourceTypes": [
  {
    "endpoint": "https://myTestSite.azurewebsites.net/api/{requestPath}",
    "name": "users",
    "routingType": "Proxy, Cache"
  }
],

تحديث علامات الموفر

يقوم الأمر update بتحديث العلامات الخاصة بموفر الموارد المخصصة فقط. في مدخل Azure، تعرض خدمة تطبيق موفر الموارد المخصصة العلامة.

az custom-providers resource-provider update --resource-group $rgName --name $funcName --tags new=tag
"tags": {
  "new": "tag"
},

حذف موفر موارد مخصص

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

az custom-providers resource-provider delete --resource-group $rgName --name $funcName

تنظيف الموارد

إذا انتهيت من الموارد التي تم إنشاؤها في هذه المقالة، يمكنك حذف مجموعة الموارد. عند حذف مجموعة موارد، يتم حذف كافة الموارد في مجموعة الموارد هذه.

az group delete --resource-group $rgName

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

للحصول على مقدمة لموفري الموارد المخصصة، راجع المقالة التالية: