التشغيل السريع: إنشاء موفر موارد مخصصة من Azure واستخدام الموارد المخصصة
في هذا التشغيل السريع، يمكنك إنشاء موفر موارد مخصص ونشر الموارد المخصصة لموفر الموارد هذا. لمزيد من المعلومات حول موفري الموارد المخصصة، راجع نظرة عامة على موفري الموارد المخصصة في Azure.
المتطلبات الأساسية
- في حال لم يكن لديك اشتراك Azure، فأنشئ حساباً مجانيّاً قبل البدء.
- لإكمال الخطوات في هذا التشغيل السريع، تحتاج إلى استدعاء العمليات
REST
. هناك طرق مختلفة لإرسال طلبات REST.
تحضير البيئة الخاصة بك لـAzure CLI.
استخدم بيئة Bash في Azure Cloud Shell. لمزيد من المعلومات، راجع التشغيل السريع ل Bash في Azure Cloud Shell.
إذا كنت تفضل تشغيل أوامر مرجع CLI محلياً قم بتثبيت CLI Azure. إذا كنت تعمل على نظام تشغيل Windows أو macOS، ففكر في تشغيل Azure CLI في حاوية Docker. لمزيد من المعلومات، راجع كيفية تشغيل Azure CLI في حاوية Docker.
إذا كنت تستخدم تثبيت محلي، يُرجى تسجيل الدخول إلى Azure CLI مستخدمًا أمر az login. لإنهاء عملية المصادقة، اتبع الخطوات المعروضة في جهازك. للحصول على خيارات أخرى لتسجيل دخول، راجع تسجيل الدخول باستخدام Azure CLI.
عندما يُطلب منك، قم بتثبيت ملحق Azure CLI عند الاستخدام لأول مرة. لمزيد من المعلومات بشأن الامتدادات، راجع استخدام امتدادات مع Azure CLI.
يُرجى تشغيل إصدار az للوصول إلى الإصدار والمكتبات التابعة التي تم تثبيتها. للتحديث لآخر إصدار، يُرجى تشغيل تحديث az.
أمثلة على استخدام 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 .
عرض موفر الموارد المخصصة والمورد
في المدخل، موفر الموارد المخصص هو نوع مورد مخفي. للتأكد من نشر موفر الموارد، انتقل إلى مجموعة الموارد وحدد إظهار الأنواع المخفية.
لمشاهدة المورد المخصص الذي قمت بنشره، استخدم العملية على 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
تنظيف الموارد
إذا انتهيت من الموارد التي تم إنشاؤها في هذه المقالة، يمكنك حذف مجموعة الموارد. عند حذف مجموعة موارد، يتم حذف كافة الموارد في مجموعة الموارد هذه.
الخطوات التالية
للحصول على مقدمة لموفري الموارد المخصصة، راجع المقالة التالية: