Поделиться через


Создание подключений (предварительная версия)

ОБЛАСТЬ ПРИМЕНЕНИЯ:Расширение машинного обучения Azure CLI версии 2 (current)Python SDK azure-ai-ml версии 2 (current)

В этой статье вы узнаете, как подключиться к источникам данных, расположенным за пределами Azure, чтобы сделать эти данные доступными для служб Машинное обучение Azure. Подключения Azure служат прокси-серверами хранилища ключей, а взаимодействие с подключениями — это прямое взаимодействие с хранилищем ключей Azure. Машинное обучение Azure подключения безопасно хранят ресурсы данных имени пользователя и пароля в качестве секретов в хранилище ключей. RBAC хранилища ключей управляет доступом к этим ресурсам данных. Для обеспечения доступности данных поддержка Azure подключения к этим внешним источникам:

  • Snowflake DB
  • Amazon S3
  • Базой данных SQL Azure

Внимание

Эта функция сейчас доступна в виде общедоступной предварительной версии. Эта предварительная версия предоставляется без соглашения об уровне обслуживания. Ее не следует использовать для производственных рабочих нагрузок. Некоторые функции могут не поддерживаться или их возможности могут быть ограничены.

Дополнительные сведения см. в статье Дополнительные условия использования Предварительных версий Microsoft Azure.

Необходимые компоненты

Внимание

Подключение Машинное обучение Azure безопасно сохраняет учетные данные, передаваемые во время создания подключения в 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

Этот ФАЙЛ 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"

Создание подключения к базе данных SQL Azure

Этот скрипт YAML создает подключение к базе данных SQL Azure. Обязательно обновите соответствующие значения:

# 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 и подключению, использующего ключ 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

Создайте подключение к Реестр контейнеров Azure с одним из следующих файлов 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 или Базу данных SQL Azure), дополнительные сведения см. в следующих статьях: