إنشاء موارد Azure التعلم الآلي وتشغيلها وحذفها باستخدام REST

هناك عدة طرق لإدارة موارد Azure التعلم الآلي. يمكنك استخدام المدخل أو واجهة سطر الأوامر أو Python SDK. أو يمكنك اختيار واجهة برمجة تطبيقات REST. تقوم واجهة برمجة تطبيقات REST باستخدام أفعال HTTP بطريقة قياسية لإنشاء الموارد واستردادها وتحديثها وحذفها. كما تعمل واجهة برمجة تطبيقات REST مع أي لغة أو أداة بإمكانها تقديم طلبات HTTP. بنية REST المباشرة غالبًا ما تجعل منها خيارًا جيدًا في بيئات البرمجة النصية وأتمتة MLOps.

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

  • استعادة رمز تفويض مميز
  • إنشاء طلب REST منسق بشكل صحيح باستخدام المصادقة الأساسية للخدمة
  • استخدام طلبات GET لاسترداد معلومات حول موارد Azure التعلم الآلي الهرمية
  • استخدام طلبات PUT وPOST لإنشاء الموارد وتعديلها
  • استخدام طلبات PUT لإنشاء مساحات عمل Azure التعلم الآلي
  • استخدام طلبات DELETE لتنظيف الموارد

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

استعادة رمز مصادقة مميز لكيان الخدمة

تتم مصادقة طلبات REST الإدارية بتدفق ضمني OAuth2. تدفق المصادقة هذا يستخدم رمزًا مميزًا يوفره كيان خدمة اشتراكك. لاسترداد هذا الرمز المميز، ستحتاج إلى ما يلي:

  • معرف المستأجر الخاص بك (تحديد المؤسسة التي ينتمي إليها اشتراكك)
  • معرف العميل الخاص بك (والذي سيتم إقرانه بالرمز المميز الذي تم إنشاؤه)
  • البيانات السرية لعميلك (التي يجب عليك حمايتها)

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

لاسترداد رمز مميز:

  1. فتح نافذة طرفية
  2. أدخل التعليمات البرمجية التالية في سطر الأوامر
  3. أدخل قيمك لـ<YOUR-TENANT-ID> و<YOUR-CLIENT-ID> و<YOUR-CLIENT-SECRET>. طوال هذه المقالة، السلاسل المحاطة بأقواس زاوية عبارة عن متغيرات سيتعين عليك استبدالها بالقيم المناسبة الخاصة بك.
  4. تشغيل الأمر
curl -X POST https://login.microsoftonline.com/<YOUR-TENANT-ID>/oauth2/token \
-d "grant_type=client_credentials&resource=https%3A%2F%2Fmanagement.azure.com%2F&client_id=<YOUR-CLIENT-ID>&client_secret=<YOUR-CLIENT-SECRET>" \

يجب أن توفر الاستجابة رمز وصول جيد لمدة ساعة واحدة:

{
    "token_type": "Bearer",
    "expires_in": "3599",
    "ext_expires_in": "3599",
    "expires_on": "1578523094",
    "not_before": "1578519194",
    "resource": "https://management.azure.com/",
    "access_token": "YOUR-ACCESS-TOKEN"
}

دوّن الرمز المميز حيث ستستخدمه لمصادقة جميع الطلبات الإدارية. ستقوم بذلك عن طريق تعيين عنوان التفويض في جميع الطلبات:

curl -h "Authorization:Bearer <YOUR-ACCESS-TOKEN>" ...more args...

إشعار

تبدأ القيمة بالسلسلة "Bearer" بما في ذلك مسافة واحدة قبل إضافة الرمز المميز.

احصل على قائمة بمجموعات الموارد المقترنة باشتراكك

لاسترداد قائمة بمجموعات الموارد المقترنة باشتراكك، قم بتشغيل:

curl https://management.azure.com/subscriptions/<YOUR-SUBSCRIPTION-ID>/resourceGroups?api-version=2022-04-01 -H "Authorization:Bearer <YOUR-ACCESS-TOKEN>"

عبر Azure، يتم نشر العديد من واجهات برمجة تطبيقات REST. يقوم كل موفر خدمة بتحديث واجهة برمجة التطبيقات الخاصة به على إيقاعه الخاص، ولكنه يفعل ذلك دون قطع البرامج الموجودة. يستخدم موفر الخدمة الوسيطة api-version للتأكد من التوافق.

هام

تختلف الوسيطة api-version من خدمة إلى أخرى. بالنسبة لخدمة التعلم الآلي، على سبيل المثال، إصدار واجهة برمجة التطبيقات الحالي هو 2023-10-01. للعثور على أحدث إصدار من واجهة برمجة التطبيقات لخدمات Azure الأخرى، راجع مرجع Azure REST API للخدمة المحددة.

كافة استدعاءات REST، يجب أن تعين الوسيطة api-version إلى القيمة المتوقعة. يمكنك الاعتماد على بناء الجملة ودلالات الإصدار المحدد، حتى مع استمرار تطور واجهة برمجة التطبيقات. إذا أرسلت طلبًا إلى موفر دون الوسيطة api-version، فستحتوي الاستجابة على قائمة قيم معتمدة يمكن للأشخاص قراءتها.

الاستدعاء أعلاه سيؤدي إلى استجابة JSON مضغوطة للنموذج:

{
    "value": [
        {
            "id": "/subscriptions/12345abc-abbc-1b2b-1234-57ab575a5a5a/resourceGroups/RG1",
            "name": "RG1",
            "type": "Microsoft.Resources/resourceGroups",
            "location": "westus2",
            "properties": {
                "provisioningState": "Succeeded"
            }
        },
        {
            "id": "/subscriptions/12345abc-abbc-1b2b-1234-57ab575a5a5a/resourceGroups/RG2",
            "name": "RG2",
            "type": "Microsoft.Resources/resourceGroups",
            "location": "eastus",
            "properties": {
                "provisioningState": "Succeeded"
            }
        }
    ]
}

التنقل لأسفل في مساحات العمل ومواردها

لاسترداد مجموعة مساحات العمل في مجموعة موارد، قم بتشغيل ما يلي، واستبدال <YOUR-SUBSCRIPTION-ID> و<YOUR-RESOURCE-GROUP> و<YOUR-ACCESS-TOKEN>:

curl https://management.azure.com/subscriptions/<YOUR-SUBSCRIPTION-ID>/resourceGroups/<YOUR-RESOURCE-GROUP>/providers/Microsoft.MachineLearningServices/workspaces/?api-version=2023-10-01 \
-H "Authorization:Bearer <YOUR-ACCESS-TOKEN>"

مرة أخرى، ستتلقى قائمة JSON، تحتوي هذه المرة على قائمة، وكل عنصر منها يوضح تفاصيل مساحة عمل:

{
    "id": "/subscriptions/12345abc-abbc-1b2b-1234-57ab575a5a5a/resourceGroups/DeepLearningResourceGroup/providers/Microsoft.MachineLearningServices/workspaces/my-workspace",
    "name": "my-workspace",
    "type": "Microsoft.MachineLearningServices/workspaces",
    "location": "centralus",
    "tags": {},
    "etag": null,
    "properties": {
        "friendlyName": "",
        "description": "",
        "creationTime": "2023-01-03T19:56:09.7588299+00:00",
        "storageAccount": "/subscriptions/12345abc-abbc-1b2b-1234-57ab575a5a5a/resourcegroups/DeepLearningResourceGroup/providers/microsoft.storage/storageaccounts/myworkspace0275623111",
        "containerRegistry": null,
        "keyVault": "/subscriptions/12345abc-abbc-1b2b-1234-57ab575a5a5a/resourcegroups/DeepLearningResourceGroup/providers/microsoft.keyvault/vaults/myworkspace2525649324",
        "applicationInsights": "/subscriptions/12345abc-abbc-1b2b-1234-57ab575a5a5a/resourcegroups/DeepLearningResourceGroup/providers/microsoft.insights/components/myworkspace2053523719",
        "hbiWorkspace": false,
        "workspaceId": "cba12345-abab-abab-abab-ababab123456",
        "subscriptionState": null,
        "subscriptionStatusChangeTimeStampUtc": null,
        "discoveryUrl": "https://centralus.experiments.azureml.net/discovery"
    },
    "identity": {
        "type": "SystemAssigned",
        "principalId": "abcdef1-abab-1234-1234-abababab123456",
        "tenantId": "1fedcba-abab-1234-1234-abababab123456"
    },
    "sku": {
        "name": "Basic",
        "tier": "Basic"
    }
}

للعمل مع الموارد داخل مساحة عمل، ستقوم بالتبديل من خادم management.azure.com العام إلى خادم REST API خاص بموقع مساحة العمل. لاحظ قيمة مفتاح discoveryUrl في استجابة JSON أعلاه. إذا حصلت على عنوان موقع ويب هذا، فستتلقى استجابة مثل:

{
  "api": "https://centralus.api.azureml.ms",
  "catalog": "https://catalog.cortanaanalytics.com",
  "experimentation": "https://centralus.experiments.azureml.net",
  "gallery": "https://gallery.cortanaintelligence.com/project",
  "history": "https://centralus.experiments.azureml.net",
  "hyperdrive": "https://centralus.experiments.azureml.net",
  "labeling": "https://centralus.experiments.azureml.net",
  "modelmanagement": "https://centralus.modelmanagement.azureml.net",
  "pipelines": "https://centralus.aether.ms",
  "studiocoreservices": "https://centralus.studioservice.azureml.com"
}

قيمة الاستجابة api هي عنوان موقع ويب للخادم الذي ستستخدمه لمزيد من الطلبات. لسرد التجارب، على سبيل المثال، أرسل الأمر التالي. استبدل REGIONAL-API-SERVER بقيمة الاستجابة api (على سبيل المثال، centralus.api.azureml.ms). استبدل أيضًا YOUR-SUBSCRIPTION-ID وYOUR-RESOURCE-GROUP وYOUR-WORKSPACE-NAME وYOUR-ACCESS-TOKEN كالمعتاد:

curl https://<REGIONAL-API-SERVER>/history/v1.0/subscriptions/<YOUR-SUBSCRIPTION-ID>/resourceGroups/<YOUR-RESOURCE-GROUP>/\
providers/Microsoft.MachineLearningServices/workspaces/<YOUR-WORKSPACE-NAME>/experiments?api-version=2023-10-01 \
-H "Authorization:Bearer <YOUR-ACCESS-TOKEN>"

وبالمثل، لاسترداد النماذج المسجلة في مساحة العمل الخاصة بك، أرسل:

curl https://<REGIONAL-API-SERVER>/modelmanagement/v1.0/subscriptions/<YOUR-SUBSCRIPTION-ID>/resourceGroups/<YOUR-RESOURCE-GROUP>/\
providers/Microsoft.MachineLearningServices/workspaces/<YOUR-WORKSPACE-NAME>/models?api-version=2023-10-01 \
-H "Authorization:Bearer <YOUR-ACCESS-TOKEN>"

لاحظ أنه لسرد التجارب، يبدأ المسار بـ history/v1.0 في حين يبدأ المسار بـ modelmanagement/v1.0 لسر النماذج. واجهة برمجة تطبيقات REST تنقسم إلى عدة مجموعات تشغيلية، لكل منها مسار مميز.

المنطقة المسار
البيانات الاصطناعية /rest/api/azureml
مخازن البيانات /azure/machine-learning/how-to-access-data
ضبط المعلمات الفائقة hyperdrive/v1.0/
النماذج modelmanagement/v1.0/
محفوظات التشغيل execution/v1.0/ and history/v1.0/

يمكنك استكشاف واجهة برمجة تطبيقات REST باستخدام النمط العام لـ:

مكون عنوان موقع الويب مثال
https://
REGIONAL-API-SERVER/ centralus.api.azureml.ms/
operations-path/ history/v1.0/
subscriptions/YOUR-SUBSCRIPTION-ID/ subscriptions/abcde123-abab-abab-1234-0123456789abc/
resourceGroups/YOUR-RESOURCE-GROUP/ resourceGroups/MyResourceGroup/
providers/operation-provider/ providers/Microsoft.MachineLearningServices/
provider-resource-path/ workspaces/MyWorkspace/experiments/FirstExperiment/runs/1/
operations-endpoint/ artifacts/metadata/

إنشاء الموارد وتعديلها باستخدام طلبات PUT وPOST

بالإضافة إلى استرداد الموارد باستخدام فعل GET، تدعم واجهة برمجة تطبيقات REST إنشاء جميع الموارد اللازمة لتدريب حلول التعلم الآلي ونشرها ومراقبتها.

يتطلب التدريب وتشغيل نماذج التعلم الآلي موارد الحوسبة. يمكنك سرد موارد الحوسبة لمساحة عمل باستخدام:

curl https://management.azure.com/subscriptions/<YOUR-SUBSCRIPTION-ID>/resourceGroups/<YOUR-RESOURCE-GROUP>/\
providers/Microsoft.MachineLearningServices/workspaces/<YOUR-WORKSPACE-NAME>/computes?api-version=2023-10-01 \
-H "Authorization:Bearer <YOUR-ACCESS-TOKEN>"

لإنشاء مورد حساب مسمى أو استبداله، ستستخدم طلب PUT. فيما يلي، بالإضافة إلى الاستبدالات المألوفة الآن لـ YOUR-SUBSCRIPTION-ID وYOUR-RESOURCE-GROUP وYOUR-WORKSPACE-NAME وYOUR-ACCESS-TOKEN، استبدل YOUR-COMPUTE-NAME، وقيم location، وvmSize وvmPriority و scaleSettings وadminUserName وadminUserPassword. ينشئ الأمر التالي Standard_D1 عقدة واحدة مخصصة (مورد حوسبة وحدة المعالجة المركزية الأساسي) الذي سيتم تقليصه بعد 30 دقيقة:

curl -X PUT \
  'https://management.azure.com/subscriptions/<YOUR-SUBSCRIPTION-ID>/resourceGroups/<YOUR-RESOURCE-GROUP>/providers/Microsoft.MachineLearningServices/workspaces/<YOUR-WORKSPACE-NAME>/computes/<YOUR-COMPUTE-NAME>?api-version=2023-10-01' \
  -H 'Authorization:Bearer <YOUR-ACCESS-TOKEN>' \
  -H 'Content-Type: application/json' \
  -d '{
    "location": "eastus",
    "properties": {
        "computeType": "AmlCompute",
        "properties": {
            "vmSize": "Standard_D1",
            "vmPriority": "Dedicated",
            "scaleSettings": {
                "maxNodeCount": 1,
                "minNodeCount": 0,
                "nodeIdleTimeBeforeScaleDown": "PT30M"
            }
        }
    },
    "userAccountCredentials": {
        "adminUserName": "<ADMIN_USERNAME>",
        "adminUserPassword": "<ADMIN_PASSWORD>"
    }
}'

إشعار

في محطات Windows الطرفية، قد تضطر إلى إلغاء رموز الاقتباس المزدوجة عند إرسال بيانات JSON. أي أن النص مثل "location" يصبح \"location\".

الطلب الناجح سيحصل على استجابة 201 Created، ولكن لاحظ أن هذه الاستجابة تعني ببساطة أن عملية التزويد قد بدأت. ستحتاج إلى الاستقصاء (أو استخدام المدخل) لتأكيد اكتماله بنجاح.

إنشاء مساحة عمل باستخدام REST

تعتمد كل مساحة عمل Azure التعلم الآلي على أربعة موارد Azure أخرى: مورد Azure Container Registry وAzure Key Vault وAzure Application Insights وحساب Azure Storage. لا يمكنك إنشاء مساحة عمل حتى توجد هذه الموارد. راجع مرجع واجهة برمجة تطبيقات REST للحصول على تفاصيل إنشاء كل مورد من هذا القبيل.

لإنشاء مساحة عمل، PUT استدعاء مشابهة للآتي إلى management.azure.com. في حين أن هذا الاستدعاء يتطلب منك تعيين عدد كبير من المتغيرات، فإنه مطابق من الناحية الهيكلية للمكالمات الأخرى التي ناقشتها هذه المقالة.

curl -X PUT \
  'https://management.azure.com/subscriptions/<YOUR-SUBSCRIPTION-ID>/resourceGroups/<YOUR-RESOURCE-GROUP>\
/providers/Microsoft.MachineLearningServices/workspaces/<YOUR-NEW-WORKSPACE-NAME>?api-version=2023-10-01' \
  -H 'Authorization: Bearer <YOUR-ACCESS-TOKEN>' \
  -H 'Content-Type: application/json' \
  -d '{
    "location": "AZURE-LOCATION>",
    "identity" : {
        "type" : "systemAssigned"
    },
    "properties": {
        "friendlyName" : "<YOUR-WORKSPACE-FRIENDLY-NAME>",
        "description" : "<YOUR-WORKSPACE-DESCRIPTION>",
        "containerRegistry" : "/subscriptions/<YOUR-SUBSCRIPTION-ID>/resourceGroups/<YOUR-RESOURCE-GROUP>/\
providers/Microsoft.ContainerRegistry/registries/<YOUR-REGISTRY-NAME>",
        keyVault" : "/subscriptions/<YOUR-SUBSCRIPTION-ID>/resourceGroups/<YOUR-RESOURCE-GROUP>\
/providers/Microsoft.Keyvault/vaults/<YOUR-KEYVAULT-NAME>",
        "applicationInsights" : "subscriptions/<YOUR-SUBSCRIPTION-ID>/resourceGroups/<YOUR-RESOURCE-GROUP>/\
providers/Microsoft.insights/components/<YOUR-APPLICATION-INSIGHTS-NAME>",
        "storageAccount" : "/subscriptions/<YOUR-SUBSCRIPTION-ID>/resourceGroups/<YOUR-RESOURCE-GROUP>/\
providers/Microsoft.Storage/storageAccounts/<YOUR-STORAGE-ACCOUNT-NAME>"
    }
}'

ستتلقى استجابة 202 Accepted، وفي العناوين التي تم إرجاعها، محدد مواقع الويب Location. يمكنك الحصول على محدد مواقف الويب هذا للحصول على معلومات حول التوزيع، بما في ذلك معلومات تصحيح الأخطاء المفيدة إذا كانت هناك مشكلة في أحد الموارد التابعة لك (على سبيل المثال، إذا نسيت تمكين وصول المسؤول على سجل الحاوية).

إنشاء مساحة عمل باستخدام هوية مدارة يعينها المستخدم

عند إنشاء مساحة عمل، يمكنك تحديد هوية مُدارة عيّنها المستخدم والتي سيتم استخدامها للوصول إلى الموارد المرتبطة: ACR وKeyVault والتخزين وإحصاءات التطبيقات. لإنشاء مساحة عمل مع هوية مُدارة معينة من المستخدم، استخدم نص الطلب أدناه.

curl -X PUT \
  'https://management.azure.com/subscriptions/<YOUR-SUBSCRIPTION-ID>/resourceGroups/<YOUR-RESOURCE-GROUP>\
/providers/Microsoft.MachineLearningServices/workspaces/<YOUR-NEW-WORKSPACE-NAME>?api-version=2023-10-01' \
  -H 'Authorization: Bearer <YOUR-ACCESS-TOKEN>' \
  -H 'Content-Type: application/json' \
  -d '{
    "location": "AZURE-LOCATION>",
    "identity": {
      "type": "SystemAssigned,UserAssigned",
      "userAssignedIdentities": {
        "/subscriptions/<YOUR-SUBSCRIPTION-ID>/resourceGroups/<YOUR-RESOURCE-GROUP>/\
providers/Microsoft.ManagedIdentity/userAssignedIdentities/<YOUR-MANAGED-IDENTITY>": {}
      }
    },
    "properties": {
        "friendlyName" : "<YOUR-WORKSPACE-FRIENDLY-NAME>",
        "description" : "<YOUR-WORKSPACE-DESCRIPTION>",
        "containerRegistry" : "/subscriptions/<YOUR-SUBSCRIPTION-ID>/resourceGroups/<YOUR-RESOURCE-GROUP>/\
providers/Microsoft.ContainerRegistry/registries/<YOUR-REGISTRY-NAME>",
        keyVault" : "/subscriptions/<YOUR-SUBSCRIPTION-ID>/resourceGroups/<YOUR-RESOURCE-GROUP>\
/providers/Microsoft.Keyvault/vaults/<YOUR-KEYVAULT-NAME>",
        "applicationInsights" : "subscriptions/<YOUR-SUBSCRIPTION-ID>/resourceGroups/<YOUR-RESOURCE-GROUP>/\
providers/Microsoft.insights/components/<YOUR-APPLICATION-INSIGHTS-NAME>",
        "storageAccount" : "/subscriptions/<YOUR-SUBSCRIPTION-ID>/resourceGroups/<YOUR-RESOURCE-GROUP>/\
providers/Microsoft.Storage/storageAccounts/<YOUR-STORAGE-ACCOUNT-NAME>"
    }
}'

إنشاء مساحة عمل باستخدام مفاتيح التشفير التي يديرها العميل

بشكل افتراضي، يتم تخزين بيانات التعريف لمساحة العمل في مثيل Azure Cosmos DB الذي تحتفظ به Microsoft. يتم تشفير هذه البيانات باستخدام مفاتيح مدارة من Microsoft. وبدلاً من استخدام المفتاح الذي تديره Microsoft، يمكنك أيضاً توفير المفتاح الخاص بك. ما يؤدي إلى إنشاء مجموعة أخرى من الموارد في اشتراك Azure لتخزين البيانات.

تحتاج إلى تلبية المتطلبات الأساسية التالية لإنشاء مساحة عمل تستخدم المفاتيح للتشفير:

  • يجب أن يكون لمدير خدمة التعلم الآلي من Azure حق وصول المساهم إلى اشتراك Azure الخاص بك.
  • يجب أن يكون لديك Key Vault Azure موجود يحتوي على مفتاح تشفير.
  • يجب أن يكون Azure Key Vault موجودًا في نفس منطقة Azure التي ستنشئ فيها مساحة عمل التعلم الآلي من Microsoft Azure.
  • يجب تمكين الحماية من الحذف المبدئي والإزالة في Azure Key Vault للحماية من فقدان البيانات في حالة الحذف العرضي.
  • يجب أن يكون لديك نهج وصول في Azure Key Vault يمنح حق الوصول إلى تطبيق Azure Cosmos DB والتفافه وإلغاء تضمينه.

استخدم نص الطلب أدناه لإنشاء مساحة عمل تستخدم هوية مُدارة يُعينها المستخدم ومفاتيح يديرها العميل للتشفير. عند استخدام هوية مُدارة يُعينها المستخدم لمساحة العمل، عيّن أيضًا الخاصية userAssignedIdentity إلى معرّف المورد للهوية المُدارة.

curl -X PUT \
  'https://management.azure.com/subscriptions/<YOUR-SUBSCRIPTION-ID>/resourceGroups/<YOUR-RESOURCE-GROUP>\
/providers/Microsoft.MachineLearningServices/workspaces/<YOUR-NEW-WORKSPACE-NAME>?api-version=2023-10-01' \
  -H 'Authorization: Bearer <YOUR-ACCESS-TOKEN>' \
  -H 'Content-Type: application/json' \
  -d '{
    "location": "eastus2euap",
    "identity": {
      "type": "SystemAssigned"
    },
    "properties": {
      "friendlyName": "<YOUR-WORKSPACE-FRIENDLY-NAME>",
      "description": "<YOUR-WORKSPACE-DESCRIPTION>",
      "containerRegistry" : "/subscriptions/<YOUR-SUBSCRIPTION-ID>/resourceGroups/<YOUR-RESOURCE-GROUP>/\
providers/Microsoft.ContainerRegistry/registries/<YOUR-REGISTRY-NAME>",
      "keyVault" : "/subscriptions/<YOUR-SUBSCRIPTION-ID>/resourceGroups/<YOUR-RESOURCE-GROUP>\
/providers/Microsoft.Keyvault/vaults/<YOUR-KEYVAULT-NAME>",
      "applicationInsights" : "subscriptions/<YOUR-SUBSCRIPTION-ID>/resourceGroups/<YOUR-RESOURCE-GROUP>/\
providers/Microsoft.insights/components/<YOUR-APPLICATION-INSIGHTS-NAME>",
      "storageAccount" : "/subscriptions/<YOUR-SUBSCRIPTION-ID>/resourceGroups/<YOUR-RESOURCE-GROUP>/\
providers/Microsoft.Storage/storageAccounts/<YOUR-STORAGE-ACCOUNT-NAME>",
      "encryption": {
        "status": "Enabled",
        "identity": {
          "userAssignedIdentity": null
        },      
        "keyVaultProperties": {
           "keyVaultArmId": "/subscriptions/<YOUR-SUBSCRIPTION-ID>/resourceGroups/<YOUR-RESOURCE-GROUP>/\
providers/Microsoft.KeyVault/vaults/<YOUR-VAULT>",
           "keyIdentifier": "https://<YOUR-VAULT>.vault.azure.net/keys/<YOUR-KEY>/<YOUR-KEY-VERSION>",
           "identityClientId": ""
        }
      },
      "hbiWorkspace": false
    }
}'

حذف الموارد التي لم تعد بحاجة إليها

بعض الموارد، وليس كلها، تدعم فعل DELETE. تحقق من مرجع واجهة برمجة التطبيقات قبل الالتزام بواجهة برمجة تطبيقات REST لحذف حالات الاستخدام. لحذف نموذج، على سبيل المثال، يمكنك استخدام:

curl
  -X DELETE \
'https://<REGIONAL-API-SERVER>/modelmanagement/v1.0/subscriptions/<YOUR-SUBSCRIPTION-ID>/resourceGroups/<YOUR-RESOURCE-GROUP>/providers/Microsoft.MachineLearningServices/workspaces/<YOUR-WORKSPACE-NAME>/models/<YOUR-MODEL-ID>?api-version=2022-05-01' \
  -H 'Authorization:Bearer <YOUR-ACCESS-TOKEN>' 

استكشاف الأخطاء وإصلاحها

أخطاء مزود الموارد

عند إنشاء مساحة عمل التعلم الآلي من Microsoft Azure، أو مورد تستخدمه مساحة العمل، قد تتلقى خطأ مشابهًا للرسائل الآتية:

  • No registered resource provider found for location {location}
  • The subscription is not registered to use namespace {resource-provider-namespace}

يُسجّل معظم موفري الموارد تلقائياً، ولكن ليس جميعهم. إذا استلمت هذه الرسالة، فأنت بحاجة إلى تسجيل الموفّر المذكور.

يحتوي الجدول التالي على قائمة بموفّري الموارد المطلوبين من التعلم الآلي من Microsoft Azure:

موفر الموارد سبب الحاجة إليه
Microsoft.MachineLearning إنشاء مِساحة عمل التعلم الآلي من Azure.
Microsoft.Storage يستخدم حساب التخزين في Azure كتخزين افتراضي لمساحة العمل.
Microsoft.ContainerRegistry تستخدم مساحة العمل Azure Container Registry لإنشاء صور Docker.
Microsoft.KeyVault تستخدم مساحة العمل Azure Key Vault لتخزين البيانات السرية.
Microsoft.NetApp دفاتر ملاحظات متكامل على مثيل حساب التعلم الآلي من Microsoft Azure.
Microsoft.ContainerService إذا كنت تخطط لتوزيع النماذج المُدربة على خدمات Azure Kubernetes.

في حال كنت تخطط لاستخدام مفتاح مُدار بواسطة العميل مع التعلم الآلي من Microsoft Azure، فيجب تسجيل موفري الخدمة التاليين:

موفر الموارد سبب الحاجة إليه
Microsoft.DocumentDB مثيل Azure CosmosDB الذي يسجل بيانات التعريف لمساحة العمل.
Microsoft.Search يوفر البحث في Azure إمكانات الفهرسة لمساحة العمل.

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

للحصول على معلومات بشأن تسجيل موفري الموارد، راجع حل الأخطاء لتسجيل موفر المورد.

تحريك مساحة العمل

تحذير

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

حذف سجل الحاوية من Azure

تستخدم مساحة عمل التعلم الآلي من Azure سجل الحاوية من Azure (ACR) لبعض العمليات. سيُنشئ تلقائيًا مثيل ACR عندما يحتاج إلى مثيل لأول مرة.

تحذير

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

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