إنشاء اتصالات (معاينة)

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

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

  • Snowflake DB
  • Amazon S3
  • Azure SQL DB

هام

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

لمزيد من المعلومات، راجع ⁧⁩شروط الاستخدام التكميلية لمعاينات Microsoft Azure⁧⁩.

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

هام

يخزن اتصال Azure التعلم الآلي بشكل آمن بيانات الاعتماد التي تم تمريرها أثناء إنشاء الاتصال في Workspace Azure Key Vault. يشير الاتصال إلى بيانات الاعتماد من موقع تخزين مخزن المفاتيح لمزيد من الاستخدام. لن تحتاج إلى التعامل مباشرة مع بيانات الاعتماد بعد تخزينها في مخزن المفاتيح. لديك خيار تخزين بيانات الاعتماد في ملف YAML. يمكن لأمر CLI أو SDK تجاوزها. نوصي بتجنب تخزين بيانات الاعتماد في ملف YAML، لأن خرق الأمان قد يؤدي إلى تسرب بيانات الاعتماد.

إشعار

لاستيراد البيانات بنجاح، يرجى التحقق من تثبيت أحدث حزمة azure-ai-ml (الإصدار 1.5.0 أو أحدث) ل SDK، وملحق ml (الإصدار 2.15.1 أو أحدث).

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

إصدارات التعليمات البرمجية

az extension remove -n ml
az extension add -n ml --yes
az extension show -n ml #(the version value needs to be 2.15.1 or later)

إنشاء اتصال Snowflake DB

ينشئ ملف YAML هذا اتصال Snowflake DB. تأكد من تحديث القيم المناسبة:

# my_snowflakedb_connection.yaml
$schema: http://azureml/sdk-2-0/Connection.json
type: snowflake
name: my-sf-db-connection # add your datastore name here

target: jdbc:snowflake://<myaccount>.snowflakecomputing.com/?db=<mydb>&warehouse=<mywarehouse>&role=<myrole>
# add the Snowflake account, database, warehouse name and role name here. If no role name provided it will default to PUBLIC
credentials:
    type: username_password
    username: <username> # add the Snowflake database user name here or leave this blank and type in CLI command line
    password: <password> # add the Snowflake database password here or leave this blank and type in CLI command line

إنشاء اتصال Azure التعلم الآلي في CLI:

الخيار 1: استخدام اسم المستخدم وكلمة المرور في ملف YAML

az ml connection create --file my_snowflakedb_connection.yaml

الخيار 2: تجاوز اسم المستخدم وكلمة المرور في سطر الأوامر

az ml connection create --file my_snowflakedb_connection.yaml --set credentials.username="XXXXX" credentials.password="XXXXX"

إنشاء اتصال Azure SQL DB

ينشئ هذا البرنامج النصي YAML اتصال Azure SQL DB. تأكد من تحديث القيم المناسبة:

# my_sqldb_connection.yaml
$schema: http://azureml/sdk-2-0/Connection.json

type: azure_sql_db
name: my-sqldb-connection

target: Server=tcp:<myservername>,<port>;Database=<mydatabase>;Trusted_Connection=False;Encrypt=True;Connection Timeout=30
# add the sql servername, port addresss and database
credentials:
    type: sql_auth
    username: <username> # add the sql database user name here or leave this blank and type in CLI command line
    password: <password> # add the sql database password here or leave this blank and type in CLI command line

إنشاء اتصال Azure التعلم الآلي في CLI:

الخيار 1: استخدام اسم المستخدم / كلمة المرور من ملف YAML

az ml connection create --file my_sqldb_connection.yaml

الخيار 2: تجاوز اسم المستخدم وكلمة المرور في ملف YAML

az ml connection create --file my_sqldb_connection.yaml --set credentials.username="XXXXX" credentials.password="XXXXX"

إنشاء اتصال Amazon S3

إنشاء اتصال Amazon S3 مع ملف YAML التالي. تأكد من تحديث القيم المناسبة:

# my_s3_connection.yaml
$schema: http://azureml/sdk-2-0/Connection.json

type: s3
name: my_s3_connection

target: <mybucket> # add the s3 bucket details
credentials:
    type: access_key
    access_key_id: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX # add access key id
    secret_access_key: XxXxXxXXXXXXXxXxXxxXxxXXXXXXXXxXxxXXxXXXXXXXxxxXxXXxXXXXXxXXxXXXxXxXxxxXXxXXxXXXXXxXxxXX # add access key secret

إنشاء اتصال Azure التعلم الآلي في CLI:

az ml connection create --file my_s3_connection.yaml

الاتصالات غير المتعلقة بالبيانات

يمكن استخدام أنواع الاتصال التالية للاتصال ب Git وموجز Python وAzure Container Registry واتصال يستخدم مفتاح API. هذه الاتصالات ليست اتصالات بيانات، ولكنها تستخدم للاتصال بالخدمات الخارجية لاستخدامها في التعليمات البرمجية الخاصة بك.

Git

إنشاء اتصال Git بأحد ملفات YAML التالية. تأكد من تحديث القيم المناسبة:

  • الاتصال باستخدام رمز مميز للوصول الشخصي (PAT):

    #Connection.yml
    name: test_ws_conn_git_pat
    type: git
    target: https://github.com/contoso/contosorepo
    credentials:
        type: pat
        pat: dummy_pat
    
  • الاتصال إلى مستودع عام (لا توجد بيانات اعتماد):

    #Connection.yml
    
    name: git_no_cred_conn
    type: git
    target: https://https://github.com/contoso/contosorepo
    
    

إنشاء اتصال Azure التعلم الآلي في CLI:

az ml connection create --file connection.yaml

موجز Python

إنشاء اتصال بموجز Python بأحد ملفات YAML التالية. تأكد من تحديث القيم المناسبة:

  • الاتصال باستخدام رمز مميز للوصول الشخصي (PAT):

    #Connection.yml
    name: test_ws_conn_python_pat
    type: python_feed
    target: https://test-feed.com
    credentials:
        type: pat
        pat: dummy_pat
    
  • الاتصال باستخدام اسم مستخدم وكلمة مرور:

    name: test_ws_conn_python_user_pass
    type: python_feed
    target: https://test-feed.com
    credentials:
        type: username_password
        username: john
        password: pass
    
    
  • الاتصال إلى موجز عام (لا توجد بيانات اعتماد):

    name: test_ws_conn_python_no_cred
    type: python_feed
    target: https://test-feed.com3
    

إنشاء اتصال Azure التعلم الآلي في CLI:

az ml connection create --file connection.yaml

Azure Container Registry

إنشاء اتصال ب Azure Container Registry بأحد ملفات YAML التالية. تأكد من تحديث القيم المناسبة:

  • الاتصال باستخدام مصادقة معرف Microsoft Entra:

    name: test_ws_conn_cr_managed
    type: container_registry
    target: https://test-feed.com
    credentials:
        type: managed_identity
        client_id: client_id
        resource_id: resource_id
    
  • الاتصال باستخدام اسم مستخدم وكلمة مرور:

    name: test_ws_conn_cr_user_pass
    type: container_registry
    target: https://test-feed.com2
    credentials:
        type: username_password
        username: contoso
        password: pass
    

إنشاء اتصال Azure التعلم الآلي في CLI:

az ml connection create --file connection.yaml

مفتاح API

ينشئ المثال التالي اتصال مفتاح API:

from azure.ai.ml.entities import WorkspaceConnection
from azure.ai.ml.entities import UsernamePasswordConfiguration, ApiKeyConfiguration


name = "my_api_key"

target = "https://XXXXXXXXX.core.windows.net/mycontainer"

wps_connection = WorkspaceConnection(
    name=name,
    type="apikey",
    target=target,
    credentials=ApiKeyConfiguration(key="XXXXXXXXX"),    
)
ml_client.connections.create_or_update(workspace_connection=wps_connection)

إذا كنت تستخدم اتصال بيانات (Snowflake DB أو Amazon S3 أو Azure SQL DB)، فشاهد هذه المقالات لمزيد من المعلومات: