Создание, запуск и удаление ресурсов Машинное обучение Azure с помощью REST

Существует несколько способов управления ресурсами Машинное обучение Azure. Можно использовать портал, интерфейс командной строки или пакет SDK для Python. Кроме того, вы также можете выбрать REST API. REST API обычным образом использует HTTP-команды для создания, извлечения, обновления и удаления ресурсов. REST API работает с любыми языками и инструментами, которые могут выполнять 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"
}

Запишите этот маркер, так как он будет использоваться для аутентификации всех административных запросов. Это можно сделать, задав заголовок Authorization во всех запросах:

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. Каждый поставщик услуг обновляет свой API по собственному расписанию, но делает это без нарушения работы существующих программ. Поставщик услуг использует аргумент api-version для обеспечения совместимости.

Важно!

Аргумент api-version меняется от службы к службе. Например, для Службы машинного обучения текущая версия API — 2023-10-01; Сведения о последней версии API для других служб Azure см. в справочнике по REST API Azure для соответствующей службы.

Все вызовы REST должны задавать для аргумента api-version ожидаемое значение. Вы можете полагаться на синтаксис и семантику указанной версии, даже если API продолжает развиваться. Если вы отправляете поставщику запрос без аргумента 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. Если вы выполните запрос GET этого URL-адреса, то получите ответ примерно следующего вида:

{
  "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 — это URL-адрес сервера, который будет использоваться для дополнительных запросов. Например, чтобы получить список экспериментов, отправьте следующую команду. Замените 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 API разделяется на несколько операционных групп, каждая из которых имеет отдельный путь.

Площадь Путь
Artifacts /rest/api/azureml
Хранилища данных /azure/machine-learning/how-to-access-data
Настройка гиперпараметров hyperdrive/v1.0/
Модели modelmanagement/v1.0/
Выполнения execution/v1.0/ and history/v1.0/

Вы можете исследовать REST API, используя следующий общий шаблон.

Компонент URL-адреса Пример
https://
РЕГИОНАЛЬНЫЙ-СЕРВЕР-API/ centralus.api.azureml.ms/
operations-path/ history/v1.0/
subscriptions/ВАШ-ИДЕНТИФИКАТОР-ПОДПИСКИ/ subscriptions/abcde123-abab-abab-1234-0123456789abc/
resourceGroups/{ваша-группа-ресурсов}/ 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 API поддерживает создание всех ресурсов, необходимых для обучения, развертывания и мониторинга решений машинного обучения.

Для обучения и запуска моделей машинного обучения требуются вычислительные ресурсы. Вы можете получить список ресурсов рабочей области с помощью следующей команды:

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, Azure Key Vault, приложение Azure Аналитика и учетной записи служба хранилища Azure. Невозможно создать рабочую область, пока не будут созданы эти ресурсы. Сведения о создании каждого ресурса см. в справочнике по REST API.

Чтобы создать рабочую область, направьте (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, и в возвращенных заголовках должен быть указан URI Location. Вы можете извлечь (GET) этот URI для получения сведений о развертывании, включая полезные сведения об отладке, если возникла проблема с одним из зависимых ресурсов (например, если вы забыли включить административный доступ в реестре контейнеров).

Создание рабочей области с помощью управляемого удостоверения, назначенного пользователем

При создании рабочей области можно указать назначаемое пользователем управляемое удостоверение, которое будет использоваться для доступа к соответствующим ресурсам: ACR, KeyVault, хранилищу и App Insights. Чтобы создать рабочую область с назначенным пользователем управляемым удостоверением, используйте следующий текст запроса.

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, который обслуживается Майкрософт. Эти данные шифруются с помощью ключей, управляемых Майкрософт. Вместо ключа, управляемого корпорацией Майкрософт, также можно использовать собственный ключ. При этом в подписке Azure будет создан еще один набор ресурсов для хранения данных.

Чтобы создать рабочую область, использующую ключи для шифрования, необходимо выполнить следующие предварительные требования:

  • Субъект-служба машинного обучения Azure должна иметь доступ участника к подписке Azure.
  • Должен существовать хранилище Azure Key Vault с ключом шифрования.
  • Хранилище Azure Key Vault должно размещаться в том же регионе Azure, где вы намерены создать рабочую область машинного обучения 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. Проверьте справочник API, прежде чем переходить к REST API для использования удаления. Например, чтобы удалить модель, можно использовать следующую команду:

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>' 

Устранение неполадок

Ошибки поставщика ресурсов

При создании рабочей области машинного обучения Azure или ресурса, используемого рабочей областью, может появиться сообщение об ошибке, аналогичное приведенному ниже.

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

Многие, но не все поставщики ресурсов регистрируются автоматически. При появлении этого сообщения необходимо зарегистрировать упомянутый поставщик.

В следующей таблице содержится список поставщиков ресурсов, необходимых для Машинного обучения Azure:

Поставщик ресурсов Роль
Microsoft.MachineLearningServices Создание рабочей области машинного обучения Azure.
Microsoft.Storage Учетная запись службы хранилища Azure используется в качестве хранилища данных по умолчанию для рабочей области.
Microsoft.ContainerRegistry Реестр контейнеров Azure используется рабочей областью для создания образов Docker.
Microsoft.KeyVault Azure Key Vault используется рабочей областью для хранения секретов.
Microsoft.Notebooks Интегрированные записные книжки в вычислительном экземпляре машинного обучения Azure.
Microsoft.ContainerService Если вы планируете развертывать обученные модели в службах Azure Kubernetes.

Если вы планируете использовать ключ, управляемый клиентом, для машинного обучения Azure, необходимо зарегистрировать следующих поставщиков услуг:

Поставщик ресурсов Роль
Microsoft.DocumentDB Экземпляр Azure CosmosDB, который регистрирует метаданные для рабочей области.
Microsoft.Search Служба "Поиск Azure" предоставляет возможности индексирования для рабочей области.

Если вы планируете использовать управляемую виртуальную сеть с Машинное обучение Azure, необходимо зарегистрировать поставщика ресурсов Microsoft.Network. Этот поставщик ресурсов используется рабочей областью при создании частных конечных точек для управляемой виртуальной сети.

Сведения о регистрации поставщиков ресурсов см. в статье Устранение ошибок регистрации поставщика ресурсов.

Перемещение рабочей области

Предупреждение

Перемещение рабочей области Машинного обучения Azure в другую подписку или перемещение главной подписки на новый клиент не поддерживается. Это может привести к ошибкам.

Удаление Реестра контейнеров Azure

Для некоторых операций в рабочей области Машинного обучения Azure используется реестр контейнеров Azure (ACR) Он автоматически создает экземпляр ACR при необходимости.

Предупреждение

После создания реестра контейнеров Azure для рабочей области не удаляйте его. В противном случае будет нарушена функциональность рабочей области машинного обучения Azure.

Следующие шаги