إنشاء مثيل حساب Azure التعلم الآلي

ينطبق على:ملحق ML Azure CLI v2 (الحالي)Python SDK azure-ai-ml v2 (الحالي)

تعرف على كيفية إنشاء مثيل حساب في مساحة عمل Azure التعلم الآلي.

استخدم مثيل حساب كبيئة تطوير مكونة ومدارة بالكامل في السحابة. للتطوير والاختبار، يمكنك أيضا استخدام المثيل كهدف حساب تدريب. يمكن لمثيل الحساب تشغيل مهام متعددة على التوازي ولديها قائمة انتظار مهام. كبيئة تطوير، لا يمكن مشاركة مثيل الحساب مع مستخدمين آخرين في مساحة العمل الخاصة بك.

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

يمكنك أيضا استخدام برنامج نصي للإعداد لإنشاء مثيل الحساب مع البيئة المخصصة الخاصة بك.

يمكن لمثيلات الحساب تشغيل المهام بأمان في بيئة شبكة ظاهرية، دون مطالبة المؤسسات بفتح منافذ SSH. تنفذ المهمة في بيئة حاويات وتعبأ تبعيات النموذج الخاص بك في حاوية Docker.

إشعار

تستخدم هذه المقالة CLI v2 في بعض الأمثلة. إذا كنت لا تزال تستخدم CLI الإصدار 1، فراجع إنشاء مجموعة حساب Azure Machine Learning CLI الإصدار 1).

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

  • مساحة عمل للتعلم الآلي من Microsoft Azure. لمزيد من المعلومات، راجع إنشاء مساحة عمل التعلم الآلي من Azure. في حساب التخزين، يجب تمكين الخيار "السماح بالوصول إلى مفتاح حساب التخزين" لإنشاء مثيل الحساب ليكون ناجحا.

اختر علامة التبويب للبيئة التي تستخدمها للمتطلبات الأساسية الأخرى.

  • لاستخدام Python SDK، قم بإعداد بيئة التطوير الخاصة بك باستخدام مساحة عمل. بمجرد إعداد بيئتك، قم بالإرفاق بمساحة العمل في البرنامج النصي Python الخاص بك:

    قم بتشغيل هذه التعليمة البرمجية للاتصال بمساحة عمل Azure التعلم الآلي.

    استبدل معرف الاشتراك واسم مجموعة الموارد واسم مساحة العمل في التعليمات البرمجية التالية. للعثور على هذه القيم:

    1. سجل الدخول إلى Azure Machine Learning Studio.
    2. افتح مساحة العمل التي ترغب في استخدامها.
    3. حدد اسم مساحة العمل في شريط أدوات Azure التعلم الآلي studio العلوي الأيسر.
    4. انسخ قيمة مساحة العمل ومجموعة الموارد ومعرف الاشتراك في التعليمات البرمجية.
    5. انسخ قيمة واحدة، وأغلق المنطقة والصقها، ثم عد إلى القيمة التالية عند اللصق في دفتر ملاحظات داخل الاستوديو.

    ينطبق على: Python SDK azure-ai-ml v2 (الحالي)

    # Enter details of your AML workspace
    subscription_id = "<SUBSCRIPTION_ID>"
    resource_group = "<RESOURCE_GROUP>"
    workspace = "<AML_WORKSPACE_NAME>"
    # get a handle to the workspace
    from azure.ai.ml import MLClient
    from azure.identity import DefaultAzureCredential
    
    ml_client = MLClient(
        DefaultAzureCredential(), subscription_id, resource_group, workspace
    )

    ml_client هو معالج لمساحة العمل التي تستخدمها لإدارة الموارد والوظائف الأخرى.

إنشاء

تقدير الوقت: حوالي 5 دقائق.

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

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

أسرع طريقة لإنشاء مثيل حساب هي اتباع إنشاء الموارد التي تحتاجها للبدء.

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

ينطبق على: Python SDK azure-ai-ml v2 (الحالي)

# Compute Instances need to have a unique name across the region.
# Here we create a unique name with current datetime
from azure.ai.ml.entities import ComputeInstance, AmlCompute
import datetime

ci_basic_name = "basic-ci" + datetime.datetime.now().strftime("%Y%m%d%H%M")
ci_basic = ComputeInstance(name=ci_basic_name, size="STANDARD_DS3_v2")
ml_client.begin_create_or_update(ci_basic).result()

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

يمكنك أيضاً إنشاء مثيل حساب باستخدام قالب Azure Resource Manager.

تكوين إيقاف التشغيل الخامل

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

يعتبر مثيل الحساب غير نشط إذا تم استيفاء الشروط التالية:

  • لا توجد جلسات Jupyter Kernel نشطة (والتي تترجم إلى عدم استخدام دفاتر الملاحظات عبر Jupyter أو JupyterLab أو دفاتر الملاحظات التفاعلية)
  • لا توجد جلسات محطة Jupyter نشطة
  • لا توجد تجارب أو عمليات تشغيل أو تجارب نشطة في Azure التعلم الآلي
  • لا توجد اتصالات VS Code؛ يجب إغلاق اتصال VS Code لمثيل الحساب الخاص بك ليتم اعتباره غير نشط. يتم تحديد جلسات العمل تلقائيا إذا لم تكتشف VS Code أي نشاط لمدة 3 ساعات.
  • لا توجد تطبيقات مخصصة قيد التشغيل على الحساب

لن يعتبر مثيل الحساب الخاما إذا كان هناك أي تطبيق مخصص قيد التشغيل. وهناك أيضا بعض الحدود الأساسية حول فترات عدم النشاط الزمنية؛ يجب أن يكون مثيل الحساب غير نشط لمدة لا تقل عن 15 دقيقة وبحد أقصى ثلاثة أيام. كما أننا لا نتعقب اتصالات VS Code SSH لتحديد النشاط.

أيضا، إذا كان مثيل الحساب تعطل بالفعل لفترة معينة من الوقت، إذا تم تحديث إعدادات إيقاف التشغيل الخامل إلى فترة زمنية أقصر من مدة الخمول الحالية، تتم إعادة تعيين ساعة وقت الخمول إلى 0. على سبيل المثال، إذا كان مثيل الحساب تعطل بالفعل لمدة 20 دقيقة، وتم تحديث إعدادات إيقاف التشغيل إلى 15 دقيقة، تتم إعادة تعيين ساعة وقت الخمول إلى 0.

هام

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

يمكن تكوين الإعداد أثناء إنشاء مثيل الحساب أو لمثيلات الحوسبة الموجودة عبر الواجهات التالية:

ينطبق على: Python SDK azure-ai-ml v2 (الحالي)

عند إنشاء مثيل حساب جديد، أضف المعلمة idle_time_before_shutdown_minutes .

# Note that idle_time_before_shutdown has been deprecated.
ComputeInstance(name=ci_basic_name, size="STANDARD_DS3_v2", idle_time_before_shutdown_minutes="30")

لا يمكنك تغيير وقت الخمول لمثيل حساب موجود باستخدام Python SDK.

يمكنك أيضا تغيير وقت الخمول باستخدام:

  • واجهة برمجة تطبيقات REST

    نقطة نهاية:

    POST https://management.azure.com/subscriptions/{SUB_ID}/resourceGroups/{RG_NAME}/providers/Microsoft.MachineLearningServices/workspaces/{WS_NAME}/computes/{CI_NAME}/updateIdleShutdownSetting?api-version=2021-07-01
    

    النص الأساسي:

    {
        "idleTimeBeforeShutdown": "PT30M" // this must be a string in ISO 8601 format
    }
    
  • قوالب ARM: قابلة للتكوين فقط أثناء إنشاء مثيل حساب جديد

    // Note that this is just a snippet for the idle shutdown property in an ARM template
    {
        "idleTimeBeforeShutdown":"PT30M" // this must be a string in ISO 8601 format
    }
    

جدولة البدء والإيقاف التلقائيين

حدد جداول متعددة للإيقاف التلقائي والبدء التلقائي. على سبيل المثال، قم بإنشاء جدول زمني للبدء في الساعة 9 صباحاً والتوقف في الساعة 6 مساءً من الاثنين إلى الخميس، والجدول الثاني للبدء في الساعة 9 صباحاً والتوقف في الساعة 4 مساءً ليوم الجمعة. يمكنك إنشاء ما مجموعه أربعة جداول لكل مثيل حساب.

يمكن أيضاً تحديد الجداول من أجل الإنشاء نيابة عن مثيلات الحساب. يمكنك إنشاء جدول يقوم بإنشاء مثيل الحساب في حال التوقف. تكون مثيلات الحوسبة المتوقفة مفيدة عند إنشاء مثيل حساب نيابة عن مستخدم آخر.

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

إنشاء جدول

ينطبق على: Python SDK azure-ai-ml v2 (الحالي)

from azure.ai.ml.entities import ComputeInstance, ComputeSchedules, ComputeStartStopSchedule, RecurrenceTrigger, RecurrencePattern
from azure.ai.ml.constants import TimeZone
from azure.ai.ml import MLClient
from azure.identity import DefaultAzureCredential

# authenticate
credential = DefaultAzureCredential()

# Get a handle to the workspace
ml_client = MLClient(
    credential=credential,
    subscription_id="<SUBSCRIPTION_ID>",
    resource_group_name="<RESOURCE_GROUP>",
    workspace_name="<AML_WORKSPACE_NAME>",
)

ci_minimal_name = "ci-name"
ci_start_time = "2023-06-21T11:47:00" #specify your start time in the format yyyy-mm-ddThh:mm:ss

rec_trigger = RecurrenceTrigger(start_time=ci_start_time, time_zone=TimeZone.INDIA_STANDARD_TIME, frequency="week", interval=1, schedule=RecurrencePattern(week_days=["Friday"], hours=15, minutes=[30]))
myschedule = ComputeStartStopSchedule(trigger=rec_trigger, action="start")
com_sch = ComputeSchedules(compute_start_stop=[myschedule])

my_compute = ComputeInstance(name=ci_minimal_name, schedules=com_sch)
ml_client.compute.begin_create_or_update(my_compute)

إنشاء جدول زمني باستخدام قالب Resource Manager

يمكنك جدولة البدء والإيقاف التلقائي لمثيل حساب باستخدام قالب إدارة الموارد .

في قالب Resource Manager، أضف:

"schedules": "[parameters('schedules')]"

ثم استخدم تعبيرات cron أو LogicApps لتحديد الجدول الذي يبدأ أو يوقف المثيل في ملف المعلمة:

  "schedules": {
    "value": {
      "computeStartStop": [
        {
          "triggerType": "Cron",
          "cron": {
            "timeZone": "UTC",
            "expression": "0 18 * * *"
          },
          "action": "Stop",
          "status": "Enabled"
        },
        {
          "triggerType": "Cron",
          "cron": {
            "timeZone": "UTC",
            "expression": "0 8 * * *"
          },
          "action": "Start",
          "status": "Enabled"
        },
        {
          "triggerType": "Recurrence",
          "recurrence": {
            "frequency": "Day",
            "interval": 1,
            "timeZone": "UTC",
            "schedule": {
              "hours": [17],
              "minutes": [0]
            }
          },
          "action": "Stop",
          "status": "Enabled"
        }
      ]
    }
  }
  • يمكن أن يكون للإجراء قيمة أو StartStop.

  • بالنسبة لنوع المشغل Recurrence، استخدم نفس بنية التطبيق المنطقي، مع مخطط التكرارهذا.

  • بالنسبة لنوع المشغل cron، استخدم بنية cron القياسية:

    // Crontab expression format: 
    // 
    // * * * * * 
    // - - - - - 
    // | | | | | 
    // | | | | +----- day of week (0 - 6) (Sunday=0) 
    // | | | +------- month (1 - 12) 
    // | | +--------- day of month (1 - 31) 
    // | +----------- hour (0 - 23) 
    // +------------- min (0 - 59) 
    // 
    // Star (*) in the value field above means all legal values as in 
    // braces for that column. The value column can have a * or a list 
    // of elements separated by commas. An element is either a number in 
    // the ranges shown above or two numbers in the range separated by a 
    // hyphen (meaning an inclusive range). 
    

دعم نهج Azure للجدول الافتراضي

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

{
    "mode": "All",
    "policyRule": {
     "if": {
      "allOf": [
       {
        "field": "Microsoft.MachineLearningServices/workspaces/computes/computeType",
        "equals": "ComputeInstance"
       },
       {
        "field": "Microsoft.MachineLearningServices/workspaces/computes/schedules",
        "exists": "false"
       }
      ]
     },
     "then": {
      "effect": "append",
      "details": [
       {
        "field": "Microsoft.MachineLearningServices/workspaces/computes/schedules",
        "value": {
         "computeStartStop": [
          {
           "triggerType": "Cron",
           "cron": {
            "startTime": "2021-03-10T21:21:07",
            "timeZone": "Pacific Standard Time",
            "expression": "0 22 * * *"
           },
           "action": "Stop",
           "status": "Enabled"
          }
         ]
        }
       }
      ]
     }
    }
}

إنشاء نيابة عن

بصفتك مسؤولاً، يمكنك إنشاء مثيل حساب نيابة عن عالم بيانات وتعيين مثيل له باستخدام:

تعيين الهوية المدارة

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

هام

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

استخدم SDK V2 لإنشاء مثيل حساب مع تعيين هوية مدارة معينة من قبل النظام:

from azure.ai.ml import MLClient
from azure.identity import ManagedIdentityCredential
client_id = os.environ.get("DEFAULT_IDENTITY_CLIENT_ID", None)
credential = ManagedIdentityCredential(client_id=client_id)
ml_client = MLClient(credential, sub_id, rg_name, ws_name)
data = ml_client.data.get(name=data_name, version="1")

يمكنك أيضا استخدام SDK V1:

from azureml.core.authentication import MsiAuthentication
from azureml.core import Workspace
client_id = os.environ.get("DEFAULT_IDENTITY_CLIENT_ID", None)
auth = MsiAuthentication(identity_config={"client_id": client_id})
workspace = Workspace.get("chrjia-eastus", auth=auth, subscription_id="381b38e9-9840-4719-a5a0-61d9585e1e91", resource_group="chrjia-rg", location="East US")

بمجرد إنشاء الهوية المدارة، امنح الهوية المدارة على الأقل دور Storage Blob Data Reader على حساب التخزين لمخزن البيانات، راجع الوصول إلى خدمات التخزين. ثم، عند العمل على مثيل الحساب، يتم استخدام الهوية المدارة تلقائيا للمصادقة مقابل مخازن البيانات.

إشعار

سيكون اسم الهوية المدارة للنظام الذي تم إنشاؤه بالتنسيق /workspace-name/computes/compute-instance-name في معرف Microsoft Entra الخاص بك.

يمكنك أيضا استخدام الهوية المدارة يدويا للمصادقة مقابل موارد Azure الأخرى. يوضح المثال التالي كيفية استخدامه للحصول على رمز مميز للوصول إلى Azure Resource Manager:

import requests

def get_access_token_msi(resource):
    client_id = os.environ.get("DEFAULT_IDENTITY_CLIENT_ID", None)
    resp = requests.get(f"{os.environ['MSI_ENDPOINT']}?resource={resource}&clientid={client_id}&api-version=2017-09-01", headers={'Secret': os.environ["MSI_SECRET"]})
    resp.raise_for_status()
    return resp.json()["access_token"]

arm_access_token = get_access_token_msi("https://management.azure.com")

لاستخدام Azure CLI مع الهوية المدارة للمصادقة، حدد معرف عميل الهوية باعتباره اسم المستخدم عند تسجيل الدخول:

az login --identity --username $DEFAULT_IDENTITY_CLIENT_ID

إشعار

لا يمكنك استخدام azcopy عند محاولة استخدام الهوية المدارة. azcopy login --identity لن يعمل.

تفعيل وصول SSH

يتم تعطيل الوصول عبر SSH افتراضيا. لا يمكن تمكين الوصول إلى SSH أو تعطيله بعد الإنشاء. تأكد من تمكين الوصول إذا كنت تخطط لتصحيح الأخطاء بشكل تفاعلي باستخدام VS Code Remote.

بعد تحديد التالي: الإعدادات المتقدمة:

  1. قم بتشغيل تمكين الوصول إلى SSH.
  2. في مصدر المفتاح العام SSH، حدد أحد الخيارات من القائمة المنسدلة:
    • إذا قمت بإنشاء زوج مفاتيح جديد:
      1. أدخل اسما للمفتاح في اسم زوج المفاتيح.
      2. حدد إنشاء.
      3. حدد تنزيل المفتاح الخاص وإنشاء حساب. عادة ما يتم تنزيل المفتاح في مجلد التنزيلات.
    • إذا حددت استخدم المفتاح العام الموجود والمخزن في Azure، فابحث عن المفتاح وحدده في المفتاح المخزَّن.
    • إذا حددت استخدام المفتاح العام الموجود، قدم مفتاح RSA العام بتنسيق أحادي السطر (يبدأ بـ "ssh-rsa") أو تنسيق PEM متعدد الأسطر. يمكنك إنشاء مفاتيح SSH باستخدام ssh-keygen على Linux وOS X أو PuTTYGen على Windows.

إعداد مفتاح SSH لاحقا

على الرغم من أنه لا يمكن تمكين SSH أو تعطيله بعد الإنشاء، فلديك خيار إعداد مفتاح SSH لاحقا على مثيل حساب ممكن ل SSH. يسمح لك هذا بإعداد مفتاح SSH بعد الإنشاء. للقيام بذلك، حدد لتمكين SSH على مثيل الحساب الخاص بك، وحدد "إعداد مفتاح SSH لاحقا" كمصدر مفتاح عام SSH. بعد إنشاء مثيل الحساب، يمكنك زيارة صفحة التفاصيل لمثيل الحساب الخاص بك وتحديد لتحرير مفاتيح SSH. من هناك، يمكنك إضافة مفتاح SSH الخاص بك.

مثال على حالة الاستخدام الشائعة لهذا هو عند إنشاء مثيل حساب نيابة عن مستخدم آخر (راجع إنشاء نيابة عن) عند توفير مثيل حساب نيابة عن مستخدم آخر، يمكنك تمكين SSH لمالك مثيل الحساب الجديد عن طريق تحديد إعداد مفتاح SSH لاحقا. يسمح هذا للمالك الجديد لمثيل الحساب بإعداد مفتاح SSH الخاص به لمثيل الحساب المملوك حديثا بمجرد إنشائه وتعيينه له باتباع الخطوات السابقة.

الاتصال بـ SSH

بعد إنشاء حساب مع تمكين وصول SSH، استخدم هذه الخطوات للوصول.

  1. ابحث عن الحساب في موارد مساحة العمل الخاصة بك:

    1. على اليسار، حدد حساب.
    2. استخدم علامات التبويب في الأعلى لتحديد مثيل الحساب أو نظام مجموعة الحساب للعثور على جهازك.
  2. حدد اسم الحساب في قائمة الموارد.

  3. ابحث عن سلسلة الاتصال:

    • بالنسبة لـ مثيل حساب، حدد اتصال في أعلى قسم التفاصيل.

      لقطة شاشة تعرض أداة الاتصال أعلى صفحة التفاصيل.

    • بالنسبة لـ نظام مجموعة الحساب، حدد العقد في الأعلى، ثم حدد سلسلة الاتصال في جدول العقدة الخاصة بك. لقطة شاشة تعرض سلسلة اتصال لعقدة في نظام مجموعة حساب.

  4. نسخ سلسلة الاتصال.

  5. افتح PowerShell أو نافذة موجه الأوامر:

    1. الانتقال إلى الدليل أو المجلد حيث يتم تخزين المفتاح الخاص بك

    2. أضف علامة -i إلى سلسلة الاتصال لتحديد موقع المفتاح الخاص وقم بالإشارة إلى مكان تخزينه:

      ssh -i <keyname.pem> azureuser@... (rest of connection string)

  6. بالنسبة لمستخدمي Linux، اتبع الخطوات من إنشاء واستخدام زوج مفاتيح SSH لأجهزة Linux الظاهرية في Azure

  7. لاستخدام SCP:

    scp -i key.pem -P {port} {fileToCopyFromLocal } azureuser@yourComputeInstancePublicIP:~/{destination}

  • واجهة برمجة تطبيقات REST

يحتاج عالم البيانات الذي تنشئ مثيل الحساب له إلى أذونات التحكم في الوصول المستند إلى الدور (Azure RBAC):

  • Microsoft.MachineLearningServices/workspaces/computes/start/action
  • Microsoft.MachineLearningServices/workspaces/computes/stop/action
  • Microsoft.MachineLearningServices/workspaces/computes/restart/action
  • Microsoft.MachineLearningServices/workspaces/computes/applicationaccess/action
  • Microsoft.MachineLearningServices/workspaces/computes/updateSchedules/action

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

  • Jupyter
  • JupyterLab
  • RStudio
  • منضدة عمل Posit (المعروف سابقا ب RStudio Workbench)
  • دفاتر متكاملة

إضافة تطبيقات مخصصة مثل RStudio أو Posit Workbench

يمكنك إعداد تطبيقات أخرى، مثل RStudio أو Posit Workbench (المعروف سابقا باسم RStudio Workbench)، عند إنشاء مثيل حساب. اتبع هذه الخطوات في الأستوديو لإعداد تطبيق مخصص على مثيل الحساب الخاص بك

  1. املأ النموذج من أجل إنشاء مثيل حساب جديد
  2. تحديد التطبيقات
  3. حدد إضافة تطبيق

لقطة شاشة توضح إعداد الخدمة المخصصة.

إعداد منضدة عمل Posit (منضدة عمل RStudio سابقا)

يعد RStudio أحد أكثر IDEs شيوعاً بين مطوري R لمشروعات التعلم الآلي وعلوم البيانات. يمكنك بسهولة إعداد منضدة عمل Posit، والتي توفر الوصول إلى RStudio جنبا إلى جنب مع أدوات التطوير الأخرى، للتشغيل على مثيل الحساب الخاص بك، باستخدام ترخيص Posit الخاص بك، والوصول إلى مجموعة الميزات الغنية التي يقدمها Posit Workbench

  1. اتبع الخطوات المذكورة أعلاه من أجل إضافة تطبيق عند إنشاء مثيل الحساب.
  2. حدد Posit Workbench (إحضار الترخيص الخاص بك) في القائمة المنسدلة Application وأدخل مفتاح ترخيص Posit Workbench في حقل مفتاح الترخيص. يمكنك الحصول على ترخيص Posit Workbench أو ترخيص تجريبي من posit.
  3. حدد Create لإضافة تطبيق Posit Workbench إلى مثيل الحساب الخاص بك.

تظهر لقطة الشاشة إعدادات منضدة عمل Posit.

هام

إذا كنت تستخدم مساحة عمل ارتباط خاصة، فتأكد من إمكانية الوصول إلى صورة docker pkg-containers.githubusercontent.com ghcr.io. استخدم أيضًا منفذًا منشورًا في النطاق 8704-8993. بالنسبة ل Posit Workbench (المعروف سابقا ب RStudio Workbench)، تأكد من إمكانية الوصول إلى الترخيص من خلال توفير الوصول إلى الشبكة إلى https://www.wyday.com.

إشعار

  • دعم الوصول إلى مخزن ملفات مساحة العمل من منضدة عمل Posit غير متوفر بعد.
  • عند الوصول إلى مثيلات متعددة من منضدة عمل Posit، إذا رأيت "400 طلب غير صحيح. عنوان الطلب أو ملف تعريف الارتباط كبير جدًا"، استخدم متصفحًا جديدًا أو قم بالوصول من متصفح في وضع التصفح المتخفي.

إعداد RStudio (مصدر مفتوح)

لاستخدام RStudio، قم بإعداد تطبيق مخصص كما يلي:

  1. اتبع الخطوات السابقة لإضافة تطبيق عند إنشاء مثيل الحساب الخاص بك.

  2. حدد Custom Application في القائمة المنسدلة Application .

  3. قم بتكوين اسم التطبيق الذي تريد استخدامه.

  4. قم بإعداد التطبيق ليتم تشغيله على المنفذ الهدف8787 - يجب تشغيل صورة عامل منفذ RStudio مفتوح المصدر المدرجة أدناه على هذا المنفذ الهدف.

  5. قم بإعداد التطبيق ليتم الوصول إليه على المنفذ المنشور8787 - يمكنك تكوين التطبيق ليتم الوصول إليه عبر منفذ منشور مختلف إذا كنت ترغب في ذلك.

  6. قم بتوجيه صورة Docker إلى ghcr.io/azure/rocker-rstudio-ml-verse:latest.

  7. حدد Create لإعداد RStudio كتطبيق مخصص في مثيل الحساب.

لقطة شاشة توضح نموذجاً لإعداد RStudio كتطبيق مخصص

هام

إذا كنت تستخدم مساحة عمل ارتباط خاصة، فتأكد من إمكانية الوصول إلى صورة docker pkg-containers.githubusercontent.com ghcr.io. استخدم أيضًا منفذًا منشورًا في النطاق 8704-8993. بالنسبة ل Posit Workbench (المعروف سابقا ب RStudio Workbench)، تأكد من إمكانية الوصول إلى الترخيص من خلال توفير الوصول إلى الشبكة إلى https://www.wyday.com.

قم بإعداد التطبيقات المخصصة الأخرى

قم بإعداد تطبيقات مخصصة أخرى على مثيل الحساب الخاص بك عن طريق توفير التطبيق على صورة Docker.

  1. اتبع الخطوات السابقة لإضافة تطبيق عند إنشاء مثيل الحساب الخاص بك.
  2. حدد Custom Application في القائمة المنسدلة Application.
  3. قم بتكوين اسم التطبيق، والمنفذ الهدف الذي ترغب في تشغيل التطبيق عليه، والمنفذ المنشور الذي ترغب في الوصول إلى التطبيق عليه وDocker الصورة التي تحتوي على التطبيق الخاص بك. إذا تم تخزين صورتك المخصصة في Azure Container Registry، فعين دور المساهم لمستخدمي التطبيق. للحصول على معلومات حول تعيين الأدوار، راجع إدارة الوصول إلى مساحة عمل Azure التعلم الآلي.
  4. اختياريًا، أضف متغيرات البيئة التي ترغب في استخدامها للتطبيق الخاص بك.
  5. استخدم عمليات تحميل الربط لإضافة حق الوصول إلى الملفات في حساب التخزين الافتراضي:
    • حدد /home/azureuser/cloudfilesلمسار المضيف.
    • حدد /home/azureuser/cloudfilesلمسار الحاوية.
    • حدد Add لإضافة هذا التركيب. نظرا لتحميل الملفات، تتوفر التغييرات التي تجريها عليها في مثيلات وتطبيقات الحوسبة الأخرى.
  6. حدد Create لإعداد التطبيق المخصص على مثيل الحساب.

لقطة شاشة توضح إعدادات التطبيق المخصصة.

هام

إذا كنت تستخدم مساحة عمل ارتباط خاصة، فتأكد من إمكانية الوصول إلى صورة docker pkg-containers.githubusercontent.com ghcr.io. استخدم أيضًا منفذًا منشورًا في النطاق 8704-8993. بالنسبة ل Posit Workbench (المعروف سابقا ب RStudio Workbench)، تأكد من إمكانية الوصول إلى الترخيص من خلال توفير الوصول إلى الشبكة إلى https://www.wyday.com.

الوصول إلى التطبيقات المخصصة في الأستوديو

الوصول إلى التطبيقات المخصصة التي قمت بإعدادها في الأستوديو:

  1. على اليسار، حدد حساب.
  2. في علامة التبويب Compute instance، راجع تطبيقاتك ضمن عمود Applications.

لقطة شاشة توضح وصول الاستوديو للتطبيقات المخصصة الخاصة بك.

إشعار

قد يستغرق الأمر بضع دقائق بعد إعداد تطبيق مخصص حتى تتمكن من الوصول إليه عبر الارتباطات. يعتمد مقدار الوقت المستغرق على حجم الصورة المستخدمة للتطبيق المخصص الخاص بك. إذا رأيت رسالة خطأ 502 عند محاولة الوصول إلى التطبيق، فانتظر بعض الوقت حتى يتم إعداد التطبيق وقم بالمحاولة مرة أخرى. إذا تم سحب الصورة المخصصة من Azure Container Registry، فستحتاج إلى دور مساهم لمساحة العمل. للحصول على معلومات حول تعيين الأدوار، راجع إدارة الوصول إلى مساحة عمل Azure التعلم الآلي.

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