استخدم قالب Azure Resource Manager لإنشاء مساحة عمل للتعلم الآلي من Microsoft Azure

في هذه المقالة، تتعلم عدة طرق لإنشاء مساحة عمل التعلم الآلي من Microsoft Azure باستخدام قوالب Azure Resource Manager. قالب Resource Manager يجعل من السهل إنشاء الموارد ك عملية واحدة منسقة. القالب هو مستند JSON يحدد الموارد المطلوبة للنشر. قد تحدد أيضاً معلمات التوزيع. يتم استخدام المعلمات لتوفير قيم الإدخال عند استخدام القالب.

لمزيد من المعلومات، راجع نشر تطبيق باستخدام قالب Azure Resource Manager.

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

القيود

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

    موفّر الموارد للتعلم الآلي من Microsoft Azure هو Microsoft.MachineLearningServices. للحصول على معلومات عن كيفية معرفة إذا ما كان مسجلاً وكيفية تسجيله، راجع مقالة موفري الموارد من Azure والأنواع.

    هام

    وينطبق ذلك فقط على الموارد المتوفرة أثناء إنشاء مساحة العمل؛ حسابات تخزين Azure وAzure Container Register وAzure Key Vault وApplication Insights.

  • قد لا يستخدم نموذج المثال دائما أحدث إصدار من واجهة برمجة التطبيقات ل Azure التعلم الآلي. قبل استخدام القالب، نوصي بتعديله لاستخدام أحدث إصدارات واجهة برمجة التطبيقات. للحصول على معلومات حول أحدث إصدارات واجهة برمجة التطبيقات ل Azure التعلم الآلي، راجع Azure التعلم الآلي REST API.

    تلميح

    كل خدمة Azure لها مجموعة خاصة بها من إصدارات واجهة برمجة التطبيقات. للحصول على معلومات حول واجهة برمجة التطبيقات لخدمة معينة، تحقق من معلومات الخدمة في مرجع Azure REST API.

    لتحديث إصدار واجهة برمجة التطبيقات، ابحث عن "apiVersion": "YYYY-MM-DD" إدخال نوع المورد وقم بتحديثه إلى أحدث إصدار. المثال التالي هو إدخال ل Azure التعلم الآلي:

    "type": "Microsoft.MachineLearningServices/workspaces",
    "apiVersion": "2023-10-01",
    

مساحات عمل متعددة في نفس الشبكة الظاهرية

لا يدعم القالب مساحات عمل التعلم الآلي من Microsoft Azure المتعددة المنشورة في نفس VNet. وذلك لأن القالب ينشئ مناطق DNS جديدة أثناء النشر.

إذا كنت ترغب في إنشاء قالب ينشر مساحات عمل متعددة في نفس VNet، فقم بإعداد هذا يدوياً (باستخدام مدخل Microsoft Azure أو CLI) ثم استخدم مدخل Microsoft Azure لإنشاء قالب.

قالب إدارة موارد مساحة العمل

يمكن العثور على قالب Azure Resource Manager المستخدم في هذا المستند في دليل microsoft.machineleaerningservices/machine-learning-workspace-vnet لقوالب Azure quickstart GitHub المستودع.

يقوم القالب بإنشاء موارد Azure التالية:

  • حساب مساحة تخزين Azure
  • Azure Key Vault
  • Azure Application Insights
  • Azure Container Registry
  • مساحة عمل Azure Machine Learning

مجموعة الموارد هي الحاوية التي تحتوي على الخدمات. الخدمات المختلفة مطلوبة من قبل مساحة عمل التعلم الآلي من Microsoft Azure.

يحتوي نموذج القالب على معلمتين مطلوبتين :

  • المنطقة: الموقع الذي سيتم إنشاء الموارد فيه.

    سيستخدم القالب الموقع الذي تحدده لمعظم الموارد. الاستثناء هو خدمة Application Insights، والتي لا تتوفر في جميع المواقع التي تكون فيها الخدمات الأخرى. إذا حددت موقعاً لا يتوفر فيه، فسيتم إنشاء الخدمة في موقع جنوب وسط الولايات المتحدة.

  • workspaceName، وهو الاسم المألوف لمساحة عمل التعلم الآلي من Microsoft Azure.

    إشعار

    اسم مساحة العمل حساس لحالة الأحرف.

    يتم إنشاء أسماء الخدمات الأخرى عشوائياً.

تلميح

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

يمكنك أيضاً الرجوع إلى سجل حاوية موجود أو حساب تخزين في قالب Azure Resource Manager، بدلاً من إنشاء حساب جديد. عند القيام بذلك، يجب عليك إما استخدام هوية مدارة (معاينة)، أو تمكين حساب المسؤول لسجل الحاوية.

تحذير

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

لمزيد من المعلومات حول القوالب، راجع المقالات التالية:

نشر القالب

لنشر القالب الخاص بك، يجب عليك إنشاء مجموعة موارد.

راجع قسم مدخل Microsoft Azure إذا كنت تفضل استخدام واجهة المستخدم الرسومية.

az group create --name "examplegroup" --location "eastus"

بمجرد إنشاء مجموعة الموارد بنجاح، انشر القالب باستخدام الأمر التالي:

az deployment group create \
    --name "exampledeployment" \
    --resource-group "examplegroup" \
    --template-uri "https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/quickstarts/microsoft.machinelearningservices/machine-learning-workspace-vnet/azuredeploy.json" \
    --parameters workspaceName="exampleworkspace" location="eastus"

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

هام

إذا كنت ترغب في استخدام حساب تخزين Azure موجود، فلا يمكن أن يكون حساباً متميزاً (Premium_LRS Premium_GRS). كما لا يمكن أن تحتوي على مساحة أسماء هرمية (تُستخدم مع Azure Data Lake Storage Gen2). لا يتم اعتماد التخزين المميز أو مساحة الاسم الهرمية مع حساب التخزين الافتراضي لمساحة العمل. لا يتم دعم التخزين المتميز ولا مساحات الأسماء الهرمية مع حساب التخزين الافتراضي لمساحة العمل. يمكنك استخدام مساحة تخزين متميزة أو مساحة أسماء هرمية مع حسابات تخزين غير افتراضية.

az deployment group create \
    --name "exampledeployment" \
    --resource-group "examplegroup" \
    --template-uri "https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/quickstarts/microsoft.machinelearningservices/machine-learning-workspace-vnet/azuredeploy.json" \
    --parameters workspaceName="exampleworkspace" \
      location="eastus" \
      storageAccountOption="existing" \
      storageAccountName="existingstorageaccountname"

نشر مساحة عمل مشفرة

يوضح قالب المثال التالي كيفية إنشاء مساحة عمل بثلاثة إعدادات:

  • تمكين إعدادات السرية العالية لمساحة العمل. يؤدي هذا إلى إنشاء مثيل Azure Cosmos DB جديد.
  • تمكين التشفير لمساحة العمل.
  • يستخدم Key Vault Azure الموجودة لاسترداد المفاتيح التي يديرها العميل. يتم استخدام المفاتيح التي يديرها العميل لإنشاء مثيل Azure Cosmos DB جديد لمساحة العمل.

هام

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

لمزيد من المعلومات، راجع استخدام المفاتيح المدارة من قبل العميل.

هام

هناك بعض المتطلبات المحددة التي يجب أن يلبيها اشتراكك قبل استخدام هذا القالب:

  • يجب أن يكون لديك Key Vault Azure موجود يحتوي على مفتاح تشفير.
  • يجب أن يكون Key Vault Azure في نفس المنطقة حيث تخطط لإنشاء مساحة عمل التعلم الآلي من Microsoft Azure.
  • يجب تحديد معرف Azure Key Vault وURI لمفتاح التشفير.

للحصول على خطوات حول إنشاء المخزن والمفتاح، راجع تكوين المفاتيح التي يديرها العميل.

للحصول على قيم لـ cmk_keyvault (معرف Key Vault) resource_cmk_uri والمعلمات (مفتاح URI) المطلوبة من قبل هذا القالب، استخدم الخطوات التالية:

  1. للحصول على معرف Key Vault، استخدم الأمر التالي:

    az keyvault show --name <keyvault-name> --query 'id' --output tsv    
    

    يقوم هذا الأمر بإرجاع قيمة مشابهة لـ /subscriptions/{subscription-guid}/resourceGroups/<resource-group-name>/providers/Microsoft.KeyVault/vaults/<keyvault-name>.

  2. للحصول على قيمة URI للمفتاح المدار للعميل، استخدم الأمر التالي:

    az keyvault key show --vault-name <keyvault-name> --name <key-name> --query 'key.kid' --output tsv    
    

يقوم هذا الأمر بإرجاع قيمة مشابهة لـ https://mykeyvault.vault.azure.net/keys/mykey/{guid}.

هام

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

لتمكين استخدام المفاتيح المدارة من قبل العميل، قم بتعيين المعلمات التالية عند نشر القالب:

  • encryption_status إلى ممكن.
  • cmk_keyvault إلى القيمة التي cmk_keyvault تم الحصول عليها في الخطوات السابقة.
  • resource_cmk_uri إلى القيمة التي resource_cmk_uri تم الحصول عليها في الخطوات السابقة.
az deployment group create \
    --name "exampledeployment" \
    --resource-group "examplegroup" \
    --template-uri "https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/quickstarts/microsoft.machinelearningservices/machine-learning-workspace-vnet/azuredeploy.json" \
    --parameters workspaceName="exampleworkspace" \
      location="eastus" \
      encryption_status="Enabled" \
      cmk_keyvault="/subscriptions/{subscription-guid}/resourceGroups/<resource-group-name>/providers/Microsoft.KeyVault/vaults/<keyvault-name>" \
      resource_cmk_uri="https://mykeyvault.vault.azure.net/keys/mykey/{guid}" \

عند استخدام مفتاح مدار من قبل العميل، يقوم Azure التعلم الآلي بإنشاء مجموعة موارد ثانوية تحتوي على مثيل Azure Cosmos DB. لمزيد من المعلومات، راجع التشفير الثابت في Azure Cosmos DB.

تكوين إضافي يمكنك توفيره لبياناتك هو تعيين المعلمة confidential_data إلى true. القيام بذلك، يفعل ما يلي:

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

  • تنظيف قرص الصفر المحلي بين المهام.

  • يمرر بيانات الاعتماد بشكل آمن لحساب التخزين وسجل الحاوية وحساب SSH من طبقة التنفيذ إلى مجموعات الحوسبة باستخدام مخزن المفاتيح.

  • تمكين تصفية IP للتأكد من عدم إمكانية استدعاء تجمعات الدفعات الأساسية بواسطة أي خدمات خارجية بخلاف AzureMachineLearningService.

    هام

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

    لمزيد من المعلومات، راجع التشفير في حالة الثبات.

نشر مساحة عمل خلف شبكة ظاهرية

من خلال تعيين قيمة المعلمة vnetOption إلى new أو existing، يمكنك إنشاء الموارد المستخدمة بواسطة مساحة عمل خلف شبكة ظاهرية.

هام

بالنسبة لتسجيل الحاوية، يتم دعم رمز SKU "Premium" فقط.

هام

لا يدعم Application Insights النشر خلف شبكة ظاهرية.

نشر مساحة العمل خلف نقطة النهاية الخاصة فقط

إذا لم تكن الموارد المقترنة خلف شبكة ظاهرية، يمكنك تعيين المعلمة PrivateEndpointType إلى AutoAproval أو ManualApproval لنشر مساحة العمل خلف نقطة نهاية خاصة. يمكن القيام بذلك لكل من مساحات العمل الجديدة والحالية. عند تحديث مساحة عمل موجودة، املأ معلمات القالب بالمعلومات من مساحة العمل الموجودة.

az deployment group create \
    --name "exampledeployment" \
    --resource-group "examplegroup" \
    --template-uri "https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/quickstarts/microsoft.machinelearningservices/machine-learning-workspace-vnet/azuredeploy.json" \
    --parameters workspaceName="exampleworkspace" \
      location="eastus" \
      privateEndpointType="AutoApproval"

استخدام شبكة ظاهرية جديدة

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

az deployment group create \
    --name "exampledeployment" \
    --resource-group "examplegroup" \
    --template-uri "https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/quickstarts/microsoft.machinelearningservices/machine-learning-workspace-vnet/azuredeploy.json" \
    --parameters workspaceName="exampleworkspace" \
      location="eastus" \
      vnetOption="new" \
      vnetName="examplevnet" \
      storageAccountBehindVNet="true"
      privateEndpointType="AutoApproval"

بدلاً من ذلك، يمكنك نشر موارد متعددة أو جميع الموارد التابعة خلف شبكة ظاهرية.

az deployment group create \
    --name "exampledeployment" \
    --resource-group "examplegroup" \
    --template-uri "https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/quickstarts/microsoft.machinelearningservices/machine-learning-workspace-vnet/azuredeploy.json" \
    --parameters workspaceName="exampleworkspace" \
      location="eastus" \
      vnetOption="new" \
      vnetName="examplevnet" \
      storageAccountBehindVNet="true" \
      keyVaultBehindVNet="true" \
      containerRegistryBehindVNet="true" \
      containerRegistryOption="new" \
      containerRegistrySku="Premium"
      privateEndpointType="AutoApproval"

استخدام موارد شبكة ظاهرية موجودة

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

هام

يجب أن تحتوي الشبكة الفرعية على Microsoft.Storage نقطة نهاية الموفر

هام

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

  1. تمكين نقاط نهاية الخدمة للموارد.

    az network vnet subnet update --resource-group "examplegroup" --vnet-name "examplevnet" --name "examplesubnet" --service-endpoints "Microsoft.Storage"
    az network vnet subnet update --resource-group "examplegroup" --vnet-name "examplevnet" --name "examplesubnet" --service-endpoints "Microsoft.KeyVault"
    az network vnet subnet update --resource-group "examplegroup" --vnet-name "examplevnet" --name "examplesubnet" --service-endpoints "Microsoft.ContainerRegistry"
    
  2. نشر مساحة العمل

    az deployment group create \
    --name "exampledeployment" \
    --resource-group "examplegroup" \
    --template-uri "https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/quickstarts/microsoft.machinelearningservices/machine-learning-workspace-vnet/azuredeploy.json" \
    --parameters workspaceName="exampleworkspace" \
      location="eastus" \
      vnetOption="existing" \
      vnetName="examplevnet" \
      vnetResourceGroupName="examplegroup" \
      storageAccountBehindVNet="true" \
      keyVaultBehindVNet="true" \
      containerRegistryBehindVNet="true" \
      containerRegistryOption="new" \
      containerRegistrySku="Premium" \
      subnetName="examplesubnet" \
      subnetOption="existing"
      privateEndpointType="AutoApproval"
    

استخدام مدخل Microsoft Azure

  1. اتبع الخطوات الواردة في نشر الموارد من قالب مخصص. عند الوصول إلى شاشة Select a template، اختر إدخال quickstarts. عند ظهوره، حدد الارتباط المسمى "انقر هنا لفتح مستودع القالب". ينقلك هذا الارتباط إلى quickstarts الدليل في مستودع قوالب التشغيل السريع لـ Azure.

  2. في قائمة قوالب التشغيل السريع، حدد microsoft.machinelearningservices. وأخيرا، حدد Deploy to Azure.

  3. عند ظهور القالب، قم بتوفير المعلومات المطلوبة التالية وأي معلمات أخرى اعتماداً على سيناريو التوزيع الخاص بك.

    • الاشتراك: حدد اشتراك Azure لاستخدامه لهذه الموارد.
    • مجموعة الموارد: حدد مجموعة موارد أو أنشئها لاحتواء الخدمات.
    • المنطقة: حدد منطقة Azure حيث سيتم إنشاء الموارد.
    • اسم مساحة العمل: الاسم الذي سيتم استخدامه لمساحة عمل التعلم الآلي من Microsoft Azure التي سيتم إنشاؤها. يجب أن يكون اسم مساحة العمل بين 3 و 33 حرفاً. قد يحتوي فقط على أحرف أبجدية رقمية و '-'.
    • الموقع: حدد الموقع الذي سيتم إنشاء الموارد فيه.
  4. حدد "Review + create".

  5. في شاشة Review + create، وافق على الشروط والأحكام المدرجة وحدد Create.

للحصول على مزيدٍ من المعلومات، راجع نشر الموارد من قالب مخصص.

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

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

عند إنشاء مساحة عمل التعلم الآلي من 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 Key Vault وقوالب Azure Resource Manager

عند استخدام قالب Azure Resource Manager لإنشاء مساحة العمل والموارد المقترنة (بما في ذلك Azure Key Vault)، عدة مرات. على سبيل المثال، استخدام القالب عدة مرات بنفس المعلمات كجزء من البنية الأساسية لبرنامج ربط العمليات التجارية للتكامل والنشر المستمر.

معظم عمليات إنشاء الموارد من خلال القوالب متكررة، ولكن Key Vault مسح نهج الوصول في كل مرة يتم فيها استخدام القالب. يؤدي مسح نهج الوصول إلى قطع الوصول إلى Key Vault لأي مساحة عمل موجودة تستخدمها. على سبيل المثال، قد تفشل وظائف إيقاف/إنشاء أجهزة Azure Notebooks الظاهرية.

لتجنب هذه المشكلة، نوصي بأحد النهج التالية:

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

  • افحص نهج الوصول Key Vault ثم استخدم هذه النهج لتعيين accessPolicies خاصية القالب. لعرض نهج الوصول، استخدم أمر Azure CLI التالي:

    az keyvault show --name mykeyvault --resource-group myresourcegroup --query properties.accessPolicies
    

    لمزيد من المعلومات حول استخدام accessPolicies قسم من القالب، راجع مرجع كائن AccessPolicyEntry.

  • تحقق مما إذا كان مورد Key Vault موجوداً بالفعل. إذا كان الأمر كذلك، فلا تقم بإعادة إنشائه من خلال القالب. على سبيل المثال، لاستخدام Key Vault الموجودة بدلاً من إنشاء Key Vault جديد، قم بإجراء التغييرات التالية على القالب:

    • إضافة معلمة تقبل معرف مورد Key Vault موجود:

      "keyVaultId":{
        "type": "string",
        "metadata": {
          "description": "Specify the existing Key Vault ID."
        }
      }
      
    • إزالة المقطع الذي ينشئ مورد Key Vault:

      {
        "type": "Microsoft.KeyVault/vaults",
        "apiVersion": "2018-02-14",
        "name": "[variables('keyVaultName')]",
        "location": "[parameters('location')]",
        "properties": {
          "tenantId": "[variables('tenantId')]",
          "sku": {
            "name": "standard",
            "family": "A"
          },
          "accessPolicies": [
          ]
        }
      },
      
    • قم بإزالةالـ"[resourceId('Microsoft.KeyVault/vaults', variables('keyVaultName'))]",سطر من dependsOn قسم مساحة العمل. قم أيضاً بتغييرالـkeyVaultإدخال في properties قسم مساحة العمل للإشارة إلى keyVaultId المعلمة:

      {
        "type": "Microsoft.MachineLearningServices/workspaces",
        "apiVersion": "2019-11-01",
        "name": "[parameters('workspaceName')]",
        "location": "[parameters('location')]",
        "dependsOn": [
          "[resourceId('Microsoft.Storage/storageAccounts', variables('storageAccountName'))]",
          "[resourceId('Microsoft.Insights/components', variables('applicationInsightsName'))]"
        ],
        "identity": {
          "type": "systemAssigned"
        },
        "sku": {
          "tier": "[parameters('sku')]",
          "name": "[parameters('sku')]"
        },
        "properties": {
          "friendlyName": "[parameters('workspaceName')]",
          "keyVault": "[parameters('keyVaultId')]",
          "applicationInsights": "[resourceId('Microsoft.Insights/components',variables('applicationInsightsName'))]",
          "storageAccount": "[resourceId('Microsoft.Storage/storageAccounts/',variables('storageAccountName'))]"
        }
      }
      

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

    للحصول على معرف Key Vault، يمكنك الرجوع إلى إخراج مهمة القالب الأصلي أو استخدام Azure CLI. الأمر التالي هو مثال على استخدام Azure CLI للحصول على معرف المورد Key Vault:

    az keyvault show --name mykeyvault --resource-group myresourcegroup --query id
    

    يُرجع هذا الأمر قيمة مشابهة للنص التالي:

    /subscriptions/{subscription-guid}/resourceGroups/myresourcegroup/providers/Microsoft.KeyVault/vaults/mykeyvault
    

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